Module: SexyScopes

Defined in:
lib/sexy_scopes.rb,
lib/sexy_scopes/arel.rb,
lib/sexy_scopes/railtie.rb,
lib/sexy_scopes/version.rb,
lib/sexy_scopes/arel/math.rb,
lib/sexy_scopes/arel/typecasting.rb,
lib/sexy_scopes/arel/predications.rb,
lib/sexy_scopes/arel/predicate_methods.rb,
lib/sexy_scopes/arel/expression_methods.rb,
lib/sexy_scopes/arel/nodes/regexp_matches.rb,
lib/sexy_scopes/active_record/class_methods.rb,
lib/sexy_scopes/active_record/query_methods.rb,
lib/sexy_scopes/active_record/dynamic_methods.rb

Defined Under Namespace

Modules: ActiveRecord, Arel, Version Classes: Railtie

Constant Summary collapse

VERSION =
Version::STRING

Class Method Summary collapse

Class Method Details

.arel_6?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/sexy_scopes.rb', line 16

def arel_6?
  @arel_6 ||= ::Arel::VERSION >= '6.0.0'
end

.extend_expression(expression) ⇒ Object



8
9
10
# File 'lib/sexy_scopes.rb', line 8

def extend_expression(expression)
  expression.extend(Arel::ExpressionMethods)
end

.extend_predicate(predicate) ⇒ Object



12
13
14
# File 'lib/sexy_scopes.rb', line 12

def extend_predicate(predicate)
  predicate.extend(Arel::PredicateMethods)
end

.quote(node, attribute = nil) ⇒ Object Also known as: type_cast



20
21
22
23
24
25
26
# File 'lib/sexy_scopes.rb', line 20

def quote(node, attribute = nil)
  if arel_6?
    ::Arel::Nodes.build_quoted(node, attribute)
  else
    node
  end
end