class KayakoClient::KnowledgebaseArticle

Constants

CREATOR_STAFF
CREATOR_USER
STATUS_DRAFT
STATUS_PENDINGAPPROVAL
STATUS_PUBLISHED

Public Class Methods

all(*args) click to toggle source
Calls superclass method
# File lib/kayako_client/knowledgebase_article.rb, line 100
def self.all(*args)
    options = args.last.is_a?(Hash) ? args.pop : {}
    if args.size > 0
        if args.size <= 3
            e = path + '/ListAll/' + args.collect { |arg| arg.to_i }.join('/')
            options.merge!(:e => e)
        else
            raise ArgumentError, "too many arguments"
        end
    end
    super(options)
end

Public Instance Methods

categories() click to toggle source
# File lib/kayako_client/knowledgebase_article.rb, line 82
def categories
    if @associated.has_key?(:category_ids)
        @associated[:category_ids]
    elsif instance_variable_defined?(:@category_ids)
        category_ids = instance_variable_get(:@category_ids)
        if category_ids.is_a?(Array)
            @associated[:category_ids] = category_ids.inject([]) do |array, i|
                array << KnowledgebaseCategory.get(i.to_i, inherited_options) unless i.to_i == 0
                array
            end
        else
            @associated[:category_ids] = nil
        end
    else
        @associated[:category_ids] = nil
    end
end
in_category?(category) click to toggle source
# File lib/kayako_client/knowledgebase_article.rb, line 74
def in_category?(category)
    category.respond_to?(:to_i) && !category_ids.nil? && category_ids.include?(category.to_i)
end
in_root_category?() click to toggle source
# File lib/kayako_client/knowledgebase_article.rb, line 70
def in_root_category?
    !category_ids.nil? && category_ids.include?(0)
end

Private Instance Methods

assign_value(type, value, options = {}) click to toggle source
Calls superclass method KayakoClient::Object#assign_value
# File lib/kayako_client/knowledgebase_article.rb, line 123
def assign_value(type, value, options = {})
    if type == :object && value.is_a?(Hash) && options[:class] == KnowledgebaseAttachment
        value[:kb_article_id] = kb_article_id unless value.has_key?(:kbarticleid)
    end
    super(type, value, options)
end
validate(method, params) click to toggle source
# File lib/kayako_client/knowledgebase_article.rb, line 115
def validate(method, params)
    if method == :put
        unless changes.include?(:edited_staff_id) && params[:edited_staff_id].to_i > 0
            raise ArgumentError, ":edited_staff_id is required"
        end
    end
end