Module: Huebot::Compiler

Defined in:
lib/huebot/compiler.rb,
lib/huebot/compiler/api_v1.rb

Defined Under Namespace

Classes: ApiV1

Constant Summary collapse

Error =
Class.new(Error)

Class Method Summary collapse

Class Method Details

.build(src) ⇒ Huebot::Program

Build a huebot program from an intermediate representation (a Hash).

Parameters:

Returns:



13
14
15
16
17
18
19
20
21
# File 'lib/huebot/compiler.rb', line 13

def self.build(src)
  compiler_class =
    case src.api_version
    when 1.0 then ApiV1
    else raise Error, "Unknown API version '#{src.api_version}'"
    end
  compiler = compiler_class.new(src.api_version)
  compiler.build(src.tokens, src.default_name)
end