confetti 0.9.15 → 0.9.16
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 +14 -1
- data/lib/confetti/config/classes.rb +8 -0
- data/lib/confetti/config/image.rb +2 -2
- data/lib/confetti/version.rb +1 -1
- data/spec/config/config_platform_spec.rb +20 -0
- data/spec/config_spec.rb +28 -0
- data/spec/fixtures/config.xml +6 -2
- metadata +6 -4
data/Gemfile.lock
CHANGED
data/lib/confetti/config.rb
CHANGED
|
@@ -9,7 +9,7 @@ module Confetti
|
|
|
9
9
|
attr_reader :author, :viewmodes, :name, :license, :content,
|
|
10
10
|
:icon_set, :feature_set, :preference_set, :xml_doc,
|
|
11
11
|
:splash_set, :plist_icon_set, :access_set, :plugin_set,
|
|
12
|
-
:url_scheme_set
|
|
12
|
+
:url_scheme_set, :platform_set
|
|
13
13
|
|
|
14
14
|
generate_and_write :android_manifest, :android_strings,
|
|
15
15
|
:webos_appinfo, :ios_info, :symbian_wrt_info,
|
|
@@ -36,6 +36,7 @@ module Confetti
|
|
|
36
36
|
@icon_set = TypedSet.new Image
|
|
37
37
|
@plist_icon_set = []
|
|
38
38
|
@feature_set = TypedSet.new Feature
|
|
39
|
+
@platform_set = TypedSet.new Platform
|
|
39
40
|
@splash_set = TypedSet.new Image
|
|
40
41
|
@preference_set = TypedSet.new Preference
|
|
41
42
|
@access_set = TypedSet.new Access
|
|
@@ -145,6 +146,8 @@ module Confetti
|
|
|
145
146
|
# PhoneGap extensions (gap:)
|
|
146
147
|
when "http://phonegap.com/ns/1.0"
|
|
147
148
|
case ele.name
|
|
149
|
+
when "platform"
|
|
150
|
+
@platform_set << Platform.new(attr["name"])
|
|
148
151
|
when "splash"
|
|
149
152
|
next if attr["src"].nil? or attr["src"].empty?
|
|
150
153
|
@splash_set << Image.new(attr["src"], attr["height"], attr["width"],
|
|
@@ -387,6 +390,15 @@ module Confetti
|
|
|
387
390
|
features << feat
|
|
388
391
|
end
|
|
389
392
|
|
|
393
|
+
platforms = []
|
|
394
|
+
@platform_set.each do | platform |
|
|
395
|
+
plat = REXML::Element.new( "gap:platform" )
|
|
396
|
+
plat.add_attributes({
|
|
397
|
+
"name" => platform.name
|
|
398
|
+
})
|
|
399
|
+
platforms << plat
|
|
400
|
+
end
|
|
401
|
+
|
|
390
402
|
widget.elements.add name
|
|
391
403
|
widget.elements.add author
|
|
392
404
|
widget.elements.add description
|
|
@@ -397,6 +409,7 @@ module Confetti
|
|
|
397
409
|
splashes.each { | splash | widget.elements.add splash }
|
|
398
410
|
preferences.each { | pref | widget.elements.add pref }
|
|
399
411
|
features.each { | feat | widget.elements.add feat }
|
|
412
|
+
platforms.each { | plat | widget.elements.add plat }
|
|
400
413
|
url_schemes.each { | schm | widget.elements.add schm }
|
|
401
414
|
|
|
402
415
|
doc << REXML::XMLDecl.new
|
|
@@ -16,8 +16,8 @@ module Confetti
|
|
|
16
16
|
@role = @extras['role']
|
|
17
17
|
@platform = @extras['platform']
|
|
18
18
|
@main = @extras['main']
|
|
19
|
-
@density
|
|
20
|
-
@state
|
|
19
|
+
@density = @extras['density']
|
|
20
|
+
@state = @extras['state']
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def defined_attrs
|
data/lib/confetti/version.rb
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Confetti::Config::Platform do
|
|
4
|
+
before do
|
|
5
|
+
@platform = Confetti::Config::Platform.new("ios")
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "should have a readable and writable name field" do
|
|
9
|
+
lambda { @platform.name = "ios" }.should_not raise_error
|
|
10
|
+
@platform.name.should == "ios"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should define a defined_attrs method" do
|
|
14
|
+
platform = Confetti::Config::Platform.new("ios")
|
|
15
|
+
|
|
16
|
+
platform.defined_attrs.should == {
|
|
17
|
+
"name" => "ios"
|
|
18
|
+
}
|
|
19
|
+
end
|
|
20
|
+
end
|
data/spec/config_spec.rb
CHANGED
|
@@ -113,6 +113,20 @@ describe Confetti::Config do
|
|
|
113
113
|
}.should raise_error
|
|
114
114
|
end
|
|
115
115
|
|
|
116
|
+
it "has an platform field, that is a TypedSet" do
|
|
117
|
+
@config.platform_set.should be_a TypedSet
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it "platform_set should be typed to platform objects" do
|
|
121
|
+
@config.platform_set.set_class.should be Confetti::Config::Platform
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
it "should not allow platform_set to be clobbered" do
|
|
125
|
+
lambda {
|
|
126
|
+
@config.platform_set = ['ios', 'android']
|
|
127
|
+
}.should raise_error
|
|
128
|
+
end
|
|
129
|
+
|
|
116
130
|
it "has an preference_set field, that is a TypedSet" do
|
|
117
131
|
@config.preference_set.should be_a TypedSet
|
|
118
132
|
end
|
|
@@ -381,6 +395,20 @@ describe Confetti::Config do
|
|
|
381
395
|
end
|
|
382
396
|
end
|
|
383
397
|
|
|
398
|
+
describe "platforms" do
|
|
399
|
+
it "should append platforms to the feature set" do
|
|
400
|
+
@config.platform_set.size.should be 3
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
it "should include the right platforms" do
|
|
404
|
+
# first tends to be last listed in xml document
|
|
405
|
+
platforms_names = @config.platform_set.map { |f| f.name }
|
|
406
|
+
platforms_names.should include "ios"
|
|
407
|
+
platforms_names.should include "android"
|
|
408
|
+
platforms_names.should include "webos"
|
|
409
|
+
end
|
|
410
|
+
end
|
|
411
|
+
|
|
384
412
|
describe "access" do
|
|
385
413
|
before do
|
|
386
414
|
@config = Confetti::Config.new
|
data/spec/fixtures/config.xml
CHANGED
|
@@ -39,7 +39,7 @@ THE SOFTWARE.</license>
|
|
|
39
39
|
|
|
40
40
|
<icon src="icon.png" height="150" width="200" />
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
<gap:splash src="mainsplash.png" height="480" width="360" />
|
|
43
43
|
|
|
44
44
|
<preference name="universal" value="true"/>
|
|
45
45
|
<preference name="phonegap-version" value="1.3.0"/>
|
|
@@ -48,7 +48,11 @@ THE SOFTWARE.</license>
|
|
|
48
48
|
<feature name="http://api.phonegap.com/1.0/camera" required="true"/>
|
|
49
49
|
<feature name="http://api.phonegap.com/1.0/notification" required="true"/>
|
|
50
50
|
|
|
51
|
+
<gap:platform name="ios" />
|
|
52
|
+
<gap:platform name="webos" />
|
|
53
|
+
<gap:platform name="android" />
|
|
54
|
+
|
|
51
55
|
<content src="not_index.html" />
|
|
52
56
|
|
|
53
|
-
|
|
57
|
+
<access origin="*" />
|
|
54
58
|
</widget>
|
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: 27
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 9
|
|
9
|
-
-
|
|
10
|
-
version: 0.9.
|
|
9
|
+
- 16
|
|
10
|
+
version: 0.9.16
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Andrew Lunny
|
|
@@ -17,7 +17,7 @@ autorequire:
|
|
|
17
17
|
bindir: bin
|
|
18
18
|
cert_chain: []
|
|
19
19
|
|
|
20
|
-
date: 2013-
|
|
20
|
+
date: 2013-07-29 00:00:00 Z
|
|
21
21
|
dependencies:
|
|
22
22
|
- !ruby/object:Gem::Dependency
|
|
23
23
|
name: mustache
|
|
@@ -110,6 +110,7 @@ files:
|
|
|
110
110
|
- spec/config/config_image_spec.rb
|
|
111
111
|
- spec/config/config_license_spec.rb
|
|
112
112
|
- spec/config/config_name_spec.rb
|
|
113
|
+
- spec/config/config_platform_spec.rb
|
|
113
114
|
- spec/config/config_preference_spec.rb
|
|
114
115
|
- spec/config/config_url_scheme_spec.rb
|
|
115
116
|
- spec/config_spec.rb
|
|
@@ -216,6 +217,7 @@ test_files:
|
|
|
216
217
|
- spec/config/config_image_spec.rb
|
|
217
218
|
- spec/config/config_license_spec.rb
|
|
218
219
|
- spec/config/config_name_spec.rb
|
|
220
|
+
- spec/config/config_platform_spec.rb
|
|
219
221
|
- spec/config/config_preference_spec.rb
|
|
220
222
|
- spec/config/config_url_scheme_spec.rb
|
|
221
223
|
- spec/config_spec.rb
|