Class: IgniterLang::TemporalAccessRuntime::SemanticIRTemporalAccessEvaluator
- Inherits:
-
Object
- Object
- IgniterLang::TemporalAccessRuntime::SemanticIRTemporalAccessEvaluator
- Defined in:
- lib/igniter_lang/temporal_access_runtime.rb
Instance Method Summary collapse
- #evaluate(access_node, temporal_inputs:, inputs:) ⇒ Object
-
#initialize(backend) ⇒ SemanticIRTemporalAccessEvaluator
constructor
A new instance of SemanticIRTemporalAccessEvaluator.
Constructor Details
#initialize(backend) ⇒ SemanticIRTemporalAccessEvaluator
Returns a new instance of SemanticIRTemporalAccessEvaluator.
228 229 230 |
# File 'lib/igniter_lang/temporal_access_runtime.rb', line 228 def initialize(backend) @backend = backend end |
Instance Method Details
#evaluate(access_node, temporal_inputs:, inputs:) ⇒ Object
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'lib/igniter_lang/temporal_access_runtime.rb', line 232 def evaluate(access_node, temporal_inputs:, inputs:) raise ArgumentError, "expected temporal_access_node" unless access_node.fetch("kind") == "temporal_access_node" raise ArgumentError, "only point temporal access is supported" unless access_node.fetch("access") == "point" input_node = temporal_inputs.fetch(access_node.fetch("source_ref")) axis = normalized_axis(access_node, input_node) case axis when "valid_time" evaluate_valid_time(access_node, input_node, inputs) when "bitemporal" evaluate_bitemporal(access_node, input_node, inputs) else raise ArgumentError, "unsupported temporal axis: #{axis}" end end |