Class: AgentCliRuntime::RouteIdentity
- Inherits:
-
Data
- Object
- Data
- AgentCliRuntime::RouteIdentity
- Defined in:
- lib/agent_cli_runtime/values.rb
Constant Summary collapse
- RESOLUTION_STATUSES =
%i[unobserved matched resolved_differently].freeze
Instance Attribute Summary collapse
-
#actual ⇒ Object
readonly
Returns the value of attribute actual.
-
#requested ⇒ Object
readonly
Returns the value of attribute requested.
-
#resolution_status ⇒ Object
readonly
Returns the value of attribute resolution_status.
Instance Method Summary collapse
-
#initialize(requested:, actual: nil, resolution_status: nil) ⇒ RouteIdentity
constructor
A new instance of RouteIdentity.
Constructor Details
#initialize(requested:, actual: nil, resolution_status: nil) ⇒ RouteIdentity
Returns a new instance of RouteIdentity.
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 |
# File 'lib/agent_cli_runtime/values.rb', line 485 def initialize(requested:, actual: nil, resolution_status: nil) requested_route = requested.is_a?(Route) ? requested : Route.parse(requested) actual_route = if actual.nil? nil elsif actual.is_a?(Route) actual else Route.parse(actual) end status = resolution_status&.to_sym || (actual_route.nil? ? :unobserved : (requested_route == actual_route ? :matched : :resolved_differently)) unless RESOLUTION_STATUSES.include?(status) raise ArgumentError, "invalid route resolution status" end super( requested: requested_route, actual: actual_route, resolution_status: status ) end |
Instance Attribute Details
#actual ⇒ Object (readonly)
Returns the value of attribute actual
482 483 484 |
# File 'lib/agent_cli_runtime/values.rb', line 482 def actual @actual end |
#requested ⇒ Object (readonly)
Returns the value of attribute requested
482 483 484 |
# File 'lib/agent_cli_runtime/values.rb', line 482 def requested @requested end |
#resolution_status ⇒ Object (readonly)
Returns the value of attribute resolution_status
482 483 484 |
# File 'lib/agent_cli_runtime/values.rb', line 482 def resolution_status @resolution_status end |