Module: GoodData::LCM2::Dsl::Dsl

Included in:
BaseAction, Type::BaseType
Defined in:
lib/gooddata/lcm/dsl/dsl.rb

Constant Summary collapse

DEFAULT_OPTS =
{
  required: false,
  default: nil
}
PARAMS =
{}
TYPES =
{}

Instance Method Summary collapse

Instance Method Details

#define_params(klass, &block) ⇒ Object



33
34
35
# File 'lib/gooddata/lcm/dsl/dsl.rb', line 33

def define_params(klass, &block)
  PARAMS[klass] = process(klass, GoodData::LCM2::Dsl::ParamsDsl, 'PARAMS', &block)
end

#define_type(klass, &block) ⇒ Object



37
38
39
# File 'lib/gooddata/lcm/dsl/dsl.rb', line 37

def define_type(klass, &block)
  TYPES[klass] = process(klass, GoodData::LCM2::Dsl::TypeDsl, 'TYPE', &block)
end

#process(_klass, type, _caption, &block) ⇒ Object



26
27
28
29
30
31
# File 'lib/gooddata/lcm/dsl/dsl.rb', line 26

def process(_klass, type, _caption, &block)
  dsl = type.new
  dsl.instance_eval(&block)

  dsl.params
end