claide 1.0.0.beta.2 → 1.0.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 138c2f7de447bdfad1075ed69ac06bfc9220cec3
4
- data.tar.gz: c88d79e4178e7ffcf4602734af362cc177756598
3
+ metadata.gz: 06e20928eea4eabc6a9ab3b7e13cb151e56e87f5
4
+ data.tar.gz: 4fdc3e561bc02cbe10c9d0abc2625589bd5c02fc
5
5
  SHA512:
6
- metadata.gz: 23dc3f7e517459964657b086ea2ff1ba7de2f5ad346d4387bc6f8bb8a1f6caacb558c65bf4a2e6c3cc410670497b1a041c66e5e4c07c92a6799fd6426dc0bd93
7
- data.tar.gz: 45415976ea1d18c5d5743b62e7cb4f80052137a88947665fb8491da4b7dc8587c81667ecfa9315afa7f32776980cde23a788570f8e5c309eebbf63894cf8fc96
6
+ metadata.gz: d46a4e9260a1d06fab489db3a2ef5e985127dd12eb2345d7d5cd490238414f5564d5178cba91104e20a7f8d2b87e36d8c8c3df7abbeaedb5c88f843259258242
7
+ data.tar.gz: b79d6085ba8db4351c710a883cb77e5c956a193e6b7bfc3ea005931f7b47d3b64f35807540c44003401e6d635689aad6f2190577639789a7c05936e0e4afcf80
@@ -1,2 +1,3 @@
1
1
  inherit_from:
2
- - .rubocop_cocoapods.yml
2
+ - .rubocop_todo.yml
3
+ - .rubocop_cocoapods.yml
@@ -5,6 +5,7 @@ AllCops:
5
5
  - ./*.gemspec
6
6
  Exclude:
7
7
  - ./spec/fixtures/**/*
8
+ - ./vendor/bundle/**/*
8
9
 
9
10
  # At the moment not ready to be used
10
11
  # https://github.com/bbatsov/rubocop/issues/947
@@ -39,7 +40,10 @@ Encoding:
39
40
 
40
41
  # Having these make it easier to *not* forget to add one when adding a new
41
42
  # value and you can simply copy the previous line.
42
- TrailingComma:
43
+ Style/TrailingCommaInArguments:
44
+ EnforcedStyleForMultiline: comma
45
+
46
+ Style/TrailingCommaInLiteral:
43
47
  EnforcedStyleForMultiline: comma
44
48
 
45
49
  Style/MultilineOperationIndentation:
@@ -58,6 +62,11 @@ Next:
58
62
  Metrics/ClassLength:
59
63
  Enabled: false
60
64
 
65
+ # Arbitrary max lengths for modules simply do not work and enabling this will
66
+ # lead to a never ending stream of annoyance and changes.
67
+ Metrics/ModuleLength:
68
+ Enabled: false
69
+
61
70
  # Arbitrary max lengths for methods simply do not work and enabling this will
62
71
  # lead to a never ending stream of annoyance and changes.
63
72
  Metrics/MethodLength:
@@ -77,6 +86,11 @@ Metrics/AbcSize:
77
86
  Metrics/CyclomaticComplexity:
78
87
  Enabled: false
79
88
 
89
+ # It will be obvious which code is complex, Rubocop should only lint simple
90
+ # rules for us.
91
+ Metrics/PerceivedComplexity:
92
+ Enabled: false
93
+
80
94
  #- CocoaPods support for Ruby 1.8.7 ------------------------------------------#
81
95
 
82
96
  HashSyntax:
@@ -101,6 +115,10 @@ AmbiguousRegexpLiteral:
101
115
  Exclude:
102
116
  - spec/**/*
103
117
 
118
+ Performance/RedundantMatch:
119
+ Exclude:
120
+ - spec/**/*
121
+
104
122
  # Allow `object.should == object` syntax.
105
123
  Void:
106
124
  Exclude:
@@ -113,4 +131,3 @@ ClassAndModuleChildren:
113
131
  UselessComparison:
114
132
  Exclude:
115
133
  - spec/**/*
