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