command-builder 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.