116
-
@@ -0,0 +1,70 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2016-03-09 18:40:14 -0600 using RuboCop version 0.38.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 3
10
+ Lint/IneffectiveAccessModifier:
11
+ Exclude:
12
+ - 'lib/claide/command.rb'
13
+
14
+ # Offense count: 1
15
+ # Cop supports --auto-correct.
16
+ Lint/UnneededDisable:
17
+ Exclude:
18
+ - 'spec/command/banner_spec.rb'
19
+
20
+ # Offense count: 1
21
+ Performance/FixedSize:
22
+ Exclude:
23
+ - 'lib/claide/command/banner.rb'
24
+
25
+ # Offense count: 1
26
+ # Cop supports --auto-correct.
27
+ Performance/StringReplacement:
28
+ Exclude:
29
+ - 'lib/claide/command/banner.rb'
30
+
31
+ # Offense count: 8
32
+ # Cop supports --auto-correct.
33
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
34
+ # SupportedStyles: prefer_alias, prefer_alias_method
35
+ Style/Alias:
36
+ Exclude:
37
+ - 'lib/claide/argument.rb'
38
+ - 'lib/claide/command.rb'
39
+
40
+ # Offense count: 1
41
+ # Cop supports --auto-correct.
42
+ # Configuration parameters: SingleLineConditionsOnly.
43
+ Style/ConditionalAssignment:
44
+ Exclude:
45
+ - 'lib/claide/command/banner.rb'
46
+
47
+ # Offense count: 1
48
+ Style/IfInsideElse:
49
+ Exclude:
50
+ - 'lib/claide/command.rb'
51
+
52
+ # Offense count: 9
53
+ # Cop supports --auto-correct.
54
+ Style/MutableConstant:
55
+ Exclude:
56
+ - 'lib/claide/ansi.rb'
57
+ - 'lib/claide/argument.rb'
58
+ - 'lib/claide/command.rb'
59
+
60
+ # Offense count: 1
61
+ # Cop supports --auto-correct.
62
+ Style/ParallelAssignment:
63
+ Exclude:
64
+ - 'lib/claide/command/argument_suggester.rb'
65
+
66
+ # Offense count: 1
67
+ # Cop supports --auto-correct.
68
+ Style/UnneededInterpolation:
69
+ Exclude:
70
+ - 'lib/claide/command/argument_suggester.rb'
@@ -1,5 +1,18 @@
1
1
  # CLAide Changelog
2
2
 
