Module: ActiveHouse::Querying::Limit

Extended by:
ActiveSupport::Concern
Included in:
ActiveHouse::QueryBuilder
Defined in:
lib/active_house/querying/limit.rb

Instance Method Summary collapse

Instance Method Details

#build_limit_query_partObject



10
11
12
13
14
15
16
17
# File 'lib/active_house/querying/limit.rb', line 10

def build_limit_query_part
  return if values[:limit].nil?

  parts = ["LIMIT #{values[:limit]}"]
  parts << "OFFSET #{values[:offset]}" if values[:offset] && values[:offset] != 0
  parts << "BY #{values[:limit_by]}" if values[:limit_by]
  parts.join(' ')
end

#initial_valuesObject



19
20
21
# File 'lib/active_house/querying/limit.rb', line 19

def initial_values
  super.merge offset: nil, limit: nil, limit_by: nil
end

#limit(limit_value, offset_value = nil, limit_by = nil) ⇒ Object



30
31
32
# File 'lib/active_house/querying/limit.rb', line 30

def limit(limit_value, offset_value = nil, limit_by = nil)
  dup.limit!(limit_value, offset_value, limit_by)
end

#limit!(limit_value, offset_value = nil, limit_by = nil) ⇒ Object



23
24
25
26
27
28
# File 'lib/active_house/querying/limit.rb', line 23

def limit!(limit_value, offset_value = nil, limit_by = nil)
  values[:limit] = limit_value
  values[:offset] = offset_value unless offset_value.nil?
  values[:limit_by] = limit_by unless limit_by.nil?
  self
end