class Freshdesk::Base
Attributes
apikey[RW]
domain[RW]
Public Class Methods
new(attrs = {})
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 8 def initialize(attrs = {}) @attrs = attrs.dup @attrs.each do |key,value| self.instance_variable_set("@#{key}".to_sym, value) end end
Public Instance Methods
all(options = {})
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 20 def all(options = {}) items = [] link = nil page = options[:page] || 1 per_page = options[:per_page] || 100 begin response = client.get("/#{resource_name}", options.merge(:page => page, :per_page => per_page)) link = response.headers['link'] response.parsed_response.map { |source| items.push(self.class.new(source)) } if response.success? page += 1 end until link.nil? items end
connected?()
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 15 def connected? response = client.get("tickets") response.success? end
create(options = {},body = {})
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 35 def create(options = {},body = {}) response = client.post("/#{resource_name}", options, body) self.class.new(response) if response.success? end
delete(id)
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 49 def delete(id) response = client.delete("/#{resource_name}/#{id}") response.success? end
delete_all()
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 54 def delete_all all.each {|s| delete(s.id) } end
find(id, options = {})
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 40 def find(id, options = {}) response = client.get("/#{resource_name}/#{id}", options) self.class.new(response) if response.success? end
update(id, options = {})
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 45 def update(id, options = {}) client.class.put("/#{resource_name}/#{id}", {}, options) end
Private Instance Methods
client()
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 65 def client @client ||= Util::Client.new(@attrs) end
resource_name()
click to toggle source
# File lib/freshdesk/api/v2/base.rb, line 60 def resource_name class_name = self.class.name.split("::") class_name.last(class_name.size-1).join('/').downcase end