Class: Prospectus::ItemDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/prospectus/item.rb

Overview

DSL for wrapping eval of item files

Instance Method Summary collapse

Constructor Details

#initialize(item, params) ⇒ ItemDSL

Returns a new instance of ItemDSL.



37
38
39
40
# File 'lib/prospectus/item.rb', line 37

def initialize(item, params)
  @item = item
  @options = params
end

Instance Method Details

#actual(&block) ⇒ Object



50
51
52
# File 'lib/prospectus/item.rb', line 50

def actual(&block)
  state(:@actual, &block)
end

#deps(&block) ⇒ Object



54
55
56
57
58
59
60
# File 'lib/prospectus/item.rb', line 54

def deps(&block)
  dsl = ListDSL.new(@item.list, @options)
  dsl.instance_eval(&block)
  @item.list.items.each do |dep|
    dep.instance_variable_set(:@name, "#{@item.name}::#{dep.name}")
  end
end

#expected(&block) ⇒ Object



46
47
48
# File 'lib/prospectus/item.rb', line 46

def expected(&block)
  state(:@expected, &block)
end

#name(value) ⇒ Object



42
43
44
# File 'lib/prospectus/item.rb', line 42

def name(value)
  @item.instance_variable_set(:@name, value)
end