argparser 2.0.0.RC1 → 2.0.0

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: 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