confetti 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- confetti (0.2.4)
4
+ confetti (0.2.5)
5
5
  mustache (= 0.11.2)
6
6
  thor (= 0.14.3)
7
7
 
@@ -18,9 +18,15 @@ module Confetti
18
18
  filepath = args.first
19
19
 
20
20
  template = send generate_method
21
- filepath ||= File.join(Dir.pwd, template.output_filename)
22
21
 
23
- open(filepath, 'w') { |f| f.puts template.render }
22
+ begin
23
+ output = template.render
24
+ filepath ||= File.join(Dir.pwd, template.output_filename)
25
+
26
+ open(filepath, 'w') { |f| f.puts output }
27
+ rescue
28
+ raise IOError, "unable to write template file"
29
+ end
24
30
  end
25
31
  end
26
32
  end
@@ -10,8 +10,10 @@ module Confetti
10
10
  end
11
11
 
12
12
  def is_java_package_id(str)
13
+ components = str.split('.', -1)
14
+
13
15
  # second param to #split ensures can't be dot-terminated
14
- str.split('.', -1).all? { |s| is_java_identifier(s) }
16
+ components.length > 1 and components.all? { |s| is_java_identifier(s) }
15
17
  end
16
18
  end
17
19
  end
@@ -1,3 +1,3 @@
1
1
  module Confetti
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -57,21 +57,31 @@ module ConfigHelpers
57
57
  @output = mock(IO)
58
58
 
59
59
  @config.should_receive(generate_method).and_return(@template)
60
- @template.should_receive(:render).and_return(@contents)
61
- @output.should_receive(:puts).with(@contents)
62
60
  end
63
61
 
64
62
  it "should write the rendered #{ default_filename } to the fs" do
65
63
  filepath = "my_directory/#{ default_filename }"
66
64
  @config.should_receive(:open).with(filepath, 'w').and_yield(@output)
65
+ @template.should_receive(:render).and_return(@contents)
66
+ @output.should_receive(:puts).with(@contents)
67
67
 
68
68
  @config.send(write_method, filepath)
69
69
  end
70
70
 
71
+ it "should not write to the fs if the render call fails" do
72
+ filepath = "my_directory/#{ default_filename }"
73
+ @template.should_receive(:render).and_raise(IOError)
74
+ @config.should_not_receive(:open).with(filepath, 'w')
75
+
76
+ lambda { @config.send(write_method, filepath) }.should raise_error
77
+ end
78
+
71
79
  describe "when no filepath is passed" do
72
80
  it "should write the rendered #{ default_filename } to the default location" do
73
81
  default_path = File.join(Dir.pwd, default_filename)
74
82
  @config.should_receive(:open).with(default_path, 'w').and_yield(@output)
83
+ @template.should_receive(:render).and_return(@contents)
84
+ @output.should_receive(:puts).with(@contents)
75
85
 
76
86
  @config.send(write_method)
77
87
  end
@@ -55,5 +55,9 @@ describe Confetti::Template::JavaChecks do
55
55
  it "should not accept a dot-first string" do
56
56
  is_java_package_id(".com.alunny.foo").should be_false
57
57
  end
58
+
59
+ it "should not accept a single java identifier" do
60
+ is_java_package_id("a27a4").should be_false
61
+ end
58
62
  end
59
63
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confetti
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease:
4
+ hash: 29
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 4
10
- version: 0.2.4
9
+ - 5
10
+ version: 0.2.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andrew Lunny
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-12 00:00:00 -07:00
18
+ date: 2011-04-20 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -213,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
213
  requirements: []
214
214
 
215
215
  rubyforge_project: confetti
216
- rubygems_version: 1.5.0
216
+ rubygems_version: 1.3.7
217
217
  signing_key:
218
218
  specification_version: 3
219
219
  summary: Generate mobile app config files