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.
366 367 368 369 |
# File 'lib/remi/cucumber/business_rules.rb', line 366 def initialize(subject, field_name) @subject = subject @field_name = field_name.symbolize(subject.field_symbolizer) end |
Instance Method Details
#metadata ⇒ Object
375 376 377 |
# File 'lib/remi/cucumber/business_rules.rb', line 375 def @subject.fields[name] end |
#name ⇒ Object
371 372 373 |
# File 'lib/remi/cucumber/business_rules.rb', line 371 def name @field_name end |
#value ⇒ Object
383 384 385 386 387 |
# File 'lib/remi/cucumber/business_rules.rb', line 383 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
393 394 395 |
# File 'lib/remi/cucumber/business_rules.rb', line 393 def value=(arg) vector.recode! { |v| arg } end |
#values ⇒ Object
389 390 391 |
# File 'lib/remi/cucumber/business_rules.rb', line 389 def values vector.to_a.map(&:to_s) end |
#vector ⇒ Object
379 380 381 |
# File 'lib/remi/cucumber/business_rules.rb', line 379 def vector @subject.df[@field_name] end |