module GiantBombApi::Resource
Public Class Methods
extended(base)
click to toggle source
# File lib/giant_bomb_api/resource.rb, line 4 def self.extended(base) base.instance_variable_set("@resource_attributes", {}) base.include ResourceValueSetter base.class_eval do resource_attribute :id, :api_detail_url, :date_added, :date_last_updated end end
Public Instance Methods
find(id, params = {})
click to toggle source
# File lib/giant_bomb_api/resource.rb, line 20 def find(id, params = {}) GiantBombApi.client.send_request(Request::Detail.new(resource_name, id, params)) end
resource_attribute(*attributes, resource_name: nil)
click to toggle source
# File lib/giant_bomb_api/resource.rb, line 24 def resource_attribute(*attributes, resource_name: nil) attributes.each do |attribute_name| instance_variable_get("@resource_attributes")[attribute_name] = resource_name class_eval do attr_accessor attribute_name end end end
resource_name(resource_name = nil)
click to toggle source
# File lib/giant_bomb_api/resource.rb, line 13 def resource_name(resource_name = nil) if resource_name.present? self.instance_variable_set("@resource_name", resource_name) end self.instance_variable_get("@resource_name") || self.name.split('::').last.underscore end