rprogram 0.2.0 → 0.2.1

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.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour --format documentation
data/ChangeLog.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 0.2.1 / 2010-10-27
2
+
3
+ * Allow the formatter block passed to {RProgram::Option} to return `nil`.
4
+
1
5
  ### 0.2.0 / 2010-10-03
2
6
 
3
7
  * Added {RProgram::Nameable::ClassMethods}.
data/Rakefile CHANGED
@@ -1,43 +1,35 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
- require './lib/rprogram/version.rb'
4
3
 
5
4
  begin
6
- gem 'jeweler', '~> 1.4.0'
7
- require 'jeweler'
5
+ gem 'ore-tasks', '~> 0.1.2'
6
+ require 'ore/tasks'
8
7
 
9
- Jeweler::Tasks.new do |gem|
10
- gem.name = 'rprogram'
11
- gem.version = RProgram::VERSION
12
- gem.summary = %Q{A library for creating wrappers around command-line programs.}
13
- gem.description = %Q{RProgram is a library for creating wrappers around command-line programs. RProgram provides a Rubyful interface to programs and all their options or non-options. RProgram can also search for programs installed on a system.}
14
- gem.email = 'postmodern.mod3@gmail.com'
15
- gem.homepage = 'http://github.com/postmodern/rprogram'
16
- gem.authors = ['Postmodern']
17
- gem.add_development_dependency 'rspec', '>= 1.3.0'
18
- gem.add_development_dependency 'yard', '>= 0.5.3'
19
- gem.has_rdoc = 'yard'
20
- end
21
- Jeweler::GemcutterTasks.new
22
- rescue LoadError
23
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
8
+ Ore::Tasks.new
9
+ rescue LoadError => e
10
+ STDERR.puts e.message
11
+ STDERR.puts "Run `gem install ore-tasks` to install 'ore/tasks'."
24
12
  end
25
13
 
26
- require 'spec/rake/spectask'
27
- Spec::Rake::SpecTask.new(:spec) do |spec|
28
- spec.libs += ['lib', 'spec']
29
- spec.spec_files = FileList['spec/**/*_spec.rb']
30
- spec.spec_opts = ['--options', '.specopts']
31
- end
14
+ begin
15
+ gem 'rspec', '~> 2.0.0'
16
+ require 'rspec/core/rake_task'
32
17
 
33
- task :spec => :check_dependencies
18
+ RSpec::Core::RakeTask.new
19
+ rescue LoadError => e
20
+ task :spec do
21
+ abort "Please run `gem install rspec` to install RSpec."
22
+ end
23
+ end
34
24
  task :default => :spec
35
25
 
36
26
  begin
27
+ gem 'yard', '~> 0.6.0'
37
28
  require 'yard'
38
- YARD::Rake::YardocTask.new
39
- rescue LoadError
29
+
30
+ YARD::Rake::YardocTask.new
31
+ rescue LoadError => e
40
32
  task :yard do
41
- abort "YARD is not available. In order to run yard, you must: gem install yard"
33
+ abort "Please run `gem install yard` to install YARD."
42
34
  end
43
35
  end
data/gemspec.yml ADDED
@@ -0,0 +1,20 @@
1
+ name: rprogram
2
+ summary: A library for creating wrappers around command-line programs.
3
+ description:
4
+ RProgram is a library for creating wrappers around command-line programs.
5
+ RProgram provides a Rubyful interface to programs and all their options
6
+ or non-options. RProgram can also search for programs installed on a
7
+ system. files without having to use YAML or define classes named like
8
+ the file.
9
+
10
+ license: MIT
11
+ authors: Postmodern
12
+ email: postmodern.mod3@gmail.com
13
+ homepage: http://github.com/postmodern/rprogram
14
+ has_yard: true
15
+
16
+ development_dependencies:
17
+ ore: ~> 0.2.0
18
+ ore-tasks: ~> 0.1.2
19
+ rspec: ~> 2.0.0
20
+ yard: ~> 0.6.0
@@ -110,12 +110,15 @@ module RProgram
110
110
 
111
111
  if @multiple
112
112
  return value.inject([]) do |args,value|
113
- args + @formatter.call(self,[value])
113
+ arg = @formatter.call(self,[value])
114
+
115
+ args += arg if arg
116
+ args
114
117
  end
115
118
  else
116
119
  value = [value.join(@separator)] if @separator
117
120
 
118
- return @formatter.call(self,value)
121
+ return (@formatter.call(self,value) || [])
119
122
  end
120
123
  end
121
124
 
@@ -1,4 +1,4 @@
1
1
  module RProgram
