Class: Noiseless::ResponseFactory
- Inherits:
-
Object
- Object
- Noiseless::ResponseFactory
- Defined in:
- lib/noiseless/response_factory.rb
Class Method Summary collapse
- .create(raw_response, model_class: nil, response_type: nil, query_hash: nil) ⇒ Object
- .detect_response_type(model_class) ⇒ Object
Class Method Details
.create(raw_response, model_class: nil, response_type: nil, query_hash: nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/noiseless/response_factory.rb', line 5 def self.create(raw_response, model_class: nil, response_type: nil, query_hash: nil) # Auto-detect response type based on model class and preferences response_type ||= detect_response_type(model_class) response = case response_type when :records Response::Records.new(raw_response, model_class) else # :results or unknown Response::Results.new(raw_response, model_class) end # Include pagination information if query hash is provided response.include_pagination_info(query_hash) if query_hash response end |
.detect_response_type(model_class) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/noiseless/response_factory.rb', line 22 def self.detect_response_type(model_class) # If model_class responds to ActiveRecord-like methods, default to :records if model_class.respond_to?(:where) && model_class.respond_to?(:find) :records else :results end end |