command-builder 0.1.0 → 0.1.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.
@@ -0,0 +1,7 @@
1
+
2
+ 0.1.1 (2011-07-24)
3
+ * #reset method added
4
+ * internal switch to more modern 'hash-utils'
5
+
6
+ 0.1.0 (2011-02-16)
7
+ * initial version
data/Gemfile CHANGED
@@ -1,12 +1,11 @@
1
1
  source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
- # gem "depq", ">= 0.4"
5
- gem "hash-utils", ">= 0.7.0"
4
+ gem "hash-utils", ">= 0.18.0"
6
5
 
7
6
  # Add dependencies to develop your gem here.
8
7
  # Include everything needed to run rake, tests, features, etc.
9
8
  group :development do
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
9
+ gem "bundler", ">= 1.0.0"
10
+ gem "jeweler", ">= 1.5.2"
12
11
  end
@@ -2,17 +2,17 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  git (1.2.5)
5
- hash-utils (0.8.0)
6
- jeweler (1.5.2)
7
- bundler (~> 1.0.0)
5
+ hash-utils (0.18.0)
6
+ jeweler (1.6.4)
7
+ bundler (~> 1.0)
8
8
  git (>= 1.2.5)
9
9
  rake
10
- rake (0.8.7)
10
+ rake (0.9.2)
11
11
 
12
12
  PLATFORMS
13
13
  ruby
14
14
 
15
15
  DEPENDENCIES
16
- bundler (~> 1.0.0)
17
- hash-utils (>= 0.7.0)
18
- jeweler (~> 1.5.2)
16
+ bundler (>= 1.0.0)
17
+ hash-utils (>= 0.18.0)
18
+ jeweler (>= 1.5.2)
data/README.md CHANGED
@@ -12,7 +12,7 @@ command line from its arguments. Here is real example of call to
12
12
  cmd << :preserve
13
13
  cmd << "image.jpg"
14
14
 
15
- cmd.to_s # will return 'jpegoptim -m 2 --preserve
15
+ cmd.to_s # will return 'jpegoptim -m 2 --preserve image.jpg'
16
16
 
17
17
  Value escaping and assignments are supported automatically of sure,
18
18
  so call:
@@ -50,5 +50,5 @@ Copyright
50
50
  Copyright &copy; 2011 [Martin Kozák][3]. See `LICENSE.txt` for
51
51
  further details.
52
52
 
53
- [2]: http://github.com/martinkozak/qrpc/issues
53
+ [2]: http://github.com/martinkozak/command-builder/issues
54
54
  [3]: http://www.martinkozak.net/
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require 'rubygems'
3
3
  require 'bundler'
4
+
4
5
  begin
5
6
  Bundler.setup(:default, :development)
6
7
  rescue Bundler::BundlerError => e
@@ -8,9 +9,10 @@ rescue Bundler::BundlerError => e
8
9
  $stderr.puts "Run `bundle install` to install missing gems"
9
10
  exit e.status_code
10
11
  end
11
- require 'rake'
12
12
 
13
+ require 'rake'
13
14
  require 'jeweler'
15
+
14
16
  Jeweler::Tasks.new do |gem|
15
17
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
18
  gem.name = "command-builder"
@@ -25,13 +27,3 @@ Jeweler::Tasks.new do |gem|
25
27
  # gem.add_development_dependency 'rspec', '> 1.2.3'
26
28
  end
27
29
  Jeweler::RubygemsDotOrgTasks.new
28
-
29
- require 'rake/rdoctask'
30
- Rake::RDocTask.new do |rdoc|
31
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
32
-
33
- rdoc.rdoc_dir = 'rdoc'
34
- rdoc.title = "qrpc #{version}"
35
- rdoc.rdoc_files.include('README*')
36
- rdoc.rdoc_files.include('lib/**/*.rb')
37
- end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{command-builder}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Martin Kozák"]
12
- s.date = %q{2011-02-16}
11
+ s.authors = [%q{Martin Kozák}]
12
+ s.date = %q{2011-07-24}
13
13
  s.email = %q{martinkozak@martinkozak.net}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  ]
18
18
  s.files = [
19
19
  ".document",
20
+ "CHANGES.txt",
20
21
  "Gemfile",
21
22
  "Gemfile.lock",
22
23
  "LICENSE.txt",
@@ -28,27 +29,27 @@ Gem::Specification.new do |s|
28
29
  "test.rb"
29
30
  ]
30
31
  s.homepage = %q{https://github.com/martinkozak/command-builder}
31
- s.licenses = ["MIT"]
32
- s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.5.2}
32
+ s.licenses = [%q{MIT}]
33
+ s.require_paths = [%q{lib}]
34
+ s.rubygems_version = %q{1.8.5}
34
35
  s.summary = %q{Builds call to some command runnable from shell command line from its arguments.}
35
36
 
36
37
  if s.respond_to? :specification_version then
37
38
  s.specification_version = 3
38
39
 
39
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
- s.add_runtime_dependency(%q<hash-utils>, [">= 0.7.0"])
41
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
42
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
41
+ s.add_runtime_dependency(%q<hash-utils>, [">= 0.18.0"])
42
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
43
+ s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
43
44
  else
44
- s.add_dependency(%q<hash-utils>, [">= 0.7.0"])
45
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
46
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
45
+ s.add_dependency(%q<hash-utils>, [">= 0.18.0"])
46
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
47
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
47
48
  end
48
49
  else
