Sha256: 08225ddfc760d23d152fc32e1b4605c6dcf551180d5066375c795d6408dbb355
Contents?: true
Size: 1.16 KB
Versions: 39
Compression:
Stored size: 1.16 KB
Contents
module Alula module Video class BaseResource < Alula::ApiResource extend Alula::ResourceAttributes class << self def api_name(name = nil) if name @api_name = name elsif @api_name @api_name else superclass.api_name end end # Infer resource name from classname if not provided def resource_name(name = nil) if name @resource_name = name elsif @resource_name @resource_name else @resource_name = self.name.split('::').last.downcase.to_sym end end def resource_url(id = nil) "/#{api_name}/v1/#{resource_name}/#{id}" end end api_name :video def construct_from(json_object) @raw_data = json_object.dup @values = json_object self.id = json_object['id'] unless [nil, ''].include?(json_object['id']) @dirty_attributes = Set.new @errors = ModelErrors.new(self.class) @related_models = {} cache_links(json_object['relationships'] || {}) self end end end end
Version data entries
39 entries across 39 versions & 1 rubygems