hanami-cli 0.1.0.beta1 → 0.1.0.beta2
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/.gitignore +1 -0
- data/.rubocop.yml +4 -0
- data/.travis.yml +3 -3
- data/CHANGELOG.md +4 -0
- data/Gemfile +2 -2
- data/hanami-cli.gemspec +9 -8
- data/lib/hanami/cli/banner.rb +6 -1
- data/lib/hanami/cli/command_registry.rb +5 -0
- data/lib/hanami/cli/parser.rb +2 -1
- data/lib/hanami/cli/version.rb +1 -1
- data/script/ci +51 -0
- metadata +15 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d4e4a10ea60b044fb117ee000c8051328742059
|
4
|
+
data.tar.gz: 36a09925ac19e9f94a2a58422ef1e348556f0d89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb52b4f06425756aa1681ceea22feb28a5db0067ec42fc5f233f771fb8913844e6b6b9594ca310f11551b970c2f4b8ebcb5408cca83f2da607a74694f1d79013
|
7
|
+
data.tar.gz: 48368a1e44252c47845744fa794e4b7826e2418fdb0f2eb1e3fa99233da3267160ac18493d463ba5f6a4d5ddfd2a9737167b0383481258c12312aec9e4da35a1
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
data/.travis.yml
CHANGED
@@ -5,12 +5,12 @@ before_install:
|
|
5
5
|
- gem update --system
|
6
6
|
- rvm @global do gem uninstall bundler -a -x
|
7
7
|
- rvm @global do gem install bundler -v 1.14.6
|
8
|
-
script:
|
8
|
+
script: ./script/ci
|
9
9
|
rvm:
|
10
10
|
- 2.3.4
|
11
|
-
- 2.4.
|
11
|
+
- 2.4.2
|
12
12
|
- ruby-head
|
13
|
-
- jruby-9.1.
|
13
|
+
- jruby-9.1.13.0
|
14
14
|
- jruby-head
|
15
15
|
|
16
16
|
matrix:
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
# Hanami::CLI
|
2
2
|
General purpose Command Line Interface (CLI) framework for Ruby
|
3
3
|
|
4
|
+
## v0.1.0.beta2 - 2017-10-03
|
5
|
+
### Added
|
6
|
+
- [Alfonso Uceda] Allow default value for arguments
|
7
|
+
|
4
8
|
## v0.1.0.beta1 - 2017-08-11
|
5
9
|
### Added
|
6
10
|
- [Alfonso Uceda, Luca Guidi] Commands banner and usage
|
data/Gemfile
CHANGED
@@ -6,6 +6,6 @@ unless ENV['TRAVIS']
|
|
6
6
|
gem 'yard', require: false
|
7
7
|
end
|
8
8
|
|
9
|
-
gem 'hanami-utils', '1.1.0.
|
9
|
+
gem 'hanami-utils', '1.1.0.beta2', require: false, git: 'https://github.com/hanami/utils.git', branch: 'develop'
|
10
10
|
|
11
|
-
gem '
|
11
|
+
gem 'hanami-devtools', require: false, git: 'https://github.com/hanami/devtools.git'
|
data/hanami-cli.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'hanami/cli/version'
|
@@ -16,17 +16,18 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.metadata['allowed_push_host'] = "https://rubygems.org"
|
18
18
|
|
19
|
-
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
|
-
f.match(%r{^(test|spec|features)/})
|
21
|
-
end
|
22
19
|
spec.bindir = "exe"
|
23
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
21
|
spec.require_paths = ["lib"]
|
25
22
|
|
26
|
-
spec.
|
23
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
24
|
+
f.match(%r{^(test|spec|features)/})
|
25
|
+
end
|
26
|
+
|
27
|
+
spec.add_dependency "hanami-utils", "1.1.0.beta2"
|
27
28
|
spec.add_dependency "concurrent-ruby", "~> 1.0"
|
28
29
|
|
29
|
-
spec.add_development_dependency "bundler"
|
30
|
-
spec.add_development_dependency "rake",
|
31
|
-
spec.add_development_dependency "rspec", "~> 3.
|
30
|
+
spec.add_development_dependency "bundler"
|
31
|
+
spec.add_development_dependency "rake", "~> 12.0"
|
32
|
+
spec.add_development_dependency "rspec", "~> 3.6"
|
32
33
|
end
|
data/lib/hanami/cli/banner.rb
CHANGED
@@ -76,7 +76,7 @@ module Hanami
|
|
76
76
|
|
77
77
|
# @since 0.1.0
|
78
78
|
# @api private
|
79
|
-
def self.arguments(command)
|
79
|
+
def self.arguments(command) # rubocop:disable Metrics/AbcSize
|
80
80
|
required_arguments = command.required_arguments
|
81
81
|
optional_arguments = command.optional_arguments
|
82
82
|
|
@@ -97,6 +97,9 @@ module Hanami
|
|
97
97
|
|
98
98
|
# @since 0.1.0
|
99
99
|
# @api private
|
100
|
+
#
|
101
|
+
# rubocop:disable Metrics/AbcSize
|
102
|
+
# rubocop:disable Metrics/MethodLength
|
100
103
|
def self.extended_command_options(command)
|
101
104
|
result = command.options.map do |option|
|
102
105
|
name = Utils::String.dasherize(option.name)
|
@@ -116,6 +119,8 @@ module Hanami
|
|
116
119
|
result << " --#{'help, -h'.ljust(30)}\t# Print this help"
|
117
120
|
result.join("\n")
|
118
121
|
end
|
122
|
+
# rubocop:enable Metrics/MethodLength
|
123
|
+
# rubocop:enable Metrics/AbcSize
|
119
124
|
end
|
120
125
|
end
|
121
126
|
end
|
@@ -30,6 +30,9 @@ module Hanami
|
|
30
30
|
|
31
31
|
# @since 0.1.0
|
32
32
|
# @api private
|
33
|
+
#
|
34
|
+
# rubocop:disable Metrics/AbcSize
|
35
|
+
# rubocop:disable Metrics/MethodLength
|
33
36
|
def get(arguments)
|
34
37
|
node = @root
|
35
38
|
args = []
|
@@ -57,6 +60,8 @@ module Hanami
|
|
57
60
|
|
58
61
|
result
|
59
62
|
end
|
63
|
+
# rubocop:enable Metrics/MethodLength
|
64
|
+
# rubocop:enable Metrics/AbcSize
|
60
65
|
|
61
66
|
private
|
62
67
|
|
data/lib/hanami/cli/parser.rb
CHANGED
@@ -64,7 +64,8 @@ module Hanami
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
|
67
|
+
parse_params.reject! { |_key, value| value.nil? }
|
68
|
+
Result.success(parsed_options.merge(parse_params))
|
68
69
|
end
|
69
70
|
# rubocop:enable Metrics/MethodLength
|
70
71
|
# rubocop:enable Metrics/AbcSize
|
data/lib/hanami/cli/version.rb
CHANGED
data/script/ci
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -euo pipefail
|
3
|
+
IFS=$'\n\t'
|
4
|
+
|
5
|
+
run_code_quality_checks() {
|
6
|
+
bundle exec rubocop .
|
7
|
+
}
|
8
|
+
|
9
|
+
run_unit_tests() {
|
10
|
+
bundle exec rake spec:coverage
|
11
|
+
}
|
12
|
+
|
13
|
+
run_isolation_tests() {
|
14
|
+
local pwd=$PWD
|
15
|
+
local root="$pwd/spec/isolation"
|
16
|
+
|
17
|
+
if [ -d $root ]; then
|
18
|
+
for test in $(find $root -name '*_spec.rb')
|
19
|
+
do
|
20
|
+
run_isolation_test $test
|
21
|
+
|
22
|
+
if [ $? -ne 0 ]; then
|
23
|
+
local exit_code=$?
|
24
|
+
echo "Failing test: $test"
|
25
|
+
exit $exit_code
|
26
|
+
fi
|
27
|
+
done
|
28
|
+
fi
|
29
|
+
}
|
30
|
+
|
31
|
+
run_isolation_test() {
|
32
|
+
local test=$1
|
33
|
+
|
34
|
+
printf "\n\n\nRunning: $test\n"
|
35
|
+
ruby $test --options spec/isolation/.rspec
|
36
|
+
}
|
37
|
+
|
38
|
+
run_test() {
|
39
|
+
local test=$1
|
40
|
+
|
41
|
+
printf "\n\n\nRunning: $test\n"
|
42
|
+
COVERAGE=true bundle exec rspec $test
|
43
|
+
}
|
44
|
+
|
45
|
+
main() {
|
46
|
+
run_code_quality_checks &&
|
47
|
+
run_unit_tests &&
|
48
|
+
run_isolation_tests
|
49
|
+
}
|
50
|
+
|
51
|
+
main
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hanami-utils
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.1.0.
|
19
|
+
version: 1.1.0.beta2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.1.0.
|
26
|
+
version: 1.1.0.beta2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: concurrent-ruby
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,44 +42,44 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '12.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '12.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '3.
|
75
|
+
version: '3.6'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
82
|
+
version: '3.6'
|
83
83
|
description: Hanami framework to build command line interfaces with Ruby
|
84
84
|
email:
|
85
85
|
- me@lucaguidi.com
|
@@ -89,6 +89,7 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
91
|
- ".rspec"
|
92
|
+
- ".rubocop.yml"
|
92
93
|
- ".travis.yml"
|
93
94
|
- CHANGELOG.md
|
94
95
|
- Gemfile
|
@@ -107,6 +108,7 @@ files:
|
|
107
108
|
- lib/hanami/cli/registry.rb
|
108
109
|
- lib/hanami/cli/usage.rb
|
109
110
|
- lib/hanami/cli/version.rb
|
111
|
+
- script/ci
|
110
112
|
homepage: http://hanamirb.org
|
111
113
|
licenses:
|
112
114
|
- MIT
|
@@ -128,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
130
|
version: 1.3.1
|
129
131
|
requirements: []
|
130
132
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.6.
|
133
|
+
rubygems_version: 2.6.13
|
132
134
|
signing_key:
|
133
135
|
specification_version: 4
|
134
136
|
summary: Hanami CLI
|