confetti 0.2.3 → 0.2.4
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/Gemfile.lock +1 -1
- data/lib/confetti/config.rb +6 -6
- data/lib/confetti/templates/android_manifest.mustache +1 -1
- data/lib/confetti/templates/android_manifest.rb +5 -1
- data/lib/confetti/templates/blackberry_widgets_config.mustache +1 -1
- data/lib/confetti/templates/blackberry_widgets_config.rb +4 -0
- data/lib/confetti/templates/ios_info.rb +1 -1
- data/lib/confetti/templates/symbian_wrt_info.rb +1 -1
- data/lib/confetti/templates/webos_appinfo.rb +5 -5
- data/lib/confetti/version.rb +1 -1
- data/spec/config_spec.rb +34 -6
- data/spec/fixtures/blackberry_widget_config_expected.xml +1 -1
- data/spec/fixtures/blackberry_widget_config_spec.xml +1 -1
- data/spec/fixtures/empty_elements.xml +22 -0
- data/spec/templates/blackberry_widget_config_spec.rb +1 -1
- data/spec/templates/ios_info_spec.rb +1 -1
- data/spec/templates/symbian_wrt_info_spec.rb +1 -1
- data/spec/templates/webos_appinfo_spec.rb +9 -9
- metadata +6 -4
data/Gemfile.lock
CHANGED
data/lib/confetti/config.rb
CHANGED
@@ -4,7 +4,7 @@ module Confetti
|
|
4
4
|
include PhoneGap
|
5
5
|
self.extend TemplateHelper
|
6
6
|
|
7
|
-
attr_accessor :package, :
|
7
|
+
attr_accessor :package, :version_string, :version_code, :description, :height, :width
|
8
8
|
attr_reader :author, :viewmodes, :name, :license, :content,
|
9
9
|
:icon_set, :feature_set, :preference_set, :xml_doc,
|
10
10
|
:splash_set
|
@@ -50,18 +50,18 @@ module Confetti
|
|
50
50
|
@xml_doc = config_doc
|
51
51
|
|
52
52
|
@package = config_doc.attributes["id"]
|
53
|
-
@
|
53
|
+
@version_string = config_doc.attributes["version"]
|
54
54
|
|
55
55
|
config_doc.elements.each do |ele|
|
56
56
|
attr = ele.attributes
|
57
57
|
|
58
58
|
case ele.name
|
59
59
|
when "name"
|
60
|
-
@name = Name.new(ele.text.strip, attr["shortname"])
|
60
|
+
@name = Name.new(ele.text.nil? ? "" : ele.text.strip, attr["shortname"])
|
61
61
|
when "author"
|
62
|
-
@author = Author.new(ele.text.strip, attr["href"], attr["email"])
|
62
|
+
@author = Author.new(ele.text.nil? ? "" : ele.text.strip, attr["href"], attr["email"])
|
63
63
|
when "description"
|
64
|
-
@description = ele.text.strip
|
64
|
+
@description = ele.text.nil? ? "" : ele.text.strip
|
65
65
|
when "icon"
|
66
66
|
extras = grab_extras attr
|
67
67
|
@icon_set << Image.new(attr["src"], attr["height"], attr["width"], extras)
|
@@ -71,7 +71,7 @@ module Confetti
|
|
71
71
|
when "feature"
|
72
72
|
@feature_set << Feature.new(attr["name"], attr["required"])
|
73
73
|
when "license"
|
74
|
-
@license = License.new(ele.text.strip, attr["href"])
|
74
|
+
@license = License.new(ele.text.nil? ? "" : ele.text.strip, attr["href"])
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3
3
|
package="{{ package_name }}"
|
4
4
|
android:versionName="{{ version }}"
|
5
|
-
android:versionCode="
|
5
|
+
android:versionCode="{{ version_code }}">
|
6
6
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
7
7
|
<uses-permission android:name="android.permission.INTERNET" />
|
8
8
|
{{# permissions }}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<!-- Widget Configuration Reference: http://docs.blackberry.com/en/developers/deliverables/15274/ -->
|
3
3
|
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
-
version="
|
4
|
+
version="{{ version }}"
|
5
5
|
id="{{ widget_id }}">
|
6
6
|
<name>{{ widget_name }}</name>
|
7
7
|
<author href="{{ author_href }}" email="{{ author_email }}">{{ author_name }}</author>
|
@@ -20,12 +20,12 @@ module Confetti
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def version
|
23
|
-
if @config.
|
23
|
+
if @config.version_string.nil?
|
24
24
|
'0.0.1'
|
25
|
-
elsif @config.
|
26
|
-
@config.
|
27
|
-
elsif @config.
|
28
|
-
fix_version(@config.
|
25
|
+
elsif @config.version_string.match /^(\d)+[.](\d)+[.](\d)+$/
|
26
|
+
@config.version_string
|
27
|
+
elsif @config.version_string.match /^((\d)+[.])*(\d)+$/
|
28
|
+
fix_version(@config.version_string)
|
29
29
|
else
|
30
30
|
fail "need a valid version number of the form 0.0.0"
|
31
31
|
end
|
data/lib/confetti/version.rb
CHANGED
data/spec/config_spec.rb
CHANGED
@@ -14,9 +14,14 @@ describe Confetti::Config do
|
|
14
14
|
@config.package.should == "com.alunny.greatapp"
|
15
15
|
end
|
16
16
|
|
17
|
-
it "has a writable and readable
|
18
|
-
lambda { @config.
|
19
|
-
@config.
|
17
|
+
it "has a writable and readable version_string field" do
|
18
|
+
lambda { @config.version_string = "0.1.0" }.should_not raise_error
|
19
|
+
@config.version_string.should == "0.1.0"
|
20
|
+
end
|
21
|
+
|
22
|
+
it "has a writable and readable version_code field" do
|
23
|
+
lambda { @config.version_code = 12 }.should_not raise_error
|
24
|
+
@config.version_code.should == 12
|
20
25
|
end
|
21
26
|
|
22
27
|
it "has a writable and readable height field" do
|
@@ -174,9 +179,32 @@ describe Confetti::Config do
|
|
174
179
|
@config.populate_from_xml(fixture_dir + "/config.xml")
|
175
180
|
end
|
176
181
|
|
182
|
+
describe "that has empty tags" do
|
183
|
+
before do
|
184
|
+
@config.populate_from_xml(fixture_dir + "/empty_elements.xml")
|
185
|
+
end
|
186
|
+
|
187
|
+
it "should set the author to the empty string" do
|
188
|
+
@config.author.name.should == ""
|
189
|
+
end
|
190
|
+
|
191
|
+
it "should set the name to the empty string" do
|
192
|
+
@config.name.name.should == ""
|
193
|
+
end
|
194
|
+
|
195
|
+
it "should set the description to the empty string" do
|
196
|
+
@config.description.should == ""
|
197
|
+
end
|
198
|
+
|
199
|
+
it "should set the license to the empty string" do
|
200
|
+
@config.license.text.should == ""
|
201
|
+
end
|
202
|
+
|
203
|
+
end
|
204
|
+
|
177
205
|
it "should keep a reference to the xml doc" do
|
178
206
|
@config.xml_doc.should_not == nil
|
179
|
-
@config.xml_doc.class.should == REXML::Element
|
207
|
+
@config.xml_doc.class.should == REXML::Element
|
180
208
|
end
|
181
209
|
|
182
210
|
it "should populate the app's package when present" do
|
@@ -187,8 +215,8 @@ describe Confetti::Config do
|
|
187
215
|
@config.name.name.should == "Confetti Sample App"
|
188
216
|
end
|
189
217
|
|
190
|
-
it "should populate the app's
|
191
|
-
@config.
|
218
|
+
it "should populate the app's version_string when present" do
|
219
|
+
@config.version_string.should == "1.0.0"
|
192
220
|
end
|
193
221
|
|
194
222
|
it "should populate the app's description when present" do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<!-- Widget Configuration Reference: http://docs.blackberry.com/en/developers/deliverables/15274/ -->
|
3
3
|
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
-
version="
|
4
|
+
version="1.0.0"
|
5
5
|
id="com.alunny.confetti">
|
6
6
|
<name>Confetti Sample App</name>
|
7
7
|
<author href="http://alunny.github.com" email="alunny@gmail.com">Andrew Lunny</author>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<!-- Widget Configuration Reference: http://docs.blackberry.com/en/developers/deliverables/15274/ -->
|
3
3
|
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
-
version="
|
4
|
+
version="1.0.0"
|
5
5
|
id="com.whoever.awesome.app">
|
6
6
|
<name>Awesome App</name>
|
7
7
|
<author href="http://brucelee.cn" email="blee@hotmail.com">Bruce Lee</author>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<widget xmlns = "http://www.w3.org/ns/widgets"
|
3
|
+
xmlns:gap = "http://phonegap.com/ns/1.0"
|
4
|
+
id = "com.alunny.confetti"
|
5
|
+
version = "1.0.0">
|
6
|
+
|
7
|
+
<name />
|
8
|
+
|
9
|
+
<description />
|
10
|
+
|
11
|
+
<license href="http://www.opensource.org/licenses/mit-license.php" />
|
12
|
+
|
13
|
+
<author href="http://alunny.github.com"
|
14
|
+
email="alunny@gmail.com" />
|
15
|
+
<icon src="icon.png" height="150" width="200" />
|
16
|
+
|
17
|
+
<gap:splash src="mainsplash.png" height="480" width="360" />
|
18
|
+
|
19
|
+
<feature name="http://api.phonegap.com/1.0/geolocation" required="true"/>
|
20
|
+
<feature name="http://api.phonegap.com/1.0/camera" required="true"/>
|
21
|
+
<feature name="http://api.phonegap.com/1.0/notification" required="true"/>
|
22
|
+
</widget>
|
@@ -39,7 +39,7 @@ describe Confetti::Template::BlackberryWidgetsConfig do
|
|
39
39
|
@config = Confetti::Config.new
|
40
40
|
@config.name.name = "Awesome App"
|
41
41
|
@config.package = "com.whoever.awesome.app"
|
42
|
-
@config.
|
42
|
+
@config.version_string = "1.0.0"
|
43
43
|
@config.author.name = "Bruce Lee"
|
44
44
|
@config.author.email = "blee@hotmail.com"
|
45
45
|
@config.author.href = "http://brucelee.cn"
|
@@ -34,7 +34,7 @@ describe Confetti::Template::IosInfo do
|
|
34
34
|
@config = Confetti::Config.new
|
35
35
|
@config.name.name = "Awesome App"
|
36
36
|
@config.package = "com.whoever.awesome.app"
|
37
|
-
@config.
|
37
|
+
@config.version_string = "1.0.0"
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should accept the config object" do
|
@@ -34,7 +34,7 @@ describe Confetti::Template::SymbianWrtInfo do
|
|
34
34
|
@config = Confetti::Config.new
|
35
35
|
@config.name.name = "Awesome App"
|
36
36
|
@config.package = "com.whoever.awesome.app"
|
37
|
-
@config.
|
37
|
+
@config.version_string = "1.0.0"
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should accept the config object" do
|
@@ -35,7 +35,7 @@ describe Confetti::Template::WebosAppinfo do
|
|
35
35
|
@config.name.name = "Awesome App"
|
36
36
|
@config.package = "com.whoever.awesome.app"
|
37
37
|
@config.author.name = "Bruce Lee"
|
38
|
-
@config.
|
38
|
+
@config.version_string = "1.0.0"
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should accept the config object" do
|
@@ -66,33 +66,33 @@ describe Confetti::Template::WebosAppinfo do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
describe "#version method" do
|
69
|
-
it "should return the default (0.0.1) when
|
70
|
-
@config.
|
69
|
+
it "should return the default (0.0.1) when version_string is not set" do
|
70
|
+
@config.version_string = nil
|
71
71
|
@template.version.should == "0.0.1"
|
72
72
|
end
|
73
73
|
|
74
|
-
it "should raise an error if
|
75
|
-
@config.
|
74
|
+
it "should raise an error if version_string isn't even close" do
|
75
|
+
@config.version_string = 'breakfast'
|
76
76
|
lambda { @template.version }.should raise_error
|
77
77
|
end
|
78
78
|
|
79
79
|
it "should add empty digits if string has one segment" do
|
80
|
-
@config.
|
80
|
+
@config.version_string = '1'
|
81
81
|
@template.version.should == "1.0.0"
|
82
82
|
end
|
83
83
|
|
84
84
|
it "should add empty digits if string has two segments" do
|
85
|
-
@config.
|
85
|
+
@config.version_string = '1.1'
|
86
86
|
@template.version.should == "1.1.0"
|
87
87
|
end
|
88
88
|
|
89
89
|
it "should truncate extra digits if string has too many segments" do
|
90
|
-
@config.
|
90
|
+
@config.version_string = '1.2.3.4.5'
|
91
91
|
@template.version.should == "1.2.3"
|
92
92
|
end
|
93
93
|
|
94
94
|
it "should return config.version when it is valid" do
|
95
|
-
@config.
|
95
|
+
@config.version_string = '0.1.0'
|
96
96
|
@template.version.should == "0.1.0"
|
97
97
|
end
|
98
98
|
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:
|
4
|
+
hash: 31
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 4
|
10
|
+
version: 0.2.4
|
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-
|
18
|
+
date: 2011-04-12 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- spec/fixtures/config-icons-custom-attribs.xml
|
164
164
|
- spec/fixtures/config-icons.xml
|
165
165
|
- spec/fixtures/config.xml
|
166
|
+
- spec/fixtures/empty_elements.xml
|
166
167
|
- spec/fixtures/ios_info_expected.plist
|
167
168
|
- spec/fixtures/ios_info_spec.plist
|
168
169
|
- spec/fixtures/symbian_wrt_info_expected.plist
|
@@ -244,6 +245,7 @@ test_files:
|
|
244
245
|
- spec/fixtures/config-icons-custom-attribs.xml
|
245
246
|
- spec/fixtures/config-icons.xml
|
246
247
|
- spec/fixtures/config.xml
|
248
|
+
- spec/fixtures/empty_elements.xml
|
247
249
|
- spec/fixtures/ios_info_expected.plist
|
248
250
|
- spec/fixtures/ios_info_spec.plist
|
249
251
|
- spec/fixtures/symbian_wrt_info_expected.plist
|