Module: JSONAPI::Rails::Controller::Hooks

Included in:
JSONAPI::Rails::Controller
Defined in:
lib/jsonapi/rails/controller/hooks.rb

Overview

Hooks for customizing rendering default options at controller-level.

Instance Method Summary collapse

Instance Method Details

#jsonapi_cache#fetch_multi

Hook for default cache.

Returns:

  • (#fetch_multi)


39
40
41
# File 'lib/jsonapi/rails/controller/hooks.rb', line 39

def jsonapi_cache
  instance_exec(&JSONAPI::Rails.config[:jsonapi_cache])
end

#jsonapi_classHash{Symbol=>Class}

Hook for serializable class mapping (for resources). Overridden by the ‘class` renderer option.

Returns:

  • (Hash{Symbol=>Class})


13
14
15
# File 'lib/jsonapi/rails/controller/hooks.rb', line 13

def jsonapi_class
  JSONAPI::Rails.config[:jsonapi_class].dup
end

#jsonapi_errors_classHash{Symbol=>Class}

Hook for serializable class mapping (for errors). Overridden by the ‘class` renderer option.

Returns:

  • (Hash{Symbol=>Class})


20
21
22
# File 'lib/jsonapi/rails/controller/hooks.rb', line 20

def jsonapi_errors_class
  JSONAPI::Rails.config[:jsonapi_errors_class].dup
end

#jsonapi_exposeHash

Hook for default exposures.

Returns:

  • (Hash)


33
34
35
# File 'lib/jsonapi/rails/controller/hooks.rb', line 33

def jsonapi_expose
  instance_exec(&JSONAPI::Rails.config[:jsonapi_expose])
end

#jsonapi_fieldsHash{Symbol=>Array<Symbol>}?

Hook for default fields.

Returns:

  • (Hash{Symbol=>Array<Symbol>}, nil)


45
46
47
# File 'lib/jsonapi/rails/controller/hooks.rb', line 45

def jsonapi_fields
  instance_exec(&JSONAPI::Rails.config[:jsonapi_fields])
end

#jsonapi_includeIncludeDirective

Hook for default includes.

Returns:

  • (IncludeDirective)


51
52
53
# File 'lib/jsonapi/rails/controller/hooks.rb', line 51

def jsonapi_include
  instance_exec(&JSONAPI::Rails.config[:jsonapi_include])
end

Hook for default links.

Returns:

  • (Hash)


57
58
59
# File 'lib/jsonapi/rails/controller/hooks.rb', line 57

def jsonapi_links
  instance_exec(&JSONAPI::Rails.config[:jsonapi_links])
end

#jsonapi_metaHash?

Hook for default meta.

Returns:

  • (Hash, nil)


63
64
65
# File 'lib/jsonapi/rails/controller/hooks.rb', line 63

def jsonapi_meta
  instance_exec(&JSONAPI::Rails.config[:jsonapi_meta])
end

#jsonapi_objectHash?

Hook for the jsonapi object. Overridden by the ‘jsonapi_object` renderer option.

Returns:

  • (Hash, nil)


27
28
29
# File 'lib/jsonapi/rails/controller/hooks.rb', line 27

def jsonapi_object
  JSONAPI::Rails.config[:jsonapi_object]
end

#jsonapi_pagination(resources) ⇒ Hash

Hook for pagination scheme.

Returns:

  • (Hash)


69
70
71
# File 'lib/jsonapi/rails/controller/hooks.rb', line 69

def jsonapi_pagination(resources)
  instance_exec(resources, &JSONAPI::Rails.config[:jsonapi_pagination])
end