Module: Unitwise::Expression

Defined in:
lib/unitwise/expression.rb,
lib/unitwise/expression/parser.rb,
lib/unitwise/expression/matcher.rb,
lib/unitwise/expression/composer.rb,
lib/unitwise/expression/decomposer.rb,
lib/unitwise/expression/transformer.rb

Defined Under Namespace

Classes: Composer, Decomposer, Matcher, Parser, Transformer

Class Method Summary collapse

Class Method Details

.compose(terms) ⇒ Object



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

def compose(terms)
  Composer.new(terms).expression
end

.decompose(expression) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/unitwise/expression.rb', line 16

def decompose(expression)
  expression = expression.to_s
  @decompose ||= {}
  if @decompose.has_key?(expression)
    @decompose[expression]
  else
    @decompose[expression] = begin
      Decomposer.new(expression).terms
    rescue ExpressionError
      nil
    end
  end
end