ops_team 0.18.1 → 0.19.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: d591b58dad032824721105b4ce3e45c63ef40078273d77fbb85ddf50c3224f27
4
- data.tar.gz: f3f72de653d0ad2d3b87ef1ac6c75bfe0543b6030b37954fae1ddf4dd2981e17
3
+ metadata.gz: b1ea151f15e3f842a7fee5780096a4571448ccbcc7232bd841832289b863c4bc
4
+ data.tar.gz: 17fb8d9783359db78d608afb99b61feb5f9cfd10cd5bed378417d900aedacca4
5
5
  SHA512:
6
- metadata.gz: 42df63cce2068a86cbe127da74fdf4af2dfb33f3bb4d7ed176354566b11adc1ba3adbbc941b0df8440bcdc1cfaf76f4e9e7182c41618cee1ca9695d8fa1bdca7
7
- data.tar.gz: 451205a2bde8e20689f2b5b1b76d60f3cf3d2db5d74d18c2f71cc21219863bc4a87373c5980833e90d647314eb937b4dc02f13ad940636603d7dd37faf4764e4
6
+ metadata.gz: 0325447467e8c0fc01483f1fcc3be7da8b4dedb6045c49d0ae7b2072efc7da1ee6fe7e0c281c6f5ccda1e0871caf5641e1ac8b78b99810f6e134a6fef6c35b0e
7
+ data.tar.gz: 4f6391a41a0fa8c44b65d623fc0c09db7ce00b900df7a0b86d7f2b21337d29a1aecf0854fac2ad95e23c53522f92e7ac9e4c7342518475dbbea2373338c00428
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'output'
4
+
5
+ class Forward
6
+ def initialize(dir, args)
7
+ @dir = dir
8
+ @args = args
9
+ end
10
+
11
+ def run
12
+ Output.notice("Forwarding 'ops #{@args.join(" ")}' to '#{@dir}/'...")
13
+
14
+ Dir.chdir(@dir)
15
+ Ops.new(@args).run
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'forward'
4
+
5
+ class Forwards
6
+ def initialize(config, args)
7
+ @config = config
8
+ @args = args
9
+ end
10
+
11
+ def get(name)
12
+ Forward.new(name, @args) if forwards[name]
13
+ end
14
+
15
+ private
16
+
17
+ def forwards
18
+ @forwards ||= @config["forwards"] || {}
19
+ end
20
+ end
data/lib/ops.rb CHANGED
@@ -13,6 +13,7 @@ require 'environment'
13
13
  require 'version'
14
14
  require 'action_list'
15
15
  require 'action_suggester'
16
+ require 'forwards'
16
17
 
17
18
  require_rel "builtins"
18
19
 
@@ -101,6 +102,8 @@ class Ops
101
102
  end
102
103
 
103
104
  def run_action
105
+ return forward.run if forward
106
+
104
107
  do_before_all
105
108
 
106
109
  return builtin.run if builtin
@@ -149,6 +152,10 @@ class Ops
149
152
  Builtins.constants.select { |c| Builtins.const_get(c).is_a? Class }.map(&:downcase)
150
153
  end
151
154
 
155
+ def forward
156
+ @forward ||= Forwards.new(@config, @args).get(@action_name)
157
+ end
158
+
152
159
  def action
153
160
  return action_list.get(@action_name) if action_list.get(@action_name)
154
161
  return action_list.get_by_alias(@action_name) if action_list.get_by_alias(@action_name)
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'ops_team'
5
- s.version = '0.18.1'
5
+ s.version = '0.19.0'
6
6
  s.authors = [
7
7
  'nickthecook@gmail.com'
8
8
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_team
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nickthecook@gmail.com
@@ -175,6 +175,8 @@ files:
175
175
  - lib/dependency.rb
176
176
  - lib/environment.rb
177
177
  - lib/executor.rb
178
+ - lib/forward.rb
179
+ - lib/forwards.rb
178
180
  - lib/hook_handler.rb
179
181
  - lib/ops.rb
180
182
  - lib/options.rb