argparser 2.0.0.RC1 → 2.0.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
  SHA1:
3
- metadata.gz: 58593645fe6bb77546efd38e6426d090f297e947
4
- data.tar.gz: 09097746fde57e2adfe85f103fa1ae59e3b19cfa
3
+ metadata.gz: ad223f706456638717baa527d93477d0dba2a98f
4
+ data.tar.gz: 7521d0a1ddff3586dbe24ba63d88b3a0b59e7bba
5
5
  SHA512:
6
- metadata.gz: 28adb1c9eca795de1ea6ec51a5f8af9ca1b09851e49645ac458744b46db0f2e223d65c1d184e70cd66ee3f8775870613c8a5096ede50fa74aa08f3befab340d2
7
- data.tar.gz: 7f6af691f64f2ecace8d8aec79573a615df41a747f29f1a91748b1352ecbfc137569fcdb698fc6fb35befdd04b202bf7e6f32de81e28cb430083cbc1032ad9d9
6
+ metadata.gz: 3829a2778d6c4a4b807fb15980e7e6d52030ed2d04c90eb07409ca20ab835b6f78accc13c6dcd2dd1d5adb19371810856a7fd1d2acae25c56e60b4e107bb088d
7
+ data.tar.gz: 9924ff1ae529bce199fb1c6b0383d1106dda42ac5a98a9391c92859622285ab0e7781eae5f6094fb3ece5c4ac87fc5c45f38cd2fda9647b098b73604e3c47af3
data/HISTORY.md CHANGED
@@ -1,4 +1,4 @@
1
- # 2.0.0.RC2
1
+ # 2.0.0
2
2
  2015-04-28 Holidays
3
3
 
4
4
  * All exclamation marks removed from method names
@@ -7,10 +7,6 @@
7
7
  * `Option/Argument#value` now is read-only
8
8
  * `Option/Argument#value?` now returns true in case of parsed option w/o param
9
9
  * Block(name, value) in `#parse`
10
-
11
- # 2.0.0.RC1
12
- 2015-04-28 Holidays
13
-
14
10
  * Major version changed due to extensive renamings and removals
15
11
  * Whitespace in option names no longer stripped
16
12
  * Separate classes for options and arguments
data/Rakefile CHANGED
@@ -2,16 +2,16 @@
2
2
  require 'rake/testtask'
3
3
 
4
4
  Rake::TestTask.new :test do |t|
5
- # t.test_files = FileList['spec/*_spec.rb']
6
5
  t.pattern = 'spec/**/*_spec.rb'
7
6
  t.libs.push 'spec'
8
7
  end
9
8
 
10
9
  task :build do
11
10
  system('gem build argparser.gemspec')
12
- # gem push argparser-1.0.0.gem
13
- # gem uninstall argparser
14
- # gem install argparser-1.0.0.gem
15
11
  end
16
12
 
17
- task :default => :test
13
+ task :lint do
14
+ system('rubocop -f s')
15
+ end
16
+
17
+ task :default => :test
data/argparser.gemspec CHANGED
@@ -15,12 +15,8 @@ Gem::Specification.new do |s|
15
15
  s.require_paths = ['lib']
16
16
  s.bindir = 'bin'
17
17
  s.executables = `git ls-files -- bin/`.split("\n").map{|f| File.basename(f)}
18
- # s.extra_rdoc_files = 'README.md'
19
- # s.rdoc_options << '--title' << 'argparser' <<
20
- # '--main' << 'README' <<
21
- # '--markup' << 'markdown' <<
22
- # '--line-numbers'
23
18
  s.add_development_dependency 'bundler', '~> 1.7'
24
19
  s.add_development_dependency 'rake', '~> 10.1'
25
20
  s.add_development_dependency 'minitest', '~> 4.7'
21
+ s.add_development_dependency 'rubocop', '~> 0.30'
26
22
  end
@@ -48,6 +48,7 @@ class ArgParser
48
48
  def manifest=(manifest)
49
49
  @@manifest = manifest
50
50
  end
51
+
51
52
  def manifest
52
53
  @@manifest ||= {}
53
54
  end
@@ -71,7 +72,7 @@ class ArgParser
71
72
  end
72
73
 
73
74
  def initialize(manifest)
74
- hash2vars(manifest = ArgParser.manifest.merge(manifest))
75
+ hash2vars(ArgParser.manifest.merge(manifest))
75
76
  @arguments =
