Class: Seira::Teleport::Status
- Inherits:
-
Object
- Object
- Seira::Teleport::Status
- Defined in:
- lib/seira/teleport/status.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #active_cluster ⇒ Object
- #has_role?(role) ⇒ Boolean
-
#initialize(data: nil) ⇒ Status
constructor
A new instance of Status.
- #is_valid? ⇒ Boolean
- #kubernetes_cluster ⇒ Object
- #roles ⇒ Object
Constructor Details
#initialize(data: nil) ⇒ Status
Returns a new instance of Status.
10 11 12 13 |
# File 'lib/seira/teleport/status.rb', line 10 def initialize(data: nil) @data = data @data ||= get_status_json end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
8 9 10 |
# File 'lib/seira/teleport/status.rb', line 8 def data @data end |
Instance Method Details
#[](key) ⇒ Object
15 16 17 |
# File 'lib/seira/teleport/status.rb', line 15 def [](key) data[key] end |
#active_cluster ⇒ Object
19 20 21 |
# File 'lib/seira/teleport/status.rb', line 19 def active_cluster data.dig('active', 'cluster') end |
#has_role?(role) ⇒ Boolean
31 32 33 34 35 |
# File 'lib/seira/teleport/status.rb', line 31 def has_role?(role) return false if roles.nil? roles.include?(role) end |
#is_valid? ⇒ Boolean
37 38 39 40 41 42 |
# File 'lib/seira/teleport/status.rb', line 37 def is_valid? valid_until = data.dig('active', 'valid_until') return false if valid_until.nil? DateTime.parse(data.dig('active', 'valid_until')) > DateTime.now end |
#kubernetes_cluster ⇒ Object
23 24 25 |
# File 'lib/seira/teleport/status.rb', line 23 def kubernetes_cluster data.dig('active','kubernetes_cluster') end |
#roles ⇒ Object
27 28 29 |
# File 'lib/seira/teleport/status.rb', line 27 def roles @roles ||= data.dig('active', 'roles') end |