Class: Status

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/common/status.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



6
7
8
# File 'lib/common/status.rb', line 6

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#namespace_idObject



32
33
34
35
36
37
38
39
40
# File 'lib/common/status.rb', line 32

def namespace_id 
  config = Config.load(".byld/config.yml")
  
  if config['namespace'].present?
    config['namespace']['id']
  elsif config['project'].present?
    config['project']['namespaceId']
  end
end


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/common/status.rb', line 10

def print_status
  success, res = Infra.get_namespace(namespace_id)
  
  say "⚠️  Error fetching project status. Reason: #{res}" unless success
  
  say set_color("\n#{res['name']}\n", :bold)
  say set_color("gate\n", :bold)

  gates = res['projects']
    .filter { |project| project['projectType'] == 'graph' }
    .map { |project| [project['name'], project['status'], project['url'], project['docsUrl']] }

  say Terminal::Table.new headings: ['name', 'status', 'url', 'docs'], rows: gates
  
  say set_color("\nblocks\n", :bold)
  blocks = res['projects']
    .filter { |project| project['projectType'] == 'domain' }
    .map { |project| [project['name'], project['status']] }
  
  say Terminal::Table.new headings: ['name', 'status'], rows: blocks
end