Module: JPie::Controller::ParameterParsing
- Included in:
- JPie::Controller
- Defined in:
- lib/jpie/controller/parameter_parsing.rb
Instance Method Summary collapse
- #context ⇒ Object
- #deserialize_params ⇒ Object
- #parse_include_params ⇒ Object
- #parse_pagination_params ⇒ Object
- #parse_sort_params ⇒ Object
Instance Method Details
#context ⇒ Object
30 31 32 |
# File 'lib/jpie/controller/parameter_parsing.rb', line 30 def context @context ||= build_context end |
#deserialize_params ⇒ Object
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.}") end |
#parse_include_params ⇒ Object
6 7 8 |
# File 'lib/jpie/controller/parameter_parsing.rb', line 6 def parse_include_params params[:include]&.split(',')&.map(&:strip) || [] end |
#parse_pagination_params ⇒ Object
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_params ⇒ Object
10 11 12 |
# File 'lib/jpie/controller/parameter_parsing.rb', line 10 def parse_sort_params params[:sort]&.split(',')&.map(&:strip) || [] end |