atli 0.1.5 → 0.1.6
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 +4 -4
- data/atli.gemspec +1 -1
- data/lib/thor.rb +5 -6
- data/lib/thor/base.rb +23 -1
- data/lib/thor/base/class_methods.rb +6 -2
- data/lib/thor/base/common_class_options.rb +1 -1
- data/lib/thor/command.rb +3 -1
- data/lib/thor/core_ext/hash_with_indifferent_access.rb +30 -90
- data/lib/thor/execution.rb +3 -1
- data/lib/thor/version.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49db1892c567c86738f2c77d5364f8e2ef3117f7
|
4
|
+
data.tar.gz: fafd83425c8fc655b45cec19513ffbdfa1158b1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '088b411212e6745b57e4a5a7687ec3b15678c5a340a02ed21fc440a10b3690b19f91f477395a707eb4126c7164238182a5b3b53f7297889d8ea90c455852eaf0'
|
7
|
+
data.tar.gz: 1aaf96749935ecae1aedf2312fa0319afa5718293d80cd3d9e12a39491d54927e585a9b0df2cbc4fe07d33889918c593d809e7a77880017e84a1f1f9e9740d39
|
data/atli.gemspec
CHANGED
data/lib/thor.rb
CHANGED
@@ -3,7 +3,6 @@ require 'nrser'
|
|
3
3
|
require 'semantic_logger'
|
4
4
|
require "thor/base"
|
5
5
|
|
6
|
-
using NRSER
|
7
6
|
|
8
7
|
class Thor
|
9
8
|
|
@@ -189,9 +188,7 @@ class Thor
|
|
189
188
|
#
|
190
189
|
# which, of course, doesn't work if +cmd+ is inside +subcmd+.
|
191
190
|
#
|
192
|
-
# @return [
|
193
|
-
# *Atli* - as far as I can tell, this method just writes to STDOUT
|
194
|
-
# and the return value is not / should not be used for anything.
|
191
|
+
# @return [nil]
|
195
192
|
#
|
196
193
|
def command_help(shell, command_name, subcommand = false)
|
197
194
|
meth = normalize_command_name(command_name)
|
@@ -208,13 +205,15 @@ class Thor
|
|
208
205
|
else
|
209
206
|
shell.say command.description
|
210
207
|
end
|
208
|
+
|
209
|
+
nil
|
211
210
|
end
|
212
211
|
alias_method :task_help, :command_help
|
213
212
|
|
214
213
|
# Prints help information for this class.
|
215
214
|
#
|
216
|
-
#
|
217
|
-
#
|
215
|
+
# @param [Thor::Shell] shell
|
216
|
+
# @return (see Thor::Base::ClassMethods#class_options_help)
|
218
217
|
#
|
219
218
|
def help(shell, subcommand = false)
|
220
219
|
list = printable_commands(true, subcommand)
|
data/lib/thor/base.rb
CHANGED
@@ -26,7 +26,7 @@ require 'thor/base/class_methods'
|
|
26
26
|
# Refinements
|
27
27
|
# =======================================================================
|
28
28
|
|
29
|
-
|
29
|
+
require 'nrser/refinements/types'
|
30
30
|
using NRSER::Types
|
31
31
|
|
32
32
|
|
@@ -178,6 +178,28 @@ class Thor
|
|
178
178
|
raise error
|
179
179
|
end
|
180
180
|
|
181
|
+
|
182
|
+
# Hook for processing values return by command methods. So you can
|
183
|
+
# format it or print it or whatever.
|
184
|
+
#
|
185
|
+
# This implementation just returns the result per the specs.
|
186
|
+
#
|
187
|
+
# @param [Object] result
|
188
|
+
# Whatever the command returned.
|
189
|
+
#
|
190
|
+
# @param [Thor::Command] command
|
191
|
+
# The command instance that was running when the error occurred.
|
192
|
+
#
|
193
|
+
# @param [Array<String>] args
|
194
|
+
# The arguments to the command that was running.
|
195
|
+
#
|
196
|
+
# @return [Object]
|
197
|
+
# The `result`.
|
198
|
+
#
|
199
|
+
def on_run_success result, command, args
|
200
|
+
result
|
201
|
+
end
|
202
|
+
|
181
203
|
# end protected
|
182
204
|
|
183
205
|
|
@@ -13,7 +13,7 @@ require 'thor/base/common_class_options'
|
|
13
13
|
# Refinements
|
14
14
|
# =======================================================================
|
15
15
|
|
16
|
-
|
16
|
+
require 'nrser/refinements/types'
|
17
17
|
using NRSER::Types
|
18
18
|
|
19
19
|
|
@@ -533,7 +533,9 @@ module Thor::Base::ClassMethods
|
|
533
533
|
|
534
534
|
# Prints the class options per group. If an option does not belong to
|
535
535
|
# any group, it's printed as Class option.
|
536
|
-
#
|
536
|
+
#
|
537
|
+
# @return [nil]
|
538
|
+
#
|
537
539
|
def class_options_help(shell, groups = {}) #:nodoc:
|
538
540
|
# Group options by group
|
539
541
|
class_options.each do |_, value|
|
@@ -549,6 +551,8 @@ module Thor::Base::ClassMethods
|
|
549
551
|
groups.each do |group_name, options|
|
550
552
|
print_options(shell, options, group_name)
|
551
553
|
end
|
554
|
+
|
555
|
+
nil
|
552
556
|
end
|
553
557
|
|
554
558
|
|
data/lib/thor/command.rb
CHANGED
@@ -63,7 +63,7 @@ class Thor
|
|
63
63
|
# 1. Protect from calling private methods by error'ing out if {#name}
|
64
64
|
# is the name of a private method of `instance`.
|
65
65
|
#
|
66
|
-
if private_method? instance
|
66
|
+
result = if private_method? instance
|
67
67
|
instance.class.handle_no_command_error name
|
68
68
|
|
69
69
|
# 2. The success case - if {#name} is a public method of `instance`
|
@@ -101,6 +101,8 @@ class Thor
|
|
101
101
|
|
102
102
|
end # Method invocation switch
|
103
103
|
|
104
|
+
instance.__send__ :on_run_success, result, self, args
|
105
|
+
|
104
106
|
rescue ArgumentError => error
|
105
107
|
if handle_argument_error? instance, error, caller
|
106
108
|
# NOTE I *believe* `arity` could still be `nil`, assuming that
|
@@ -1,97 +1,37 @@
|
|
1
1
|
class Thor
|
2
|
-
|
3
|
-
|
2
|
+
module CoreExt
|
3
|
+
# A hash with indifferent access and magic predicates.
|
4
|
+
#
|
5
|
+
# hash = HashWithIndifferentAccess.new 'foo' => 'bar', 'baz' => 'bee', 'force' => true
|
6
|
+
#
|
7
|
+
# hash[:foo] #=> 'bar'
|
8
|
+
# hash['foo'] #=> 'bar'
|
9
|
+
# hash.foo? #=> true
|
10
|
+
#
|
11
|
+
class HashWithIndifferentAccess < ::HashWithIndifferentAccess #:nodoc:
|
12
|
+
|
13
|
+
protected
|
14
|
+
# ========================================================================
|
15
|
+
|
16
|
+
# Magic predicates. For instance:
|
4
17
|
#
|
5
|
-
#
|
18
|
+
# options.force? # => !!options['force']
|
19
|
+
# options.shebang # => "/usr/lib/local/ruby"
|
20
|
+
# options.test_framework?(:rspec) # => options[:test_framework] == :rspec
|
6
21
|
#
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(hash = {})
|
13
|
-
super()
|
14
|
-
hash.each do |key, value|
|
15
|
-
self[convert_key(key)] = value
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def [](key)
|
20
|
-
super(convert_key(key))
|
21
|
-
end
|
22
|
-
|
23
|
-
def []=(key, value)
|
24
|
-
super(convert_key(key), value)
|
25
|
-
end
|
26
|
-
|
27
|
-
def delete(key)
|
28
|
-
super(convert_key(key))
|
29
|
-
end
|
30
|
-
|
31
|
-
def fetch(key, *args)
|
32
|
-
super(convert_key(key), *args)
|
33
|
-
end
|
34
|
-
|
35
|
-
def key?(key)
|
36
|
-
super(convert_key(key))
|
37
|
-
end
|
38
|
-
|
39
|
-
def values_at(*indices)
|
40
|
-
indices.map { |key| self[convert_key(key)] }
|
41
|
-
end
|
42
|
-
|
43
|
-
def merge(other)
|
44
|
-
dup.merge!(other)
|
45
|
-
end
|
46
|
-
|
47
|
-
def merge!(other)
|
48
|
-
other.each do |key, value|
|
49
|
-
self[convert_key(key)] = value
|
50
|
-
end
|
51
|
-
self
|
52
|
-
end
|
53
|
-
|
54
|
-
def reverse_merge(other)
|
55
|
-
self.class.new(other).merge(self)
|
56
|
-
end
|
57
|
-
|
58
|
-
def reverse_merge!(other_hash)
|
59
|
-
replace(reverse_merge(other_hash))
|
60
|
-
end
|
61
|
-
|
62
|
-
def replace(other_hash)
|
63
|
-
super(other_hash)
|
64
|
-
end
|
65
|
-
|
66
|
-
# Convert to a Hash with String keys.
|
67
|
-
def to_hash
|
68
|
-
Hash.new(default).merge!(self)
|
69
|
-
end
|
70
|
-
|
71
|
-
protected
|
72
|
-
|
73
|
-
def convert_key(key)
|
74
|
-
key.is_a?(Symbol) ? key.to_s : key
|
75
|
-
end
|
76
|
-
|
77
|
-
# Magic predicates. For instance:
|
78
|
-
#
|
79
|
-
# options.force? # => !!options['force']
|
80
|
-
# options.shebang # => "/usr/lib/local/ruby"
|
81
|
-
# options.test_framework?(:rspec) # => options[:test_framework] == :rspec
|
82
|
-
#
|
83
|
-
def method_missing(method, *args)
|
84
|
-
method = method.to_s
|
85
|
-
if method =~ /^(\w+)\?$/
|
86
|
-
if args.empty?
|
87
|
-
!!self[$1]
|
88
|
-
else
|
89
|
-
self[$1] == args.first
|
90
|
-
end
|
22
|
+
def method_missing(method, *args)
|
23
|
+
method = method.to_s
|
24
|
+
if method =~ /^(\w+)\?$/
|
25
|
+
if args.empty?
|
26
|
+
!!self[$1]
|
91
27
|
else
|
92
|
-
self[
|
28
|
+
self[$1] == args.first
|
93
29
|
end
|
30
|
+
else
|
31
|
+
self[method]
|
94
32
|
end
|
95
33
|
end
|
96
|
-
|
97
|
-
end
|
34
|
+
|
35
|
+
public # end protected ***************************************************
|
36
|
+
|
37
|
+
end; end; end
|
data/lib/thor/execution.rb
CHANGED
@@ -10,6 +10,8 @@
|
|
10
10
|
# Deps
|
11
11
|
# -----------------------------------------------------------------------
|
12
12
|
|
13
|
+
require 'nrser/core_ext/array'
|
14
|
+
|
13
15
|
# Project / Package
|
14
16
|
# -----------------------------------------------------------------------
|
15
17
|
|
@@ -17,7 +19,7 @@
|
|
17
19
|
# Refinements
|
18
20
|
# =======================================================================
|
19
21
|
|
20
|
-
|
22
|
+
require 'nrser/refinements/types'
|
21
23
|
using NRSER::Types
|
22
24
|
|
23
25
|
|
data/lib/thor/version.rb
CHANGED
@@ -14,7 +14,7 @@ class Thor
|
|
14
14
|
#
|
15
15
|
# @return [String]
|
16
16
|
#
|
17
|
-
VERSION = '0.1.
|
17
|
+
VERSION = '0.1.6'
|
18
18
|
|
19
19
|
|
20
20
|
# The version of Thor that Atli is up to date with.
|
@@ -27,5 +27,5 @@ class Thor
|
|
27
27
|
#
|
28
28
|
# @return [String]
|
29
29
|
#
|
30
|
-
THOR_VERSION = '0.1.
|
30
|
+
THOR_VERSION = '0.1.6'
|
31
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Neil Souza (Atli)
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-05-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -30,16 +30,16 @@ dependencies:
|
|
30
30
|
name: nrser
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- - "
|
33
|
+
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.3.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- - "
|
40
|
+
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.3.1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: yard
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|