Class: JSONAPI::Consumer::Query::Base
- Inherits:
-
Object
- Object
- JSONAPI::Consumer::Query::Base
- Defined in:
- lib/jsonapi/consumer/query/base.rb
Class Attribute Summary collapse
-
.request_method ⇒ Object
Returns the value of attribute request_method.
Instance Attribute Summary collapse
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Instance Method Summary collapse
- #build_params(args) ⇒ Object
-
#initialize(klass, payload) ⇒ Base
constructor
A new instance of Base.
- #inspect ⇒ Object
- #request_method ⇒ Object
Constructor Details
#initialize(klass, payload) ⇒ Base
Returns a new instance of Base.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/jsonapi/consumer/query/base.rb', line 8 def initialize(klass, payload) @klass = klass build_params(payload) if payload.is_a?(Hash) && payload.keys != [klass.primary_key] @path = begin if payload.is_a?(Hash) && payload.has_key?(klass.primary_key) [klass.path, payload.delete(klass.primary_key)].join('/') else klass.path end end end |
Class Attribute Details
.request_method ⇒ Object
Returns the value of attribute request_method.
4 5 6 |
# File 'lib/jsonapi/consumer/query/base.rb', line 4 def request_method @request_method end |
Instance Attribute Details
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
6 7 8 |
# File 'lib/jsonapi/consumer/query/base.rb', line 6 def headers @headers end |
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
6 7 8 |
# File 'lib/jsonapi/consumer/query/base.rb', line 6 def klass @klass end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
6 7 8 |
# File 'lib/jsonapi/consumer/query/base.rb', line 6 def params @params end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
6 7 8 |
# File 'lib/jsonapi/consumer/query/base.rb', line 6 def path @path end |
Instance Method Details
#build_params(args) ⇒ Object
21 22 23 |
# File 'lib/jsonapi/consumer/query/base.rb', line 21 def build_params(args) @params = args.dup end |
#inspect ⇒ Object
29 30 31 |
# File 'lib/jsonapi/consumer/query/base.rb', line 29 def inspect "#{self.class.name}: method: #{request_method}; path: #{path}; params: #{params}, headers: #{headers}" end |
#request_method ⇒ Object
25 26 27 |
# File 'lib/jsonapi/consumer/query/base.rb', line 25 def request_method self.class.request_method end |