class Prospectus::ItemDSL

DSL for wrapping eval of item files

Public Class Methods

new(item, params) click to toggle source
# File lib/prospectus/item.rb, line 50
def initialize(item, params)
  @item = item
  @options = params
end

Public Instance Methods

actual(&block) click to toggle source
# File lib/prospectus/item.rb, line 67
def actual(&block)
  state(:@actual, &block)
end
deps(&block) click to toggle source
# File lib/prospectus/item.rb, line 71
def deps(&block)
  dsl = ListDSL.new(@item.list, @options)
  dsl.instance_eval(&block)
end
expected(&block) click to toggle source
# File lib/prospectus/item.rb, line 63
def expected(&block)
  state(:@expected, &block)
end
name(value) click to toggle source
# File lib/prospectus/item.rb, line 55
def name(value)
  @item.instance_variable_set(:@name, value)
end
noop() click to toggle source
# File lib/prospectus/item.rb, line 59
def noop
  @item.noop
end

Private Instance Methods

state(name, &block) click to toggle source
# File lib/prospectus/item.rb, line 78
def state(name, &block)
  state = Prospectus::State.from_block(@options, &block)
  @item.instance_variable_set(name, state)
rescue => e # rubocop:disable Style/RescueStandardError
  raise("Failed to set #{name} state for #{@item.name}: #{e.message}")
end