Module: ActiveAny::Relation::QueryMethods

Extended by:
ActiveSupport::Concern
Included in:
ActiveAny::Relation
Defined in:
lib/active_any/relation/query_methods.rb

Overview

rubocop:disable Metrics/ModuleLength

Instance Method Summary collapse

Instance Method Details

#get_value(name) ⇒ Object



31
32
33
# File 'lib/active_any/relation/query_methods.rb', line 31

def get_value(name)
  @values[name] || default_value_for(name)
end

#group(*args) ⇒ Object



65
66
67
# File 'lib/active_any/relation/query_methods.rb', line 65

def group(*args)
  spawn.group!(*args)
end

#group!(*args) ⇒ Object



83
84
85
86
87
88
# File 'lib/active_any/relation/query_methods.rb', line 83

def group!(*args)
  args.flatten!

  self.group_values += args
  self
end

#includes(*args) ⇒ Object



97
98
99
# File 'lib/active_any/relation/query_methods.rb', line 97

def includes(*args)
  spawn.includes!(*args)
end

#includes!(*args) ⇒ Object



101
102
103
104
105
106
107
# File 'lib/active_any/relation/query_methods.rb', line 101

def includes!(*args)
  args.reject!(&:blank?)
  args.flatten!

  self.includes_values |= args
  self
end

#limit(value) ⇒ Object



44
45
46
# File 'lib/active_any/relation/query_methods.rb', line 44

def limit(value)
  spawn.limit!(value)
end

#limit!(value) ⇒ Object



73
74
75
76
# File 'lib/active_any/relation/query_methods.rb', line 73

def limit!(value)
  self.limit_value = value
  self
end

#order(*args) ⇒ Object



69
70
71
# File 'lib/active_any/relation/query_methods.rb', line 69

def order(*args)
  spawn.order!(*args)
end

#order!(*args) ⇒ Object



90
91
92
93
94
95
# File 'lib/active_any/relation/query_methods.rb', line 90

def order!(*args)
  args.flatten!

  self.order_clause += OrderClause.new(args)
  self
end

#reverse_orderObject



56
57
58
# File 'lib/active_any/relation/query_methods.rb', line 56

def reverse_order
  spawn.reverse_order!
end

#reverse_order!Object



60
61
62
63
# File 'lib/active_any/relation/query_methods.rb', line 60

def reverse_order!
  self.order_clause = order_clause.reverse!
  self
end

#set_value(name, value) ⇒ Object



35
36
37
38
# File 'lib/active_any/relation/query_methods.rb', line 35

def set_value(name, value)
  assert_mutability!
  @values[name] = value
end

#take(limit = nil) ⇒ Object



52
53
54
# File 'lib/active_any/relation/query_methods.rb', line 52

def take(limit = nil)
  limit ? find_take_with_limit(limit) : find_take
end

#valuesObject



40
41
42
# File 'lib/active_any/relation/query_methods.rb', line 40

def values
  @values.dup
end

#where(condition) ⇒ Object



48
49
50
# File 'lib/active_any/relation/query_methods.rb', line 48

def where(condition)
  spawn.where!(condition)
end

#where!(condition) ⇒ Object



78
79
80
81
# File 'lib/active_any/relation/query_methods.rb', line 78

def where!(condition)
  self.where_clause += WhereClause.new(condition)
  self
end