module Isomorfeus::Puppetmaster

Attributes

app[RW]
download_path[W]
server_host[W]
server_port[RW]
server_scheme[W]
session[RW]

Public Class Methods

block_source_code(&block) click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 11
def block_source_code(&block)
  source_block = Parser::CurrentRuby.parse(block.source).children.last
  source_block = source_block.children.last if source_block.type == :block
  Unparser.unparse(source_block)
end
boot_app() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 7
def boot_app
  @served_app = Isomorfeus::Puppetmaster::Server.new(app, port: server_port, host: server_host).boot
end
download_path() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 42
def download_path
  @download_path ||= Dir.pwd
end
driver() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 17
def driver
  @driver ||= :chromium
end
driver=(drvr) click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 21
def driver=(drvr)
  raise "#{drvr}: no such driver registered! Available drivers: #{drivers.keys.join(', ')}." unless drivers.has_key?(drvr)
  @driver = drvr
end
drivers() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 26
def drivers
  @drivers ||= {}
end
opal_prelude() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 30
def opal_prelude
  @opal_prelude ||= build_opal_prelude
end
register_driver(name, &block) click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 34
def register_driver(name, &block)
  drivers[name.to_sym] = block
end
register_server(name, &block) click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 38
def register_server(name, &block)
  servers[name.to_sym] = block
end
served_app() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 46
def served_app
  @served_app ||= boot_app
end
server() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 50
def server
  @server ||= :iodine
end
server=(name) click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 54
def server=(name)
  raise "#{name}: no such server registered! Available drivers: #{servers.keys.join(', ')}." unless servers.has_key?(name)
  name, options = *name if name.is_a? Array
  @server = if name.respond_to? :call
              name
            elsif options
              proc { |app, port, host| servers[name.to_sym].call(app, port, host, options) }
            else
              servers[name.to_sym]
            end
end
server_host() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 66
def server_host
  @server_host ||= '127.0.0.1'
end
server_scheme() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 70
def server_scheme
  @server_scheme ||= 'http'
end
servers() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 74
def servers
  @servers ||= {}
end

Private Class Methods

build_opal_prelude() click to toggle source
# File lib/isomorfeus/puppetmaster.rb, line 80
def build_opal_prelude
  Opal::Builder.new.build_str("require 'opal'\n", 'puppetmaster_opal_prelude').to_s
end