Class: Operator
- Inherits:
-
Object
show all
- Defined in:
- lib/lamep/Expressions/operator.rb
Constant Summary
collapse
- OPERATORS =
{}
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.exists?(operator_symbol) ⇒ Boolean
18
19
20
|
# File 'lib/lamep/Expressions/operator.rb', line 18
def self.exists?(operator_symbol)
OPERATORS.key?(operator_symbol)
end
|
.factory!(operator_symbol) ⇒ Object
5
6
7
|
# File 'lib/lamep/Expressions/operator.rb', line 5
def self.factory!(operator_symbol)
operator(operator_symbol)[:class_name]
end
|
.operator(operator_symbol) ⇒ Object
13
14
15
16
|
# File 'lib/lamep/Expressions/operator.rb', line 13
def self.operator(operator_symbol)
fail "Unregistered operator: #{operator_symbol}" unless exists?(operator_symbol)
OPERATORS[operator_symbol]
end
|
.precedence!(operator_symbol) ⇒ Object
9
10
11
|
# File 'lib/lamep/Expressions/operator.rb', line 9
def self.precedence!(operator_symbol)
operator(operator_symbol)[:precedence]
end
|
.register(operator_symbol, class_name, precedence) ⇒ Object
22
23
24
|
# File 'lib/lamep/Expressions/operator.rb', line 22
def self.register(operator_symbol, class_name, precedence)
OPERATORS[operator_symbol] = { class_name: class_name, precedence: precedence }
end
|
Instance Method Details
#to_sql ⇒ Object
26
27
28
|
# File 'lib/lamep/Expressions/operator.rb', line 26
def to_sql
raise NotImplementedError
end
|