Module: JPie::Controller::ParameterParsing

Included in:
JPie::Controller
Defined in:
lib/jpie/controller/parameter_parsing.rb

Instance Method Summary collapse

Instance Method Details

#contextObject



30
31
32
# File 'lib/jpie/controller/parameter_parsing.rb', line 30

def context
  @context ||= build_context
end

#deserialize_paramsObject



24
25
26
27
28
# File 'lib/jpie/controller/parameter_parsing.rb', line 24

def deserialize_params
  deserializer.deserialize(request.body.read, context)
rescue JSON::ParserError => e
  raise JPie::Errors::BadRequestError.new(detail: "Invalid JSON: #{e.message}")
end

#parse_include_paramsObject



6
7
8
# File 'lib/jpie/controller/parameter_parsing.rb', line 6

def parse_include_params
  params[:include]&.split(',')&.map(&:strip) || []
end

#parse_pagination_paramsObject



14
15
16
17
18
19
20
21
22
# File 'lib/jpie/controller/parameter_parsing.rb', line 14

def parse_pagination_params
  page_params = params[:page] || {}
  per_page_param = params[:per_page]

  {
    page: extract_page_number(page_params, per_page_param),
    per_page: extract_per_page_size(page_params, per_page_param)
  }
end

#parse_sort_paramsObject



10
11
12
# File 'lib/jpie/controller/parameter_parsing.rb', line 10

def parse_sort_params
  params[:sort]&.split(',')&.map(&:strip) || []
end