class Prospectus::Item

Define item objects that defined expected vs actual state

Attributes

list[R]

Public Class Methods

new(params = {}) click to toggle source
# File lib/prospectus/item.rb, line 9
def initialize(params = {})
  @options = params
  @list = List.new(params)
  @dir = Dir.pwd
end

Public Instance Methods

actual() click to toggle source
# File lib/prospectus/item.rb, line 38
def actual
  @actual || raise("No actual state was loaded for #{name}")
end
expected() click to toggle source
# File lib/prospectus/item.rb, line 34
def expected
  @expected || raise("No expected state was loaded for #{name}")
end
name() click to toggle source
# File lib/prospectus/item.rb, line 15
def name
  return @name if @name
  @name = File.basename @dir
  @name << "::#{File.basename @options[:file]}" if @options[:suffix_file]
  @name
end
noop() click to toggle source
# File lib/prospectus/item.rb, line 27
def noop
  x = State.new
  x.value = 'noop'
  @expected = x
  @actual = x
end
prefix(value) click to toggle source
# File lib/prospectus/item.rb, line 22
def prefix(value)
  raise('Name not set for sub-item') unless @name
  @name = value + '::' + @name
end
to_json(_ = {}) click to toggle source
# File lib/prospectus/item.rb, line 42
def to_json(_ = {})
  { name: name, expected: expected.value, actual: actual.value }.to_json
end