Sha256: ab4a35435df23031d759b426fa7fd34e50cce2f72d9deb0ecb49b0a19b271324

Contents?: true

Size: 895 Bytes

Versions: 11

Compression:

Stored size: 895 Bytes

Contents

#encoding: utf-8

module Nudge
  class CliRunner
    attr_accessor :filename
    attr_accessor :raw_code
    attr_accessor :nudge_program
    attr_accessor :interpreter
    attr_accessor :options
    attr_accessor :result
    
    
    def initialize(filename, options={})
      @filename = filename
      @nudge_program = NudgeProgram.new("")
      @options = options
      @interpreter = Interpreter.new("",@options)
    end
    
    
    def setup(options = {})
      @raw_code = IO.open(@filename)
      @interpreter.reset(@raw_code)
      options[:variables].each {|name, val| @interpreter.bind_variable(name, val)} if options[:variables]
      options[:sensors].each {|name, block| @interpreter.register_sensor(name, &block)} if options[:sensors]
    end
    
    
    def run
      return @interpreter.run
    end
  end
  
  
  class CliParser
    
    def initialize
    end
  end
  
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
nudge-0.2.9 lib/cli/runner.rb
nudge-0.2.8 lib/cli/runner.rb
nudge-0.2.7 lib/cli/runner.rb
nudge-0.2.6 lib/cli/runner.rb
nudge-0.2.5 lib/cli/runner.rb
nudge-0.2.4 lib/cli/runner.rb
nudge-0.2.3 lib/cli/runner.rb
nudge-0.2.2 lib/cli/runner.rb
nudge-0.2.1 lib/cli/runner.rb
nudge-0.2.0 lib/cli/runner.rb
nudge-0.1.3 lib/cli/runner.rb