nib 1.7.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/VERSION +1 -1
- data/bin/nib +5 -0
- data/config/commands/shell/pryrc +2 -0
- data/lib/core_extensions/hash.rb +1 -1
- data/lib/core_extensions/string.rb +6 -0
- data/lib/nib/check_for_update.rb +3 -3
- data/lib/nib/debug.rb +6 -2
- data/lib/nib/history/compose.rb +2 -2
- data/lib/nib/history/config.rb +1 -1
- data/lib/nib/options.rb +9 -1
- data/lib/nib/plugin.rb +31 -0
- data/lib/nib/plugins.rb +20 -0
- data/lib/nib/unrecognized_help.rb +1 -1
- data/lib/nib/version.rb +1 -1
- data/lib/nib.rb +13 -1
- metadata +38 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4222483b3c2ebfb88a93d8d6798d250bfac16bdd01e685d2c8397dacbd3e72f0
|
4
|
+
data.tar.gz: abd1e97f561ac535af89409e11fdf20f0c5be96404e6fa90e43561e9ce6a97b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5612ed97ecd998f1cf22fab6262bcde9fb1f4ac9e06588c1418c3c4fa7f6d68cbb9744ea2a89bdcccee9f2a5a80f926cafbce8e30349d8e6440707147393604e
|
7
|
+
data.tar.gz: b2a84a25909913a4941357727c0f6304a5f09a0f3358eaf892c04e9884a1a157b1254f74f4d66b36893eab65ca7b2978827cc3a0940126bb694abd960ff03f18
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
2.1.0
|
data/bin/nib
CHANGED
@@ -37,6 +37,7 @@ post do |global, command, options, args|
|
|
37
37
|
# Use skips_post before a command to skip this
|
38
38
|
# block on that command only
|
39
39
|
if command.is_a? GLI::Commands::Help
|
40
|
+
Nib::Plugins.execute(options, args)
|
40
41
|
Nib::UnrecognizedHelp.execute(options, args)
|
41
42
|
Nib::CheckForUpdate.execute(options, args)
|
42
43
|
end
|
@@ -197,4 +198,8 @@ command :update do |c|
|
|
197
198
|
end
|
198
199
|
end
|
199
200
|
|
201
|
+
Nib.available_plugins.each do |plugin|
|
202
|
+
load plugin
|
203
|
+
end
|
204
|
+
|
200
205
|
exit run(ARGV)
|
data/config/commands/shell/pryrc
CHANGED
@@ -15,3 +15,5 @@ Pry.config.ls.heading_color = :magenta
|
|
15
15
|
Pry.config.ls.public_method_color = :green
|
16
16
|
Pry.config.ls.protected_method_color = :yellow
|
17
17
|
Pry.config.ls.private_method_color = :bright_black
|
18
|
+
# Disable paging - paging is broken in when using Alpine `less`
|
19
|
+
Pry.config.pager = false
|
data/lib/core_extensions/hash.rb
CHANGED
data/lib/nib/check_for_update.rb
CHANGED
@@ -4,10 +4,10 @@ class Nib::CheckForUpdate
|
|
4
4
|
def self.execute(_, _)
|
5
5
|
return if installed == latest
|
6
6
|
|
7
|
-
puts <<-MESSAGE
|
7
|
+
puts <<-MESSAGE.strip_heredoc
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
An update is available for nib: #{latest}
|
10
|
+
Use 'nib update' to install the latest version
|
11
11
|
MESSAGE
|
12
12
|
end
|
13
13
|
|
data/lib/nib/debug.rb
CHANGED
@@ -18,11 +18,15 @@ class Nib::Debug
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def host
|
21
|
-
|
21
|
+
return @host if @host
|
22
|
+
|
23
|
+
@host = if ENV.key?('DOCKER_HOST_URL') && ENV['DOCKER_HOST_URL'] != ''
|
22
24
|
URI.parse(ENV['DOCKER_HOST_URL']).host
|
23
25
|
else
|
24
|
-
`ip route |
|
26
|
+
`ip route | head -n 1`.chomp
|
25
27
|
end
|
28
|
+
|
29
|
+
@host = @host == '' ? '0.0.0.0' : @host
|
26
30
|
end
|
27
31
|
|
28
32
|
def compose_file
|
data/lib/nib/history/compose.rb
CHANGED
@@ -55,8 +55,8 @@ class Nib::History::Compose
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def config
|
58
|
-
original_config.
|
59
|
-
|
58
|
+
original_config.transform_values do |definition|
|
59
|
+
Service.new(volume_name, definition).config
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
data/lib/nib/history/config.rb
CHANGED
data/lib/nib/options.rb
CHANGED
@@ -2,7 +2,15 @@ module Nib::Options
|
|
2
2
|
module_function
|
3
3
|
|
4
4
|
def config
|
5
|
-
@config
|
5
|
+
return @config if @config
|
6
|
+
|
7
|
+
load_with = if YAML.respond_to?(:unsafe_load_file)
|
8
|
+
:unsafe_load_file
|
9
|
+
else
|
10
|
+
:load_file
|
11
|
+
end
|
12
|
+
|
13
|
+
@config = YAML.send(load_with, "#{Nib::GEM_ROOT}/config/options.yml")
|
6
14
|
end
|
7
15
|
|
8
16
|
def options_for(type, name)
|
data/lib/nib/plugin.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
class Nib::Plugin
|
2
|
+
attr_reader :path
|
3
|
+
|
4
|
+
def initialize(path)
|
5
|
+
@path = path
|
6
|
+
end
|
7
|
+
|
8
|
+
def basename
|
9
|
+
@basename ||= File.basename(path, '_plugin.rb')
|
10
|
+
end
|
11
|
+
|
12
|
+
def name
|
13
|
+
@name ||= basename.tr('_', '-')
|
14
|
+
end
|
15
|
+
|
16
|
+
def constant
|
17
|
+
@constant ||= Object.const_get(name.split('-').map(&:capitalize).join('::'))
|
18
|
+
end
|
19
|
+
|
20
|
+
def applies?
|
21
|
+
@applies ||= begin
|
22
|
+
require path
|
23
|
+
|
24
|
+
constant.applies?
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def binstub
|
29
|
+
"#{path[0..-"/lib/#{basename}_plugin.rb".length]}bin/#{name}"
|
30
|
+
end
|
31
|
+
end
|
data/lib/nib/plugins.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
class Nib::Plugins
|
2
|
+
def self.execute(_, _)
|
3
|
+
puts ''
|
4
|
+
puts(
|
5
|
+
(['Installed plugins:'] | potential_plugins.map(&:name))
|
6
|
+
.join("\r\n - ")
|
7
|
+
)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.potential_plugins
|
11
|
+
@potential_plugins ||= Gem
|
12
|
+
.find_files('nib*_plugin.rb')
|
13
|
+
.sort
|
14
|
+
.map { |plugin_path| Nib::Plugin.new(plugin_path) }
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.available_plugins
|
18
|
+
@available_plugins ||= potential_plugins.select(&:applies?)
|
19
|
+
end
|
20
|
+
end
|
data/lib/nib/version.rb
CHANGED
data/lib/nib.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
require 'nib/version'
|
2
2
|
|
3
3
|
require 'core_extensions/hash'
|
4
|
+
require 'core_extensions/string'
|
4
5
|
|
5
6
|
require 'nib/options'
|
6
7
|
require 'nib/options/augmenter'
|
7
8
|
require 'nib/options/parser'
|
8
9
|
|
10
|
+
require 'nib/plugins'
|
11
|
+
require 'nib/plugin'
|
12
|
+
|
9
13
|
require 'nib/command'
|
10
14
|
require 'nib/history'
|
11
15
|
require 'nib/history/compose'
|
@@ -22,10 +26,18 @@ require 'nib/shell'
|
|
22
26
|
require 'nib/update'
|
23
27
|
|
24
28
|
module Nib
|
25
|
-
GEM_ROOT = File.expand_path('
|
29
|
+
GEM_ROOT = File.expand_path('..', __dir__)
|
26
30
|
|
27
31
|
module_function
|
28
32
|
|
33
|
+
def installed_plugins
|
34
|
+
Nib::Plugins.potential_plugins.map(&:name)
|
35
|
+
end
|
36
|
+
|
37
|
+
def available_plugins
|
38
|
+
Nib::Plugins.available_plugins.map(&:binstub)
|
39
|
+
end
|
40
|
+
|
29
41
|
def load_default_config(command, file_name)
|
30
42
|
File.read("#{GEM_ROOT}/config/commands/#{command}/#{file_name}")
|
31
43
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Allen
|
8
8
|
- Zach Blankenship
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gli
|
@@ -26,7 +26,21 @@ dependencies:
|
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '2.16'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: codeclimate-test-reporter
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 1.0.7
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.0.7
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: did_you_mean
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
31
45
|
requirements:
|
32
46
|
- - ">="
|
@@ -40,7 +54,7 @@ dependencies:
|
|
40
54
|
- !ruby/object:Gem::Version
|
41
55
|
version: '0'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
57
|
+
name: guard
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
60
|
- - ">="
|
@@ -54,7 +68,7 @@ dependencies:
|
|
54
68
|
- !ruby/object:Gem::Version
|
55
69
|
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
71
|
+
name: guard-rspec
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
59
73
|
requirements:
|
60
74
|
- - ">="
|
@@ -68,7 +82,7 @@ dependencies:
|
|
68
82
|
- !ruby/object:Gem::Version
|
69
83
|
version: '0'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
|
-
name: guard
|
85
|
+
name: guard-rubocop
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - ">="
|
@@ -82,7 +96,7 @@ dependencies:
|
|
82
96
|
- !ruby/object:Gem::Version
|
83
97
|
version: '0'
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
99
|
+
name: pry
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
87
101
|
requirements:
|
88
102
|
- - ">="
|
@@ -96,7 +110,7 @@ dependencies:
|
|
96
110
|
- !ruby/object:Gem::Version
|
97
111
|
version: '0'
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
113
|
+
name: rake
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - ">="
|
@@ -110,7 +124,7 @@ dependencies:
|
|
110
124
|
- !ruby/object:Gem::Version
|
111
125
|
version: '0'
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
127
|
+
name: serverspec
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
115
129
|
requirements:
|
116
130
|
- - ">="
|
@@ -124,19 +138,19 @@ dependencies:
|
|
124
138
|
- !ruby/object:Gem::Version
|
125
139
|
version: '0'
|
126
140
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
141
|
+
name: simplecov
|
128
142
|
requirement: !ruby/object:Gem::Requirement
|
129
143
|
requirements:
|
130
|
-
- - "
|
144
|
+
- - ">="
|
131
145
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
146
|
+
version: '0'
|
133
147
|
type: :development
|
134
148
|
prerelease: false
|
135
149
|
version_requirements: !ruby/object:Gem::Requirement
|
136
150
|
requirements:
|
137
|
-
- - "
|
151
|
+
- - ">="
|
138
152
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
153
|
+
version: '0'
|
140
154
|
description: " nib is a docker-compose wrapper geared towards Ruby/Rails development.\n"
|
141
155
|
email:
|
142
156
|
- noreply@technekes.com
|
@@ -152,6 +166,7 @@ files:
|
|
152
166
|
- config/commands/shell/pryrc
|
153
167
|
- config/options.yml
|
154
168
|
- lib/core_extensions/hash.rb
|
169
|
+
- lib/core_extensions/string.rb
|
155
170
|
- lib/nib.rb
|
156
171
|
- lib/nib/check_for_update.rb
|
157
172
|
- lib/nib/code_climate.rb
|
@@ -165,6 +180,8 @@ files:
|
|
165
180
|
- lib/nib/options.rb
|
166
181
|
- lib/nib/options/augmenter.rb
|
167
182
|
- lib/nib/options/parser.rb
|
183
|
+
- lib/nib/plugin.rb
|
184
|
+
- lib/nib/plugins.rb
|
168
185
|
- lib/nib/run.rb
|
169
186
|
- lib/nib/setup.rb
|
170
187
|
- lib/nib/shell.rb
|
@@ -173,8 +190,9 @@ files:
|
|
173
190
|
- lib/nib/version.rb
|
174
191
|
homepage: https://github.com/technekes/nib
|
175
192
|
licenses: []
|
176
|
-
metadata:
|
177
|
-
|
193
|
+
metadata:
|
194
|
+
rubygems_mfa_required: 'true'
|
195
|
+
post_install_message:
|
178
196
|
rdoc_options: []
|
179
197
|
require_paths:
|
180
198
|
- lib
|
@@ -183,16 +201,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
201
|
requirements:
|
184
202
|
- - ">="
|
185
203
|
- !ruby/object:Gem::Version
|
186
|
-
version: 2.
|
204
|
+
version: 2.7.5
|
187
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
206
|
requirements:
|
189
207
|
- - ">="
|
190
208
|
- !ruby/object:Gem::Version
|
191
209
|
version: '0'
|
192
210
|
requirements: []
|
193
|
-
|
194
|
-
|
195
|
-
signing_key:
|
211
|
+
rubygems_version: 3.2.22
|
212
|
+
signing_key:
|
196
213
|
specification_version: 4
|
197
214
|
summary: The tip of the pen (compose)
|
198
215
|
test_files: []
|