3
+ ## 1.0.0.beta.3 (2016-03-15)
4
+
5
+ ##### Enhancements
6
+
7
+ * Added `Command.option` to easily add a single option to a command class.
8
+ [Samuel Giddins](https://github.com/segiddins)
9
+ [#64](https://github.com/CocoaPods/CLAide/issues/64)
10
+
11
+ ##### Bug Fixes
12
+
13
+ * None.
14
+
15
+
3
16
  ## 1.0.0.beta.2 (2016-03-08)
4
17
 
5
18
  ##### Bug Fixes
data/Gemfile CHANGED
@@ -15,7 +15,7 @@ group :spec do
15
15
  gem 'mocha-on-bacon'
16
16
  gem 'prettybacon'
17
17
 
18
- if RUBY_VERSION >= '1.9.3'
18
+ install_if RUBY_VERSION >= '1.9.3' do
19
19
  gem 'rubocop'
20
20
  gem 'codeclimate-test-reporter', :require => nil
21
21
  gem 'simplecov'
@@ -1,14 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- claide (1.0.0.beta.2)
4
+ claide (1.0.0.beta.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.2.0)
10
- astrolabe (1.3.0)
11
- parser (>= 2.2.0.pre.3, < 3.0)
12
10
  bacon (1.2.0)
13
11
  codeclimate-test-reporter (0.4.1)
14
12
  simplecov (>= 0.7.1, < 1.0.0)
@@ -32,28 +30,29 @@ GEM
32
30
  notify (0.5.2)
33
31
  parser (2.3.0.6)
34
32
  ast (~> 2.2)
35
- powerpack (0.1.0)
33
+ powerpack (0.1.1)
36
34
  prettybacon (0.0.2)
37
35
  bacon (~> 1.2)
38
- rainbow (2.0.0)
36
+ rainbow (2.1.0)
39
37
  rake (10.3.2)
40
38
  rb-fsevent (0.9.4)
41
39
  rb-inotify (0.9.5)
42
40
  ffi (>= 0.5.0)
43
41
  rb-kqueue (0.2.3)
44
42
  ffi (>= 0.5.0)
45
- rubocop (0.29.1)
46
- astrolabe (~> 1.3)
47
- parser (>= 2.2.0.1, < 3.0)
43
+ rubocop (0.38.0)
44
+ parser (>= 2.3.0.6, < 3.0)
48
45
  powerpack (~> 0.1)
49
46
  rainbow (>= 1.99.1, < 3.0)
50
- ruby-progressbar (~> 1.4)
51
- ruby-progressbar (1.7.1)
47
+ ruby-progressbar (~> 1.7)
48
+ unicode-display_width (~> 1.0, >= 1.0.1)
49
+ ruby-progressbar (1.7.5)
52
50
  simplecov (0.9.1)
53
51
  docile (~> 1.1.0)
54
52
  multi_json (~> 1.0)
55
53
  simplecov-html (~> 0.8.0)
56
54
  simplecov-html (0.8.0)
55
+ unicode-display_width (1.0.1)
57
56
 
58
57
  PLATFORMS
59
58
  ruby
@@ -8,7 +8,7 @@ module CLAide
8
8
  #
9
9
  # CLAide’s version, following [semver](http://semver.org).
10
10
  #
11
- VERSION = '1.0.0.beta.2'.freeze
11
+ VERSION = '1.0.0.beta.3'.freeze
12
12
 
13
13
  require 'claide/ansi'
14
14
  require 'claide/argument'
@@ -256,6 +256,28 @@ module CLAide
256
256
  end
257
257
  end
258
258
 
259
+ # Adds a new option for the current command.
260
+ #
261
+ # This method can be used in conjunction with overriding `options`.
262
+ #
263
+ # @return [void]
264
+ #
265
+ # @example
266
+ #
267
+ # option '--help', 'Print help banner '
268
+ #
269
+ def self.option(name, description)
270
+ mod = Module.new do
271
+ define_method(:options) do
272
+ [
273
+ [name, description],
274
+ ].concat(super())
275
+ end
276
+ end
277
+ extend(mod)
278
+ end
279
+ private_class_method :option
280
+
259
281
  # Handles root commands options if appropriate.
260
282
  #
261
283
  # @param [ARGV] argv
@@ -45,7 +45,7 @@ module CLAide
45
45
  pretty_suggestion = self.class.prettify_suggestion(suggestion,
46
46
  @argument_type)
47
47
  "Unknown #{argument_description}: `#{@argument}`\n" \
48
- "Did you mean: #{pretty_suggestion}"
48
+ "Did you mean: #{pretty_suggestion}?"
49
49
  else
50
50
  "Unknown #{argument_description}: `#{@argument}`"
51
51
  end
@@ -64,7 +64,7 @@ module CLAide
64
64
  def self.prettify_suggestion(suggestion, argument_type)
65
65
  case argument_type
66
66
  when :option, :flag
67
- suggestion = "#{suggestion}"
67
+ suggestion = suggestion.to_s
68
68
  suggestion.ansi.blue
69
69
  when :arg
70
70
  suggestion.ansi.green
@@ -81,8 +81,6 @@ module CLAide
81
81
  # The second string to compare.
82
82
  #
83
83
  # @return [Fixnum] The distance between the strings.
84
- #
85
- # rubocop:disable all
86
84
  def self.levenshtein_distance(a, b)
87
85
  a, b = a.downcase, b.downcase
88
86
  costs = Array(0..b.length)
@@ -96,7 +94,6 @@ module CLAide
96
94
  end
97
95
  costs[b.length]
98
96
  end
99
- # rubocop:enable all
100
97
  end
101
98
  end
102
99
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claide
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.2
4
+ version: 1.0.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-03-08 00:00:00.000000000 Z
12
+ date: 2016-03-15 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
15
  email:
@@ -19,12 +19,13 @@ executables: []
19
19
  extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
- - ".gitignore"
23
- - ".kick"
24
- - ".rubocop.yml"
25
- - ".rubocop_cocoapods.yml"
26
- - ".travis.yml"
27
- - ".yardopts"
22
+ - .gitignore
23
+ - .kick
24
+ - .rubocop.yml
25
+ - .rubocop_cocoapods.yml
26
+ - .rubocop_todo.yml
27
+ - .travis.yml
28
+ - .yardopts
28
29
  - CHANGELOG.md
29
30
  - Gemfile
30
31
  - Gemfile.lock
@@ -55,17 +56,17 @@ require_paths:
55
56
  - lib
56
57
  required_ruby_version: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - ">="
59
+ - - '>='
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
62
  required_rubygems_version: !ruby/object:Gem::Requirement
62
63
  requirements:
63
- - - ">="
64
+ - - '>='
64
65
  - !ruby/object:Gem::Version
65
66
  version: '0'
66
67
  requirements: []
67
68
  rubyforge_project:
68
- rubygems_version: 2.6.1
69
+ rubygems_version: 2.6.2
69
70
  signing_key:
70
71
  specification_version: 3
71
72
  summary: A small command-line interface framework.