class Mumukit::Runner

Attributes

name[R]
runtime[R]

Public Class Methods

configure_defaults() { |default_config| ... } click to toggle source
# File lib/mumukit/runner.rb, line 66
def self.configure_defaults
  @default_config ||= OpenStruct.new
  yield @default_config
end
default_config() click to toggle source
# File lib/mumukit/runner.rb, line 62
def self.default_config
  @default_config
end
new(name) click to toggle source
# File lib/mumukit/runner.rb, line 5
def initialize(name)
  @name = name
end

Public Instance Methods

config() click to toggle source
# File lib/mumukit/runner.rb, line 24
def config
  @config or raise 'This runner has not being configured yet'
end
configure() { |config| ... } click to toggle source
# File lib/mumukit/runner.rb, line 9
def configure
  @config ||= self.class.default_config.clone
  yield @config
end
configure_runtime(config) click to toggle source
# File lib/mumukit/runner.rb, line 20
def configure_runtime(config)
  @runtime = Mumukit::Runtime.new(config)
end
directives_pipeline() click to toggle source
# File lib/mumukit/runner.rb, line 32
def directives_pipeline
  @pipeline ||= new_directives_pipeline
end
new_directives_pipeline() click to toggle source
# File lib/mumukit/runner.rb, line 36
def new_directives_pipeline
  if config.preprocessor_enabled
    Mumukit::Directives::Pipeline.new(
        [new_sections_directive,
         new_interpolations_directive('test'),
         new_interpolations_directive('extra'),
         new_interpolations_directive('content'),
         new_flags_directive],
        config.comment_type)
  else
    Mumukit::Directives::NullPipeline
  end
end
new_flags_directive() click to toggle source
# File lib/mumukit/runner.rb, line 58
def new_flags_directive
  Mumukit::Directives::Flags.new
end
new_interpolations_directive(key) click to toggle source
# File lib/mumukit/runner.rb, line 50
def new_interpolations_directive(key)
  Mumukit::Directives::Interpolations.new(key)
end
new_sections_directive() click to toggle source
# File lib/mumukit/runner.rb, line 54
def new_sections_directive
  Mumukit::Directives::Sections.new nest_sections: Mumukit.config.multifile
end
prefix() click to toggle source
# File lib/mumukit/runner.rb, line 28
def prefix
  name.camelize
end
reconfigure(&block) click to toggle source
# File lib/mumukit/runner.rb, line 14
def reconfigure(&block)
  @config = nil
  @pipeline = nil
  configure &block
end