Class: Rigor::FlowContribution::Fact
- Inherits:
-
Data
- Object
- Data
- Rigor::FlowContribution::Fact
- Defined in:
- lib/rigor/flow_contribution/fact.rb
Instance Attribute Summary collapse
-
#negative ⇒ Object
readonly
Returns the value of attribute negative.
-
#target_kind ⇒ Object
readonly
Returns the value of attribute target_kind.
-
#target_name ⇒ Object
readonly
Returns the value of attribute target_name.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
-
#initialize(target_kind:, target_name:, type:, negative: false) ⇒ Fact
constructor
A new instance of Fact.
- #negative? ⇒ Boolean
-
#target ⇒ Object
Composite target identifier the merger keys on.
Constructor Details
#initialize(target_kind:, target_name:, type:, negative: false) ⇒ Fact
Returns a new instance of Fact.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/rigor/flow_contribution/fact.rb', line 59 def initialize(target_kind:, target_name:, type:, negative: false) unless FACT_VALID_TARGET_KINDS.include?(target_kind) raise ArgumentError, "FlowContribution::Fact target_kind must be one of " \ "#{FACT_VALID_TARGET_KINDS.inspect}, got #{target_kind.inspect}" end unless target_name.is_a?(Symbol) raise ArgumentError, "FlowContribution::Fact target_name must be a Symbol, got #{target_name.inspect}" end super end |
Instance Attribute Details
#negative ⇒ Object (readonly)
Returns the value of attribute negative
58 59 60 |
# File 'lib/rigor/flow_contribution/fact.rb', line 58 def negative @negative end |
#target_kind ⇒ Object (readonly)
Returns the value of attribute target_kind
58 59 60 |
# File 'lib/rigor/flow_contribution/fact.rb', line 58 def target_kind @target_kind end |
#target_name ⇒ Object (readonly)
Returns the value of attribute target_name
58 59 60 |
# File 'lib/rigor/flow_contribution/fact.rb', line 58 def target_name @target_name end |
#type ⇒ Object (readonly)
Returns the value of attribute type
58 59 60 |
# File 'lib/rigor/flow_contribution/fact.rb', line 58 def type @type end |
Instance Method Details
#negative? ⇒ Boolean
83 84 85 |
# File 'lib/rigor/flow_contribution/fact.rb', line 83 def negative? negative == true end |
#target ⇒ Object
Composite target identifier the merger keys on. ‘:self` for self-targeted facts; otherwise `[:parameter, name]` so two contributions that narrow the same parameter (regardless of source family) land in the same merge bucket.
79 80 81 |
# File 'lib/rigor/flow_contribution/fact.rb', line 79 def target target_kind == :self ? :self : [target_kind, target_name] end |