Class: SharkOnLambda::JsonapiParameters

Inherits:
Object
  • Object
show all
Defined in:
lib/shark_on_lambda/jsonapi_parameters.rb

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ JsonapiParameters

Returns a new instance of JsonapiParameters.



5
6
7
8
9
10
11
# File 'lib/shark_on_lambda/jsonapi_parameters.rb', line 5

def initialize(params = {})
  @class = default_serializer_classes
  @fields = HashWithIndifferentAccess.new
  @include = []

  parse_params(params) if params.present?
end

Instance Method Details

#classes(serializer_classes = {}) ⇒ Object



13
14
15
# File 'lib/shark_on_lambda/jsonapi_parameters.rb', line 13

def classes(serializer_classes = {})
  @class = default_serializer_classes.merge(serializer_classes)
end

#fields(serialized_fields = {}) ⇒ Object



17
18
19
# File 'lib/shark_on_lambda/jsonapi_parameters.rb', line 17

def fields(serialized_fields = {})
  @fields = serialized_fields.with_indifferent_access
end

#includes(*includes_list) ⇒ Object



21
22
23
# File 'lib/shark_on_lambda/jsonapi_parameters.rb', line 21

def includes(*includes_list)
  @include = includes_list
end

#to_hObject Also known as: to_hash



25
26
27
28
29
30
31
# File 'lib/shark_on_lambda/jsonapi_parameters.rb', line 25

def to_h
  {
    class: @class,
    fields: @fields,
    include: @include
  }
end