Class: Rigor::FlowContribution::Fact
- Inherits:
-
Object
- Object
- Rigor::FlowContribution::Fact
- Defined in:
- lib/rigor/flow_contribution/fact.rb
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 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 |