76
77
  (@arguments || []).map {|o| o.kind_of?(Argument) ? o : Argument.new(o)}
77
78
  @options =
@@ -86,9 +87,8 @@ class ArgParser
86
87
  _check_manifest
87
88
 
88
89
  OPTS_RESERVED.each do |res|
89
- name = res[:name]
90
- next unless argv.include?("--#{name}") && !get_argument(name)
91
- terminate(0, self.send(res[:func]))
90
+ next if !argv.include?("--#{res[:name]}") || self[res[:name]]
91
+ terminate(0, send(res[:func]))
92
92
  end
93
93
 
94
94
  args = argv.dup
@@ -5,16 +5,16 @@ class ArgParser
5
5
  include Tools
6
6
 
7
7
  # These attrs are from the manifest that is applied through constructor
8
- attr_reader :name
9
- attr_reader :help # Help string
10
- attr_reader :validate # Proc(this, parser) to validate a value
11
- attr_reader :default # Value or proc to set default value
12
- attr_reader :required # Required
13
- attr_reader :multiple # May occur multiple times?
8
+ attr_reader :name
9
+ attr_reader :help # Help string
10
+ attr_reader :validate # Proc(this, parser) to validate a value
11
+ attr_reader :default # Default value
12
+ attr_reader :required # Required
13
+ attr_reader :multiple # May occur multiple times?
14
14
 
15
15
  # These attrs have their meaning after parsing was done
16
- attr_reader :count # Occucences
17
- attr_reader :value # Value (Array if multiple)
16
+ attr_reader :count # Occucences
17
+ attr_reader :value # Value (Array if multiple)
18
18
 
19
19
  # Just helper
20
20
  def names
@@ -25,7 +25,7 @@ class ArgParser
25
25
  def initialize(o_manifest)
26
26
  hash2vars(o_manifest)
27
27
  reset
28
- raise ManifestError, ERR_OPTION_NULL if !name or name.strip.empty?
28
+ raise ManifestError, ERR_OPTION_NULL if !name || name.strip.empty?
29
29
  end
30
30
 
31
31
  def synopsis
@@ -63,20 +63,12 @@ class ArgParser
63
63
  end
64
64
 
65
65
  def printed_help
66
- s = help || ''
67
- s << "\n\tDefaults to: #{get_default}" if default
68
- "%s\n\t%s" % [synopsis, s]
66
+ "%s\n\t%s" % [synopsis, (help || '')]
69
67
  end
70
68
 
71
69
  # Set value to default one if no value provided
72
70
  def set_default
73
- return self if !default || value?
74
- add_value(get_default)
75
- end
76
-
77
- # Get default value
78
- def get_default
79
- default.respond_to?(:call) ? default.call : default
71
+ (!default || value?) ? self : add_value(default)
80
72
  end
81
73
  end
82
74
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  class ArgParser
4
4
  class Option < Argument
5
-
6
5
  # These attrs are from the manifest that is applied through constructor
7
6
  attr_reader :param # Parameter name, if any
8
7
  # Returns first name as a 'default' one when several names given
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  class ArgParser
4
- VERSION = '2.0.0.RC1'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -83,7 +83,6 @@ A Example
83
83
  OPTIONS:
84
84
  [-m, --mode first|second|third]...
85
85
  \tExample mode.
86
- \tDefaults to: first
87
86
  [--help]
88
87
  \tPrint this help and exit.
89
88
  [--version]
@@ -91,7 +90,6 @@ OPTIONS:
91
90
  ARGUMENTS:
92
91
  [file]
93
92
  \tFilename or - for stdin.
94
- \tDefaults to: -
95
93
  Report bugs to: https://github.com/sinm/argparser
96
94
  ArgParser Spec home page: https://github.com/sinm/argparser\n")
97
95
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: argparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.RC1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sinm
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '4.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.30'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.30'
55
69
  description: "== Yet another ruby command line argument parser library"
56
70
  email: sinm.sinm@gmail.com
57
71
  executables: []
@@ -95,9 +109,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
109
  version: '0'
96
110
  required_rubygems_version: !ruby/object:Gem::Requirement
97
111
  requirements:
98
- - - ">"
112
+ - - ">="
99
113
  - !ruby/object:Gem::Version
100
- version: 1.3.1
114
+ version: '0'
101
115
  requirements: []
102
116
  rubyforge_project:
103
117
  rubygems_version: 2.2.2