Module: Braque::Model::ClassMethods
- Includes:
- Collection
- Defined in:
- lib/braque/model.rb
Instance Method Summary collapse
- #client ⇒ Object
- #collection_method_name ⇒ Object
- #create(resource_params = {}, options = {}) ⇒ Object
- #find(options = {}) ⇒ Object
- #instance_method_name ⇒ Object
- #list(options = {}) ⇒ Object
Instance Method Details
#client ⇒ Object
111 112 113 114 115 116 117 118 |
# File 'lib/braque/model.rb', line 111 def client fail 'Please define api_root for all Braque::Model classes' unless config[:api_root_url] Hyperclient.new(config[:api_root_url]) do |client| client.headers['Http-Authorization'] = config[:http_authorization_header] if config[:http_authorization_header] client.headers['Authorization'] = config[:authorization_header] if config[:authorization_header] client.headers['Accept'] = config[:accept_header] if config[:accept_header] end end |
#collection_method_name ⇒ Object
103 104 105 |
# File 'lib/braque/model.rb', line 103 def collection_method_name name.tableize end |
#create(resource_params = {}, options = {}) ⇒ Object
93 94 95 96 97 98 99 100 101 |
# File 'lib/braque/model.rb', line 93 def create(resource_params = {}, = {}) response = client.method(collection_method_name) .call ._post( { "#{instance_method_name}" => resource_params } .merge() ) new response end |
#find(options = {}) ⇒ Object
88 89 90 91 |
# File 'lib/braque/model.rb', line 88 def find( = {}) response = client.method(instance_method_name).call() new response end |
#instance_method_name ⇒ Object
107 108 109 |
# File 'lib/braque/model.rb', line 107 def instance_method_name collection_method_name.singularize end |
#list(options = {}) ⇒ Object
82 83 84 85 86 |
# File 'lib/braque/model.rb', line 82 def list( = {}) = Hash[.map { |k, v| [CGI.escape(k.to_s), v] }] response = client.method(collection_method_name).call() LinkedArray.new response, self end |