class Tim::ImageFactory::Base
Public Class Methods
callback_url()
click to toggle source
# File lib/image_factory/model/base.rb, line 16 def callback_url @callback_url end
callback_url=(url)
click to toggle source
Add Callback URL for listening to callback requests
# File lib/image_factory/model/base.rb, line 12 def callback_url=(url) @callback_url = URI.parse(url) end
collection_path(prefix_options = {}, query_options = nil)
click to toggle source
Remove format from the url for collections
# File lib/image_factory/model/base.rb, line 27 def collection_path(prefix_options = {}, query_options = nil) prefix_options, query_options = split_options(prefix_options) if query_options.nil? "#{prefix(prefix_options)}#{collection_name}#{query_string(query_options)}" end
config()
click to toggle source
This approach does mean you're limited to one server at a time
# File lib/image_factory/model/base.rb, line 54 def config defined?(@@config) ? @@config : {} end
config=(conf={})
click to toggle source
# File lib/image_factory/model/base.rb, line 57 def config=(conf={}) @@config = conf self.site = @@config[:site] end
custom_method_collection_url(method_name, options = {})
click to toggle source
Modifying the url formations to make them Factory compliant
# File lib/image_factory/model/base.rb, line 81 def self.custom_method_collection_url(method_name, options = {}) prefix_options, query_options = split_options(options) url = "#{prefix(prefix_options)}#{collection_name}/#{method_name}#{query_string(query_options)}" url end
element_path(id, prefix_options = {}, query_options = nil)
click to toggle source
Remove format from the url for resources
# File lib/image_factory/model/base.rb, line 21 def element_path(id, prefix_options = {}, query_options = nil) prefix_options, query_options = split_options(prefix_options) if query_options.nil? "#{prefix(prefix_options)}#{collection_name}/#{id}#{query_string(query_options)}" end
get(method_name, options = {})
click to toggle source
The objects returned from this method are not automatically converted into ActiveResource instances - they are ordinary Hashes. Modifications below ensures that you get ActiveResource instances.
# File lib/image_factory/model/base.rb, line 44 def get(method_name, options = {}) object_array = connection.get(custom_method_collection_url(method_name, options), headers) if object_array.class.to_s=="Array" object_array.collect! {|record| self.class.new.load(record)} else self.class.new.load(object_array) end end
instantiate_collection(collection, prefix_options = {})
click to toggle source
For a collection call, ActiveResource formatting is not compliant with Factory's output.
# File lib/image_factory/model/base.rb, line 34 def instantiate_collection(collection, prefix_options = {}) unless collection.kind_of? Array [instantiate_record(collection, prefix_options)] else collection.collect! { |record| instantiate_record(record, prefix_options) } end end
use_oauth?()
click to toggle source
Should we use OAuth?
# File lib/image_factory/model/base.rb, line 63 def use_oauth? config[:consumer_key] && config[:consumer_secret] && config[:site] end
Public Instance Methods
custom_method_element_url(method_name, options = {})
click to toggle source
Modifying the url formations to make them Factory compliant
# File lib/image_factory/model/base.rb, line 75 def custom_method_element_url(method_name, options = {}) "#{self.class.prefix(prefix_options)}#{self.class.collection_name}/#{id}/" + "#{method_name}#{self.class.send!(:query_string, options)}" end
get(method_name, options = {})
click to toggle source
Instance Methods: (modifying the ActiveRecord::CustomMethods). This modification is same as defined in above method
# File lib/image_factory/model/base.rb, line 70 def get(method_name, options = {}) self.class.new.load(connection.get(custom_method_element_url(method_name, options), self.class.headers)) end