Module: JsonApi::Parameters::Handlers
- Includes:
- DefaultHandlers
- Defined in:
- lib/jsonapi_parameters/handlers.rb,
lib/jsonapi_parameters/default_handlers/base_handler.rb,
lib/jsonapi_parameters/default_handlers/nil_relation_handler.rb,
lib/jsonapi_parameters/default_handlers/to_one_relation_handler.rb,
lib/jsonapi_parameters/default_handlers/to_many_relation_handler.rb
Defined Under Namespace
Modules: DefaultHandlers
Constant Summary collapse
- DEFAULT_HANDLER_SET =
{ to_many: ToManyRelationHandler, to_one: ToOneRelationHandler, nil: NilRelationHandler }.freeze
Class Method Summary collapse
- .add_handler(handler_name, klass) ⇒ Object
- .handlers ⇒ Object
- .reset_handlers! ⇒ Object
- .resource_handlers ⇒ Object
- .set_resource_handler(resource_key, handler_key) ⇒ Object
Class Method Details
.add_handler(handler_name, klass) ⇒ Object
18 19 20 |
# File 'lib/jsonapi_parameters/handlers.rb', line 18 def add_handler(handler_name, klass) handlers[handler_name.to_sym] = klass end |
.handlers ⇒ Object
41 42 43 |
# File 'lib/jsonapi_parameters/handlers.rb', line 41 def handlers @handlers ||= DEFAULT_HANDLER_SET.dup end |
.reset_handlers! ⇒ Object
32 33 34 35 |
# File 'lib/jsonapi_parameters/handlers.rb', line 32 def reset_handlers! @handlers = DEFAULT_HANDLER_SET.dup @resource_handlers = {} end |
.resource_handlers ⇒ Object
37 38 39 |
# File 'lib/jsonapi_parameters/handlers.rb', line 37 def resource_handlers @resource_handlers ||= {} end |
.set_resource_handler(resource_key, handler_key) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/jsonapi_parameters/handlers.rb', line 22 def set_resource_handler(resource_key, handler_key) unless handlers.key?(handler_key) raise NotImplementedError.new( 'handler_key does not match any registered handlers' ) end resource_handlers[resource_key.to_sym] = handler_key.to_sym end |