Class: Getto::Params::Search

Inherits:
Object
  • Object
show all
Defined in:
lib/getto/params/search.rb

Defined Under Namespace

Classes: Page, Query, Sort, Worker

Instance Method Summary collapse

Constructor Details

#initialize(page:, limit:, sort:, query:) ⇒ Search

Returns a new instance of Search.



4
5
6
7
8
# File 'lib/getto/params/search.rb', line 4

def initialize(page:, limit:, sort:, query:)
  @page = Page.new(page: page, limit: limit)
  @sort = Sort.new(sort: sort)
  @query = Query.new(query: query)
end

Instance Method Details

#to_h {|worker| ... } ⇒ Object

Yields:

  • (worker)


10
11
12
13
14
15
16
17
18
19
20
# File 'lib/getto/params/search.rb', line 10

def to_h
  worker = Worker.new
  yield worker

  @page.to_h
    .merge(sort: @sort.to_h(sort: worker.instance_variable_get(:@sort)))
    .merge(query: @query.to_h(
      convert: worker.instance_variable_get(:@convert),
      check:   worker.instance_variable_get(:@check),
    ))
end