Class: Remi::BusinessRules::DataField

Inherits:
Object
  • Object
show all
Defined in:
lib/remi/cucumber/business_rules.rb

Instance Method Summary collapse

Constructor Details

#initialize(subject, field_name) ⇒ DataField

Returns a new instance of DataField.



401
402
403
404
# File 'lib/remi/cucumber/business_rules.rb', line 401

def initialize(subject, field_name)
  @subject = subject
  @field_name = field_name.symbolize(subject.field_symbolizer)
end

Instance Method Details

#metadataObject



410
411
412
# File 'lib/remi/cucumber/business_rules.rb', line 410

def 
  @subject.fields[name]
end

#nameObject



406
407
408
# File 'lib/remi/cucumber/business_rules.rb', line 406

def name
  @field_name
end

#valueObject



418
419
420
421
422
# File 'lib/remi/cucumber/business_rules.rb', line 418

def value
  v = vector.to_a.uniq
  raise "Multiple unique values found in subject data for field #{@field_name}" if v.size > 1
  v.first
end

#value=(arg) ⇒ Object



428
429
430
# File 'lib/remi/cucumber/business_rules.rb', line 428

def value=(arg)
  vector.recode! { |v| arg }
end

#valuesObject



424
425
426
# File 'lib/remi/cucumber/business_rules.rb', line 424

def values
  vector.to_a.map(&:to_s)
end

#vectorObject



414
415
416
# File 'lib/remi/cucumber/business_rules.rb', line 414

def vector
  @subject.df[@field_name]
end