Sha256: 3f7a10c6090767bbc0a02292b36f5e5ba1d2fec59fe6379dbe4438bf7a2da446
Contents?: true
Size: 725 Bytes
Versions: 2
Compression:
Stored size: 725 Bytes
Contents
class Operator OPERATORS = {} def self.factory!(operator_symbol) operator(operator_symbol)[:class_name] end def self.precedence!(operator_symbol) operator(operator_symbol)[:precedence] end def self.operator(operator_symbol) fail "Unregistered operator: #{operator_symbol}" unless exists?(operator_symbol) OPERATORS[operator_symbol] end def self.exists?(operator_symbol) OPERATORS.key?(operator_symbol) end def self.register(operator_symbol, class_name, precedence) OPERATORS[operator_symbol] = { class_name: class_name, precedence: precedence } end def to_sql raise NotImplementedError end def evaluate(attributes = {}) raise NotImplementedError end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lamep-0.2.1 | lib/lamep/Expressions/operator.rb |
lamep-0.2 | lib/lamep/Expressions/operator.rb |