class JSONAPIHelpers::Configuration

Constants

KEY_TRANSFORMS

Attributes

deserializer_klass[W]
key_transform[R]
params_klass[W]

Public Class Methods

new() click to toggle source
# File lib/jsonapi_helpers.rb, line 41
def initialize
  @key_transform = :unaltered
  @deserializer_klass = nil
  @params_klass = nil
end

Public Instance Methods

deserializer_klass() click to toggle source
# File lib/jsonapi_helpers.rb, line 54
def deserializer_klass
  @deserializer_klass || fail('deserializer_klass must be set, e.g: ActiveModelSerializers::Deserialization') # rubocop:disable Metrics/LineLength
end
key_transform=(key_transform) click to toggle source
# File lib/jsonapi_helpers.rb, line 47
def key_transform=(key_transform)
  type = key_transform.to_sym
  unknown_key_transform!(type) unless KEY_TRANSFORMS.include?(type)

  @key_transform = type
end
params_klass() click to toggle source
# File lib/jsonapi_helpers.rb, line 58
def params_klass
  @params_klass || fail('params_klass must be set, e.g: ActionController::Parameters')
end

Private Instance Methods

unknown_key_transform!(type) click to toggle source
# File lib/jsonapi_helpers.rb, line 64
def unknown_key_transform!(type)
  types = KEY_TRANSFORMS.join(', ')
  fail(ArgumentError, "Unknown key transform type '#{type}', known types: #{types}")
end