mothership 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,8 +31,16 @@ class Mothership
31
31
  self.class.new(@command, @context, @inputs.merge(inputs), @given, @global)
32
32
  end
33
33
 
34
- def merge_given(inputs)
35
- self.class.new(@command, @context, @inputs, @given.merge(inputs), @global)
34
+ def merge_given(given)
35
+ self.class.new(@command, @context, @inputs, @given.merge(given), @global)
36
+ end
37
+
38
+ def rebase(inputs)
39
+ self.class.new(@command, @context, inputs.merge(@inputs), @given, @global)
40
+ end
41
+
42
+ def rebase_given(given)
43
+ self.class.new(@command, @context, @inputs, given.merge(@given), @global)
36
44
  end
37
45
 
38
46
  def without(*names)
@@ -139,6 +147,12 @@ class Mothership
139
147
  else
140
148
  context.instance_exec(given, *args, &convert)
141
149
  end
150
+ elsif meta[:type] == :integer
151
+ given.to_i
152
+ elsif meta[:type] == :float
153
+ given.to_f
154
+ elsif meta[:type] == :boolean
155
+ given == "true"
142
156
  else
143
157
  given
144
158
  end
@@ -50,19 +50,19 @@ class Mothership
50
50
  case input[:type]
51
51
  when :bool, :boolean
52
52
  if argv.first == "false" || argv.first == "true"
53
- @given[name] = argv.shift == "true"
53
+ @given[name] = argv.shift
54
54
  else
55
- @given[name] = true
55
+ @given[name] = "true"
56
56
  end
57
57
  when :float, :floating
58
58
  if !argv.empty? && argv.first =~ /^[0-9]+(\.[0-9]*)?$/
59
- @given[name] = argv.shift.to_f
59
+ @given[name] = argv.shift
60
60
  else
61
61
  raise TypeMismatch.new(@command, name, "floating")
62
62
  end
63
63
  when :integer, :number, :numeric
64
64
  if !argv.empty? && argv.first =~ /^[0-9]+$/
65
- @given[name] = argv.shift.to_i
65
+ @given[name] = argv.shift
66
66
  else
67
67
  raise TypeMismatch.new(@command, name, "numeric")
68
68
  end
@@ -1,3 +1,3 @@
1
1
  class Mothership
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -1,5 +1,4 @@
1
- require "mothership"
2
- require "./helpers"
1
+ require "spec_helper"
3
2
 
4
3
  describe Mothership::Parser do
5
4
  describe "arguments" do
@@ -1,5 +1,4 @@
1
- require "mothership"
2
- require "./helpers"
1
+ require "spec_helper"
3
2
 
4
3
  describe Mothership::Parser do
5
4
  describe "combinations" do
data/spec/flags_spec.rb CHANGED
@@ -1,5 +1,4 @@
1
- require "mothership"
2
- require "./helpers"
1
+ require "spec_helper"
3
2
 
4
3
  describe Mothership::Parser do
5
4
  describe "flags" do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mothership
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 0
10
- version: 0.3.0
9
+ - 1
10
+ version: 0.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Suraci
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-11-28 00:00:00 Z
18
+ date: 2012-12-04 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rake
@@ -72,7 +72,6 @@ files:
72
72
  - spec/arguments_spec.rb
73
73
  - spec/combination_spec.rb
74
74
  - spec/flags_spec.rb
75
- - spec/helpers.rb
76
75
  - spec/Rakefile
77
76
  homepage: https://github.com/vito/mothership
78
77
  licenses: []
@@ -111,5 +110,4 @@ test_files:
111
110
  - spec/arguments_spec.rb
112
111
  - spec/combination_spec.rb
113
112
  - spec/flags_spec.rb
114
- - spec/helpers.rb
115
113
  - spec/Rakefile
data/spec/helpers.rb DELETED
@@ -1,23 +0,0 @@
1
- module MothershipHelpers
2
- def command(inputs = {})
3
- cmd = Mothership::Command.new(Mothership)
4
-
5
- inputs.each do |name, opts|
6
- cmd.add_input(name, opts)
7
- end
8
-
9
- if block_given?
10
- yield cmd
11
- else
12
- cmd
13
- end
14
- end
15
-
16
- def inputs(cmd, *argv)
17
- Mothership::Parser.new(cmd).parse_argv(argv)
18
- end
19
- end
20
-
21
- RSpec.configure do |c|
22
- c.include MothershipHelpers
23
- end