class ActiveVlc::DSL::Base

Public Class Methods

new(context) click to toggle source
# File lib/activevlc/dsl/base.rb, line 14
def initialize(context)
  @context = context
end

Public Instance Methods

method_missing(sym, *args, &block) click to toggle source
# File lib/activevlc/dsl/base.rb, line 18
def method_missing(sym, *args, &block)
  __option(normalize_option(sym), args.first, &block)
end
p(name, value = nil)
Alias for: param
param(name, value = nil) click to toggle source
# File lib/activevlc/dsl/base.rb, line 22
def param(name, value = nil)
  if @context.parameters.has_param? name
    @context.parameters[name]
  else
    @context.parameters[name] = ActiveVlc::Parameter.new(name, value)
  end
end
Also aliased as: p

Protected Instance Methods

__option(name, value, &block) click to toggle source
# File lib/activevlc/dsl/base.rb, line 34
def __option(name, value, &block)
  if block_given?
    subcontext = ActiveVlc::Stage::Base.new(value)
    Base.new(subcontext).instance_eval &block
    @context[name] = subcontext
  else
    @context[name] = value
  end
end
normalize_option(name) click to toggle source
# File lib/activevlc/dsl/base.rb, line 32
def normalize_option(name) name.to_s.downcase.gsub('_', '-') end