Module: Alf::Compiler::Cog
Instance Attribute Summary collapse
-
#compiler ⇒ Object
readonly
Returns the value of attribute compiler.
-
#expr ⇒ Object
readonly
Returns the value of attribute expr.
Instance Method Summary collapse
- #cog_orders ⇒ Object
- #initialize(expr, compiler) ⇒ Object
- #orderedby?(order) ⇒ Boolean
- #relation_type ⇒ Object
- #to_ascii_tree ⇒ Object
- #to_cog ⇒ Object
- #to_relation ⇒ Object
Instance Attribute Details
#compiler ⇒ Object (readonly)
Returns the value of attribute compiler.
11 12 13 |
# File 'lib/alf/compiler/cog.rb', line 11 def compiler @compiler end |
#expr ⇒ Object (readonly)
Returns the value of attribute expr.
10 11 12 |
# File 'lib/alf/compiler/cog.rb', line 10 def expr @expr end |
Instance Method Details
#cog_orders ⇒ Object
17 18 19 |
# File 'lib/alf/compiler/cog.rb', line 17 def cog_orders [] end |
#initialize(expr, compiler) ⇒ Object
6 7 8 9 |
# File 'lib/alf/compiler/cog.rb', line 6 def initialize(expr, compiler) @expr = expr @compiler = compiler end |
#orderedby?(order) ⇒ Boolean
21 22 23 |
# File 'lib/alf/compiler/cog.rb', line 21 def orderedby?(order) cog_orders.any?{|o| order <= o } end |
#relation_type ⇒ Object
33 34 35 |
# File 'lib/alf/compiler/cog.rb', line 33 def relation_type @relation_type ||= Relation[heading] end |
#to_ascii_tree ⇒ Object
29 30 31 |
# File 'lib/alf/compiler/cog.rb', line 29 def to_ascii_tree Support::Tree.new(self).to_text end |
#to_cog ⇒ Object
25 26 27 |
# File 'lib/alf/compiler/cog.rb', line 25 def to_cog self end |
#to_relation ⇒ Object
37 38 39 40 41 42 |
# File 'lib/alf/compiler/cog.rb', line 37 def to_relation raise NotSupportedError unless expr relation_type.new(each) rescue NotSupportedError Relation.coerce(each) end |