Module: Braque::Model::ClassMethods
- Includes:
- Collection, Relations
- 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
Methods included from Relations
Instance Method Details
#client ⇒ Object
112 113 114 115 116 117 118 119 |
# File 'lib/braque/model.rb', line 112 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
104 105 106 |
# File 'lib/braque/model.rb', line 104 def collection_method_name name.tableize end |
#create(resource_params = {}, options = {}) ⇒ Object
94 95 96 97 98 99 100 101 102 |
# File 'lib/braque/model.rb', line 94 def create(resource_params = {}, = {}) response = client.method(collection_method_name) .call ._post( { "#{instance_method_name}" => resource_params } .merge() ) new response end |
#find(options = {}) ⇒ Object
89 90 91 92 |
# File 'lib/braque/model.rb', line 89 def find( = {}) response = client.method(instance_method_name).call() new response end |
#instance_method_name ⇒ Object
108 109 110 |
# File 'lib/braque/model.rb', line 108 def instance_method_name collection_method_name.singularize end |
#list(options = {}) ⇒ Object
83 84 85 86 87 |
# File 'lib/braque/model.rb', line 83 def list( = {}) = Hash[.map { |k, v| [CGI.escape(k.to_s), v] }] response = client.method(collection_method_name).call() LinkedArray.new response, self end |