Module: JSONAPI::Routing

Defined in:
lib/json_api/routing.rb

Instance Method Summary collapse

Instance Method Details

#build_jsonapi_defaults(defaults, resource_name, namespace) ⇒ Object



17
18
19
# File 'lib/json_api/routing.rb', line 17

def build_jsonapi_defaults(defaults, resource_name, namespace)
  defaults.merge(format: :jsonapi, resource_type: resource_name, jsonapi_namespace: namespace)
end

#jsonapi_resources(resource, controller: nil, defaults: {}, sti: false, **options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/json_api/routing.rb', line 5

def jsonapi_resources(resource, controller: nil, defaults: {}, sti: false, **options, &)
  resource_name = resource.to_s
  namespace = extract_namespace_from_scope
  controller ||= detect_controller(resource_name, namespace)
  defaults = build_jsonapi_defaults(defaults, resource_name, namespace)
  options[:only] = :index if sti

  JSONAPI::ResourceLoader.find(resource_name, namespace:)
  define_resource_routes(resource, controller, defaults, options, &)
  define_sti_routes(resource, resource_name, defaults, sti, namespace)
end