49
- s.add_dependency(%q<hash-utils>, [">= 0.7.0"])
50
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
51
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
50
+ s.add_dependency(%q<hash-utils>, [">= 0.18.0"])
51
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
52
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
52
53
  end
53
54
  end
54
55
 
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
+ # (c) 2011 Martin Kozák (martinkozak@martinkozak.net)
2
3
 
3
4
  require "hash-utils/object"
5
+ require "hash-utils/array"
4
6
 
5
7
  ##
6
8
  # Represents one command line command with arguments and parameters.
@@ -61,8 +63,7 @@ class CommandBuilder
61
63
  def initialize(command, separators = ["-", " ", "--", "="])
62
64
  @command = command
63
65
  @separators = separators
64
- @args = [ ]
65
- @params = [ ]
66
+ self.reset!
66
67
  end
67
68
 
68
69
  ##
@@ -167,9 +168,9 @@ class CommandBuilder
167
168
  #
168
169
 
169
170
  def add(option, value = nil)
170
- if option.kind_of? Symbol or not value.nil?
171
+ if option.symbol? or not value.nil?
171
172
  self.argument(option, value)
172
- elsif option.kind_of? Array
173
+ elsif option.array?
173
174
  self.parameters(option)
174
175
  else
175
176
  self.parameter(option)
@@ -253,6 +254,18 @@ class CommandBuilder
253
254
  return cmd
254
255
  end
255
256
 
257
+ ##
258
+ # Resets the arguments and parameters so prepares it for new build.
259
+ # @since 0.1.1
260
+ #
261
+
262
+ def reset!
263
+ @args = [ ]
264
+ @params = [ ]
265
+ end
266
+
267
+ alias :reset :"reset!"
268
+
256
269
 
257
270
  private
258
271
 
@@ -268,18 +281,18 @@ class CommandBuilder
268
281
  short = (name.length == 1)
269
282
 
270
283
  if short
271
- cmd << @separators[0]
284
+ cmd << @separators.first
272
285
  else
273
- cmd << @separators[2]
286
+ cmd << @separators.third
274
287
  end
275
288
  cmd << name
276
289
 
277
290
  # Value
278
291
  if not value.nil?
279
292
  if short
280
- cmd << @separators[1]
293
+ cmd << @separators.second
281
294
  else
282
- cmd << @separators[3]
295
+ cmd << @separators.fourth
283
296
  end
284
297
  cmd << self.quote(value.to_s)
285
298
  end
data/test.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  # encoding: utf-8
2
2
 
3
- require "./jpeg"
3
+ $:.push("./lib")
4
+ require "command-builder"
4
5
 
5
6
  cmd = CommandBuilder::new(:jpegoptim)
6
7
  cmd << :preserve
7
8
  cmd << :p
8
9
  cmd << "file.jpg"
9
- cmd << ["1.jpg", "2.jpg"]
10
+ cmd << ["1 1.jpg", "2.jpg"]
10
11
  cmd.arg(:max, 3)
11
12
  cmd.arg(:m, 3)
12
13
  cmd[:other] = "value"
@@ -14,3 +15,6 @@ cmd[:o] = "another '\" value"
14
15
  puts cmd
15
16
 
16
17
  puts cmd[:max].inspect
18
+
19
+ cmd.reset!
20
+ puts cmd
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: command-builder
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Martin Koz\xC3\xA1k"
@@ -10,8 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-02-16 00:00:00 +01:00
14
- default_executable:
13
+ date: 2011-07-24 00:00:00 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: hash-utils
@@ -20,7 +19,7 @@ dependencies:
20
19
  requirements:
21
20
  - - ">="
22
21
  - !ruby/object:Gem::Version
23
- version: 0.7.0
22
+ version: 0.18.0
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: *id001
@@ -29,7 +28,7 @@ dependencies:
29
28
  requirement: &id002 !ruby/object:Gem::Requirement
30
29
  none: false
31
30
  requirements:
32
- - - ~>
31
+ - - ">="
33
32
  - !ruby/object:Gem::Version
34
33
  version: 1.0.0
35
34
  type: :development
@@ -40,7 +39,7 @@ dependencies:
40
39
  requirement: &id003 !ruby/object:Gem::Requirement
41
40
  none: false
42
41
  requirements:
43
- - - ~>
42
+ - - ">="
44
43
  - !ruby/object:Gem::Version
45
44
  version: 1.5.2
46
45
  type: :development
@@ -57,6 +56,7 @@ extra_rdoc_files:
57
56
  - README.md
58
57
  files:
59
58
  - .document
59
+ - CHANGES.txt
60
60
  - Gemfile
61
61
  - Gemfile.lock
62
62
  - LICENSE.txt
@@ -66,7 +66,6 @@ files:
66
66
  - command-builder.gemspec
67
67
  - lib/command-builder.rb
68
68
  - test.rb
69
- has_rdoc: true
70
69
  homepage: https://github.com/martinkozak/command-builder
71
70
  licenses:
72
71
  - MIT
@@ -80,7 +79,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
79
  requirements:
81
80
  - - ">="
82
81
  - !ruby/object:Gem::Version
83
- hash: -3460613354245492068
82
+ hash: 1643594554722513454
84
83
  segments:
85
84
  - 0
86
85
  version: "0"
@@ -93,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
92
  requirements: []
94
93
 
95
94
  rubyforge_project:
96
- rubygems_version: 1.5.2
95
+ rubygems_version: 1.8.5
97
96
  signing_key:
98
97
  specification_version: 3
99
98
  summary: Builds call to some command runnable from shell command line from its arguments.