Class: Remi::BusinessRules::DataField
- Inherits:
-
Object
- Object
- Remi::BusinessRules::DataField
- Defined in:
- lib/remi/cucumber/business_rules.rb
Instance Method Summary collapse
-
#initialize(subject, field_name) ⇒ DataField
constructor
A new instance of DataField.
- #metadata ⇒ Object
- #name ⇒ Object
- #value ⇒ Object
- #value=(arg) ⇒ Object
- #values ⇒ Object
- #vector ⇒ Object
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
#metadata ⇒ Object
410 411 412 |
# File 'lib/remi/cucumber/business_rules.rb', line 410 def @subject.fields[name] end |
#name ⇒ Object
406 407 408 |
# File 'lib/remi/cucumber/business_rules.rb', line 406 def name @field_name end |
#value ⇒ Object
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 |
#values ⇒ Object
424 425 426 |
# File 'lib/remi/cucumber/business_rules.rb', line 424 def values vector.to_a.map(&:to_s) end |
#vector ⇒ Object
414 415 416 |
# File 'lib/remi/cucumber/business_rules.rb', line 414 def vector @subject.df[@field_name] end |