2
2
  # Version of RProgram
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
data/rprogram.gemspec CHANGED
@@ -1,104 +1,10 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
5
2
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{rprogram}
8
- s.version = "0.2.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Postmodern"]
12
- s.date = %q{2010-10-03}
13
- s.description = %q{RProgram is a library for creating wrappers around command-line programs. RProgram provides a Rubyful interface to programs and all their options or non-options. RProgram can also search for programs installed on a system.}
14
- s.email = %q{postmodern.mod3@gmail.com}
15
- s.extra_rdoc_files = [
16
- "ChangeLog.md",
17
- "LICENSE.txt",
18
- "README.md"
19
- ]
20
- s.files = [
21
- ".gitignore",
22
- ".specopts",
23
- ".yardopts",
24
- "ChangeLog.md",
25
- "LICENSE.txt",
26
- "README.md",
27
- "Rakefile",
28
- "lib/rprogram.rb",
29
- "lib/rprogram/compat.rb",
30
- "lib/rprogram/exceptions.rb",
31
- "lib/rprogram/exceptions/program_not_found.rb",
32
- "lib/rprogram/extensions.rb",
33
- "lib/rprogram/nameable.rb",
34
- "lib/rprogram/nameable/class_methods.rb",
35
- "lib/rprogram/nameable/nameable.rb",
36
- "lib/rprogram/non_option.rb",
37
- "lib/rprogram/option.rb",
38
- "lib/rprogram/option_list.rb",
39
- "lib/rprogram/options.rb",
40
- "lib/rprogram/options/class_methods.rb",
41
- "lib/rprogram/options/options.rb",
42
- "lib/rprogram/program.rb",
43
- "lib/rprogram/rprogram.rb",
44
- "lib/rprogram/task.rb",
45
- "lib/rprogram/version.rb",
46
- "lib/rprogram/yard.rb",
47
- "rprogram.gemspec",
48
- "spec/classes/aliased_program.rb",
49
- "spec/classes/ls_program.rb",
50
- "spec/classes/ls_selinux_task.rb",
51
- "spec/classes/ls_task.rb",
52
- "spec/classes/named_program.rb",
53
- "spec/compat_spec.rb",
54
- "spec/nameable_spec.rb",
55
- "spec/non_option_spec.rb",
56
- "spec/option_examples.rb",
57
- "spec/option_list_spec.rb",
58
- "spec/option_spec.rb",
59
- "spec/program_spec.rb",
60
- "spec/rprogram_spec.rb",
61
- "spec/spec_helper.rb",
62
- "spec/task_spec.rb"
63
- ]
64
- s.has_rdoc = %q{yard}
65
- s.homepage = %q{http://github.com/postmodern/rprogram}
66
- s.rdoc_options = ["--charset=UTF-8"]
67
- s.require_paths = ["lib"]
68
- s.rubygems_version = %q{1.3.7}
69
- s.summary = %q{A library for creating wrappers around command-line programs.}
70
- s.test_files = [
71
- "spec/classes/ls_program.rb",
72
- "spec/classes/named_program.rb",
73
- "spec/classes/ls_selinux_task.rb",
74
- "spec/classes/aliased_program.rb",
75
- "spec/classes/ls_task.rb",
76
- "spec/nameable_spec.rb",
77
- "spec/program_spec.rb",
78
- "spec/rprogram_spec.rb",
79
- "spec/option_examples.rb",
80
- "spec/non_option_spec.rb",
81
- "spec/compat_spec.rb",
82
- "spec/option_list_spec.rb",
83
- "spec/spec_helper.rb",
84
- "spec/option_spec.rb",
85
- "spec/task_spec.rb"
86
- ]
87
-
88
- if s.respond_to? :specification_version then
89
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
90
- s.specification_version = 3
91
-
92
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
93
- s.add_development_dependency(%q<rspec>, [">= 1.3.0"])
94
- s.add_development_dependency(%q<yard>, [">= 0.5.3"])
95
- else
96
- s.add_dependency(%q<rspec>, [">= 1.3.0"])
97
- s.add_dependency(%q<yard>, [">= 0.5.3"])
98
- end
99
- else
100
- s.add_dependency(%q<rspec>, [">= 1.3.0"])
101
- s.add_dependency(%q<yard>, [">= 0.5.3"])
3
+ begin
4
+ Ore::Specification.new do |gemspec|
5
+ # custom logic here
102
6
  end
7
+ rescue NameError
8
+ STDERR.puts "The 'rprogram.gemspec' file requires Ore."
9
+ STDERR.puts "Run `gem install ore` to install Ore."
103
10
  end
104
-
data/spec/option_spec.rb CHANGED
@@ -4,6 +4,14 @@ require 'spec_helper'
4
4
  require 'option_examples'
5
5
 
6
6
  describe Option do
7
+ describe "custom formatting" do
8
+ it "should allow the format block to return nil" do
9
+ opt = Option.new(:flag => '-f') { |opt,value| }
10
+
11
+ opt.arguments('bla').should == []
12
+ end
13
+ end
14
+
7
15
  describe "single flag" do
8
16
  before(:all) do
9
17
  @option = Option.new(:flag => '-f')
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
- gem 'rspec', '>=1.3.0'
3
- require 'spec'
2
+ gem 'rspec', '~> 2.0.0'
3
+ require 'rspec'
4
4
 
5
5
  require 'rprogram/version'
6
6
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 0
9
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Postmodern
@@ -14,57 +14,85 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-03 00:00:00 -07:00
17
+ date: 2010-10-27 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: rspec
21
+ name: ore
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
- - - ">="
26
+ - - ~>
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
- - 1
30
- - 3
31
29
  - 0
32
- version: 1.3.0
30
+ - 2
31
+ - 0
32
+ version: 0.2.0
33
33
  type: :development
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: yard
36
+ name: ore-tasks
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ">="
41
+ - - ~>
42
42
  - !ruby/object:Gem::Version
43
43
  segments:
44
44
  - 0
45
- - 5
46
- - 3
47
- version: 0.5.3
45
+ - 1
46
+ - 2
47
+ version: 0.1.2
48
48
  type: :development
49
49
  version_requirements: *id002
50
- description: RProgram is a library for creating wrappers around command-line programs. RProgram provides a Rubyful interface to programs and all their options or non-options. RProgram can also search for programs installed on a system.
50
+ - !ruby/object:Gem::Dependency
51
+ name: rspec
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ segments:
59
+ - 2
60
+ - 0
61
+ - 0
62
+ version: 2.0.0
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: yard
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ segments:
74
+ - 0
75
+ - 6
76
+ - 0
77
+ version: 0.6.0
78
+ type: :development
79
+ version_requirements: *id004
80
+ description: RProgram is a library for creating wrappers around command-line programs. RProgram provides a Rubyful interface to programs and all their options or non-options. RProgram can also search for programs installed on a system. files without having to use YAML or define classes named like the file.
51
81
  email: postmodern.mod3@gmail.com
52
82
  executables: []
53
83
 
54
84
  extensions: []
55
85
 
56
86
  extra_rdoc_files:
57
- - ChangeLog.md
58
- - LICENSE.txt
59
87
  - README.md
60
88
  files:
61
- - .gitignore
62
- - .specopts
89
+ - .rspec
63
90
  - .yardopts
64
91
  - ChangeLog.md
65
92
  - LICENSE.txt
66
93
  - README.md
67
94
  - Rakefile
95
+ - gemspec.yml
68
96
  - lib/rprogram.rb
69
97
  - lib/rprogram/compat.rb
70
98
  - lib/rprogram/exceptions.rb
@@ -102,11 +130,11 @@ files:
102
130
  - spec/task_spec.rb
103
131
  has_rdoc: yard
104
132
  homepage: http://github.com/postmodern/rprogram
105
- licenses: []
106
-
133
+ licenses:
134
+ - MIT
107
135
  post_install_message:
108
- rdoc_options:
109
- - --charset=UTF-8
136
+ rdoc_options: []
137
+
110
138
  require_paths:
111
139
  - lib
112
140
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -127,24 +155,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
155
  version: "0"
128
156
  requirements: []
129
157
 
130
- rubyforge_project:
158
+ rubyforge_project: rprogram
131
159
  rubygems_version: 1.3.7
132
160
  signing_key:
133
161
  specification_version: 3
134
162
  summary: A library for creating wrappers around command-line programs.
135
163
  test_files:
136
- - spec/classes/ls_program.rb
137
- - spec/classes/named_program.rb
138
- - spec/classes/ls_selinux_task.rb
139
- - spec/classes/aliased_program.rb
140
- - spec/classes/ls_task.rb
141
164
  - spec/nameable_spec.rb
142
165
  - spec/program_spec.rb
143
166
  - spec/rprogram_spec.rb
144
- - spec/option_examples.rb
145
167
  - spec/non_option_spec.rb
146
168
  - spec/compat_spec.rb
147
169
  - spec/option_list_spec.rb
148
- - spec/spec_helper.rb
149
170
  - spec/option_spec.rb
150
171
  - spec/task_spec.rb
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- doc
2
- pkg
3
- tmp/*
4
- .DS_Store
5
- .yardoc
6
- *.db
7
- *.log
8
- *.swp
9
- *~
data/.specopts DELETED
@@ -1 +0,0 @@
1
- --colour --format specdoc