Class: Wassup::Panes::Netlify::Deploys

Inherits:
Object
  • Object
show all
Defined in:
lib/wassup/panes/netlify.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site_id:) ⇒ Deploys

Returns a new instance of Deploys.



7
8
9
# File 'lib/wassup/panes/netlify.rb', line 7

def initialize(site_id:)
  @site_id = site_id
end

Instance Attribute Details

#site_idObject

Returns the value of attribute site_id.



5
6
7
# File 'lib/wassup/panes/netlify.rb', line 5

def site_id
  @site_id
end

Instance Method Details

#configure(pane) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/wassup/panes/netlify.rb', line 11

def configure(pane)
  pane.content do |content|
    deploys = Helpers::Netlify.deploys(site_id: site_id)
    deploys.each do |deploy|
      display = Helpers::Netlify::Formatter.deploy(deploy)
      content.add_row(display, deploy)
    end
  end
  pane.selection('enter', 'Open in Netlify') do |deploy|
    url = "#{deploy['admin_url']}/deploys/#{deploy['id']}"
    `open #{url}`
  end
  pane.selection('o', 'Open preview') do |deploy|
    if deploy['state'] == 'error'
      # show alert that isn't here yet
    elsif deploy['review_id'].nil?
      `open #{deploy['url']}`
    else
      `open #{deploy['deploy_ssl_url']}`
    end
  end
end