Class: JSONAPI::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/jsonapi/configuration.rb', line 28

def initialize
  #:underscored_key, :camelized_key, :dasherized_key, or custom
  self.json_key_format = :dasherized_key

  #:underscored_route, :camelized_route, :dasherized_route, or custom
  self.route_format = :dasherized_route

  #:basic, :active_record, or custom
  self.operations_processor = :active_record

  #:integer, :uuid, :string, or custom (provide a proc)
  self.resource_key_type = :integer

  # optional request features
  self.allow_include = true
  self.allow_sort = true
  self.allow_filter = true

  self.raise_if_parameters_not_allowed = true

  # :none, :offset, :paged, or a custom paginator name
  self.default_paginator = :none

  # Output pagination links at top level
  self.top_level_links_include_pagination = true

  self.default_page_size = 10
  self.maximum_page_size = 20

  # Metadata
  # Output record count in top level meta for find operation
  self.top_level_meta_include_record_count = false
  self.top_level_meta_record_count_key = :record_count

  self.use_text_errors = false

  # List of classes that should not be rescued by the operations processor.
  # For example, if you use Pundit for authorization, you might
  # raise a Pundit::NotAuthorizedError at some point during operations
  # processing. If you want to use Rails' `rescue_from` macro to
  # catch this error and render a 403 status code, you should add
  # the `Pundit::NotAuthorizedError` to the `exception_class_whitelist`.
  self.exception_class_whitelist = []

  # Resource Linkage
  # Controls the serialization of resource linkage for non compound documents
  # NOTE: always_include_to_many_linkage_data is not currently implemented
  self.always_include_to_one_linkage_data = false
  self.always_include_to_many_linkage_data = false
end

Instance Attribute Details

#allow_filterObject

Returns the value of attribute allow_filter.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def allow_filter
  @allow_filter
end

#allow_includeObject

Returns the value of attribute allow_include.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def allow_include
  @allow_include
end

#allow_sortObject

Returns the value of attribute allow_sort.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def allow_sort
  @allow_sort
end

#always_include_to_many_linkage_dataObject

Returns the value of attribute always_include_to_many_linkage_data.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def always_include_to_many_linkage_data
  @always_include_to_many_linkage_data
end

#always_include_to_one_linkage_dataObject

Returns the value of attribute always_include_to_one_linkage_data.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def always_include_to_one_linkage_data
  @always_include_to_one_linkage_data
end

#default_page_sizeObject

Returns the value of attribute default_page_size.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def default_page_size
  @default_page_size
end

#default_paginatorObject

Returns the value of attribute default_paginator.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def default_paginator
  @default_paginator
end

#exception_class_whitelistObject

Returns the value of attribute exception_class_whitelist.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def exception_class_whitelist
  @exception_class_whitelist
end

#json_key_formatObject

Returns the value of attribute json_key_format.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def json_key_format
  @json_key_format
end

#key_formatterObject (readonly)

Returns the value of attribute key_formatter.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def key_formatter
  @key_formatter
end

#maximum_page_sizeObject

Returns the value of attribute maximum_page_size.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def maximum_page_size
  @maximum_page_size
end

#operations_processorObject

Returns the value of attribute operations_processor.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def operations_processor
  @operations_processor
end

#raise_if_parameters_not_allowedObject

Returns the value of attribute raise_if_parameters_not_allowed.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def raise_if_parameters_not_allowed
  @raise_if_parameters_not_allowed
end

#resource_key_typeObject

Returns the value of attribute resource_key_type.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def resource_key_type
  @resource_key_type
end

#route_formatObject

Returns the value of attribute route_format.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def route_format
  @route_format
end

#route_formatterObject (readonly)

Returns the value of attribute route_formatter.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def route_formatter
  @route_formatter
end

Returns the value of attribute top_level_links_include_pagination.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def top_level_links_include_pagination
  @top_level_links_include_pagination
end

#top_level_meta_include_record_countObject

Returns the value of attribute top_level_meta_include_record_count.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def top_level_meta_include_record_count
  @top_level_meta_include_record_count
end

#top_level_meta_record_count_keyObject

Returns the value of attribute top_level_meta_record_count_key.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def top_level_meta_record_count_key
  @top_level_meta_record_count_key
end

#use_text_errorsObject

Returns the value of attribute use_text_errors.



7
8
9
# File 'lib/jsonapi/configuration.rb', line 7

def use_text_errors
  @use_text_errors
end