bard 0.44.1 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86e79ccc420d8bed3ff834d150b9f58da74e34981dc59a244dd92de38fb5e831
4
- data.tar.gz: 816db71d99a04cb75aff222369e41e719de7da1b608fc518b74e9ec3ba5a5ec0
3
+ metadata.gz: 052770d2821e0c8ed3ad4b90a031bfb1cde2dc7b1c8b346b9ac3c0433db667fd
4
+ data.tar.gz: 5c42dcb089ff3488eb990f582986354acd974c0f68199f6a7a9cca01e91cb2ad
5
5
  SHA512:
6
- metadata.gz: 70fedcdd193a7588a6342a7efee99ddf95598599d80b50d48206fb29674e1dcf002ac3a239c0e836630190a1b5e8552d2bfe8ecc53f600fc031e3d44330631ac
7
- data.tar.gz: 1c2dc2a6b0f6c6b225b520f7d801f8ae0dfd16b4007302db9ab2b713036f1bf89a4a5e4cd9f0bd422e23c5c3830b45ea94095283a780540fb1e87c88c0559917
6
+ metadata.gz: '09cc31d6f12248a5995cc93e435d540f4379c08b77e166196db38e96d11e40f73170989c1e86aa6309d57f3504072edda6827bee2eb05c49887ab2448d3d2248'
7
+ data.tar.gz: b34c19977c459886d012248301bc0b35afa668d08f5c0eb8ed05a76378c21174edd6192c53406b8f8ebf06bf97723ce3765bba488caae7db2b89ec9a5866af6e
data/lib/bard/base.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "thor"
2
2
  require "term/ansicolor"
3
3
  require "open3"
4
+ require "uri"
4
5
 
5
6
  class Bard::CLI < Thor
6
7
  include Term::ANSIColor
@@ -28,8 +29,10 @@ class Bard::CLI < Thor
28
29
  def ssh_command server, command, home: false
29
30
  server = @config.servers[server.to_sym]
30
31
  uri = URI.parse("ssh://#{server.ssh}")
32
+ ssh_key = server.ssh_key ? "-i #{server.ssh_key} " : ""
33
+ command = "#{server.env} #{command}" if server.env
31
34
  command = "cd #{server.path} && #{command}" unless home
32
- command = "ssh -tt #{"-p#{uri.port} " if uri.port}#{uri.user}@#{uri.host} '#{command}'"
35
+ command = "ssh -tt #{ssh_key}#{"-p#{uri.port} " if uri.port}#{uri.user}@#{uri.host} '#{command}'"
33
36
  if server.gateway
34
37
  uri = URI.parse("ssh://#{server.gateway}")
35
38
  command = "ssh -tt #{" -p#{uri.port} " if uri.port}#{uri.user}@#{uri.host} \"#{command}\""
@@ -44,12 +47,14 @@ class Bard::CLI < Thor
44
47
  port = uri.port ? "-p#{uri.port}" : ""
45
48
  gateway = server.gateway ? "-oProxyCommand='ssh #{port} #{uri.user}@#{uri.host} -W %h:%p'" : ""
46
49
 
50
+ ssh_key = server.ssh_key ? "-i #{server.ssh_key}" : ""
51
+
47
52
  uri = URI.parse("ssh://#{server.ssh}")
48
53
  port = uri.port ? "-P#{uri.port}" : ""
49
54
  from_and_to = [path, "#{uri.user}@#{uri.host}:#{server.path}/#{path}"]
50
55
 
51
56
  from_and_to.reverse! if direction == :from
52
- command = "scp #{gateway} #{port} #{from_and_to.join(" ")}"
57
+ command = "scp #{gateway} #{ssh_key} #{port} #{from_and_to.join(" ")}"
53
58
 
54
59
  run_crucial command
55
60
  end
@@ -61,9 +66,10 @@ class Bard::CLI < Thor
61
66
  port = uri.port ? "-p#{uri.port}" : ""
62
67
  gateway = server.gateway ? "-oProxyCommand=\"ssh #{port} #{uri.user}@#{uri.host} -W %h:%p\"" : ""
63
68
 
69
+ ssh_key = server.ssh_key ? "-i #{server.ssh_key}" : ""
64
70
  uri = URI.parse("ssh://#{server.ssh}")
65
71
  port = uri.port ? "-p#{uri.port}" : ""
66
- ssh = "-e'ssh #{port} #{gateway}'"
72
+ ssh = "-e'ssh #{ssh_key} #{port} #{gateway}'"
67
73
 
68
74
  dest_path = path.dup
69
75
  dest_path = "./#{dest_path}"
data/lib/bard/config.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require "uri"
2
+
1
3
  class Bard::CLI < Thor
2
4
  class Config
3
5
  def initialize project_name, path
@@ -55,7 +57,7 @@ class Bard::CLI < Thor
55
57
  instance_eval File.read(File.expand_path(path)) if File.exist?(path)
56
58
  end
57
59
 
58
- class Server < Struct.new(:project_name, :key, :ssh, :path, :ping, :gateway)
60
+ class Server < Struct.new(:project_name, :key, :ssh, :path, :ping, :gateway, :ssh_key, :env)
59
61
  def self.setting *fields
60
62
  fields.each do |field|
61
63
  define_method field do |*args|
@@ -70,7 +72,7 @@ class Bard::CLI < Thor
70
72
  end
71
73
  end
72
74
 
73
- setting :ssh, :path, :ping, :gateway
75
+ setting :ssh, :path, :ping, :gateway, :ssh_key, :env
74
76
 
75
77
  def default_ping
76
78
  uri = URI.parse("ssh://#{ssh}")
data/lib/bard/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Bard
2
- VERSION = "0.44.1"
2
+ VERSION = "0.46.0"
3
3
  end
4
4
 
data/lib/bard.rb CHANGED
@@ -178,7 +178,7 @@ class Bard::CLI < Thor
178
178
 
179
179
  command = "curl -sfL #{url} 2>&1 1>/dev/null"
180
180
  unless system command
181
- puts "#{server.to_s.capitalize} is down!"
181
+ puts "#{server.key.to_s.capitalize} is down!"
182
182
  exit 1
183
183
  end
184
184
  end
@@ -197,5 +197,10 @@ class Bard::CLI < Thor
197
197
  def download_ci_test_coverage
198
198
  rsync :from, :ci, "coverage"
199
199
  end
200
+
201
+ desc "vim", "open all files that have changed since master"
202
+ def vim
203
+ exec "vim -p `git diff master --name-only | grep -v sass$ | tac`"
204
+ end
200
205
  end
201
206
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.44.1
4
+ version: 0.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-27 00:00:00.000000000 Z
11
+ date: 2021-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  requirements: []
175
- rubygems_version: 3.0.3
175
+ rubygems_version: 3.0.8
176
176
  signing_key:
177
177
  specification_version: 4
178
178
  summary: CLI to automate common development tasks.