bubble-wrap 1.1.5 → 1.2.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.travis.yml +2 -0
- data/CHANGELOG.md +25 -1
- data/Gemfile.lock +1 -1
- data/README.md +126 -5
- data/lib/bubble-wrap/all.rb +1 -1
- data/lib/bubble-wrap/camera.rb +2 -1
- data/lib/bubble-wrap/core.rb +1 -2
- data/lib/bubble-wrap/font.rb +2 -0
- data/lib/bubble-wrap/location.rb +2 -0
- data/lib/bubble-wrap/version.rb +1 -1
- data/motion/core/app.rb +17 -0
- data/motion/core/device/camera.rb +5 -25
- data/motion/font/font.rb +85 -0
- data/motion/http.rb +32 -12
- data/motion/location/location.rb +19 -17
- data/motion/reactor.rb +7 -2
- data/motion/reactor/eventable.rb +14 -4
- data/motion/reactor/periodic_timer.rb +9 -3
- data/motion/ui/ui_bar_button_item.rb +99 -0
- data/motion/util/constants.rb +38 -0
- data/resources/test.mp3 +0 -0
- data/samples/camera/Gemfile +1 -1
- data/samples/camera/app/app_delegate.rb +1 -1
- data/samples/camera/app/controllers/camera_controller.rb +32 -47
- data/spec/motion/core/app_spec.rb +24 -0
- data/spec/motion/core/ui_bar_button_item_spec.rb +454 -0
- data/spec/motion/font/font_spec.rb +54 -0
- data/spec/motion/http_spec.rb +83 -9
- data/spec/motion/location/location_spec.rb +22 -1
- data/spec/motion/reactor/eventable_spec.rb +15 -0
- data/spec/motion/reactor_spec.rb +32 -0
- data/spec/motion/util/constants_spec.rb +26 -0
- metadata +24 -18
@@ -0,0 +1,54 @@
|
|
1
|
+
describe BubbleWrap::Font do
|
2
|
+
[[:system, "systemFontOfSize:"], [:bold, "boldSystemFontOfSize:"], [:italic, "italicSystemFontOfSize:"]].each do |font, method|
|
3
|
+
describe ".#{font}" do
|
4
|
+
it "should work" do
|
5
|
+
f = BubbleWrap::Font.send(font, 16)
|
6
|
+
f.should == UIFont.send(method, 16)
|
7
|
+
|
8
|
+
f = BubbleWrap::Font.send(font)
|
9
|
+
f.should == UIFont.send(method, UIFont.systemFontSize)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe ".make" do
|
15
|
+
it "should work with UIFont" do
|
16
|
+
BubbleWrap::Font.new(UIFont.boldSystemFontOfSize(12)).should == UIFont.boldSystemFontOfSize(12)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should work with string" do
|
20
|
+
BubbleWrap::Font.new("Helvetica").should == UIFont.fontWithName("Helvetica", size: UIFont.systemFontSize)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should work with string and size" do
|
24
|
+
BubbleWrap::Font.new("Helvetica", 18).should == UIFont.fontWithName("Helvetica", size: 18)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should work with string and hash" do
|
28
|
+
BubbleWrap::Font.new("Helvetica", size: 16).should == UIFont.fontWithName("Helvetica", size: 16)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should work with hash" do
|
32
|
+
BubbleWrap::Font.new(name: "Chalkduster", size: 16).should == UIFont.fontWithName("Chalkduster", size: 16)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe ".named" do
|
37
|
+
it "should work" do
|
38
|
+
BubbleWrap::Font.named("Helvetica").should == UIFont.fontWithName("Helvetica", size: UIFont.systemFontSize)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe ".attributes" do
|
43
|
+
it "should work" do
|
44
|
+
_attributes = BubbleWrap::Font.attributes(font: UIFont.systemFontOfSize(12), color: "red", shadow_color: "blue", shadow_offset: {x: 5, y: 10})
|
45
|
+
|
46
|
+
_attributes.should == {
|
47
|
+
UITextAttributeFont => UIFont.systemFontOfSize(12),
|
48
|
+
UITextAttributeTextColor => UIColor.redColor,
|
49
|
+
UITextAttributeTextShadowColor => UIColor.blueColor,
|
50
|
+
UITextAttributeTextShadowOffset => NSValue.valueWithUIOffset(UIOffsetMake(5, 10))
|
51
|
+
}
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/spec/motion/http_spec.rb
CHANGED
@@ -154,8 +154,8 @@ describe "HTTP" do
|
|
154
154
|
@options = {
|
155
155
|
headers: @headers,
|
156
156
|
}
|
157
|
-
|
158
|
-
|
157
|
+
query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
|
158
|
+
query.should.not.be.nil
|
159
159
|
end
|
160
160
|
|
161
161
|
describe "When initialized" do
|
@@ -219,7 +219,7 @@ describe "HTTP" do
|
|
219
219
|
end
|
220
220
|
|
221
221
|
it "should set payload from options{} to @payload" do
|
222
|
-
payload = "user
|
222
|
+
payload = "user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter=%40mneorr&website=mneorr.com&values%5B%5D=apple&values%5B%5D=orange&values%5B%5D=peach&credentials%5Busername%5D=mneorr&credentials%5Bpassword%5D=123456xx%21%40crazy"
|
223
223
|
@query.instance_variable_get(:@payload).should.equal payload
|
224
224
|
@options.should.not.has_key? :payload
|
225
225
|
end
|
@@ -248,6 +248,35 @@ describe "HTTP" do
|
|
248
248
|
end
|
249
249
|
end
|
250
250
|
|
251
|
+
it "processes filenames from file hashes" do
|
252
|
+
files = {
|
253
|
+
upload: {data: sample_data, filename: "test.txt"}
|
254
|
+
}
|
255
|
+
query = BubbleWrap::HTTP::Query.new(@fake_url, :post, {files: files})
|
256
|
+
uuid = query.instance_variable_get(:@boundary)
|
257
|
+
real_payload = NSString.alloc.initWithData(query.request.HTTPBody, encoding:NSUTF8StringEncoding)
|
258
|
+
real_payload.should.equal "--#{uuid}\r\nContent-Disposition: form-data; name=\"upload\"; filename=\"test.txt\"\r\nContent-Type: application/octet-stream\r\n\r\ntwitter:@mneorr\r\n--#{uuid}--\r\n"
|
259
|
+
end
|
260
|
+
|
261
|
+
it "processes filenames from file hashes, using the name when the filename is missing" do
|
262
|
+
files = {
|
263
|
+
upload: {data: sample_data}
|
264
|
+
}
|
265
|
+
query = BubbleWrap::HTTP::Query.new(@fake_url, :post, {files: files})
|
266
|
+
uuid = query.instance_variable_get(:@boundary)
|
267
|
+
real_payload = NSString.alloc.initWithData(query.request.HTTPBody, encoding:NSUTF8StringEncoding)
|
268
|
+
real_payload.should.equal "--#{uuid}\r\nContent-Disposition: form-data; name=\"upload\"; filename=\"upload\"\r\nContent-Type: application/octet-stream\r\n\r\ntwitter:@mneorr\r\n--#{uuid}--\r\n"
|
269
|
+
end
|
270
|
+
|
271
|
+
it "throws an error for invalid file parameters" do
|
272
|
+
files = {
|
273
|
+
twitter: {filename: "test.txt", data: nil}
|
274
|
+
}
|
275
|
+
lambda {
|
276
|
+
BW::HTTP::Query.new("http://example.com", :post, { files: files})
|
277
|
+
}.should.raise InvalidFileError
|
278
|
+
end
|
279
|
+
|
251
280
|
it "sets the HTTPBody DATA to @request for all methods except GET and HEAD" do
|
252
281
|
payload = { name: 'apple', model: 'macbook'}
|
253
282
|
files = { twitter: sample_data, site: "mneorr.com".dataUsingEncoding(NSUTF8StringEncoding) }
|
@@ -336,7 +365,7 @@ describe "HTTP" do
|
|
336
365
|
end
|
337
366
|
|
338
367
|
it "should call initiate_request with the URL passed in" do
|
339
|
-
processed_url = "http://localhost?user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter
|
368
|
+
processed_url = "http://localhost?user%5Bname%5D=marin&user%5Bsurname%5D=usalj&twitter=%40mneorr&website=mneorr.com&values%5B%5D=apple&values%5B%5D=orange&values%5B%5D=peach&credentials%5Busername%5D=mneorr&credentials%5Bpassword%5D=123456xx%21%40crazy"
|
340
369
|
@query.instance_variable_get(:@url).description.should.equal processed_url
|
341
370
|
end
|
342
371
|
|
@@ -583,6 +612,24 @@ describe "HTTP" do
|
|
583
612
|
end
|
584
613
|
end
|
585
614
|
|
615
|
+
it "should always allow canonical redirects" do
|
616
|
+
@query.options.update({:no_redirect => 1})
|
617
|
+
request = @query.connection(nil, willSendRequest:@request, redirectResponse:nil)
|
618
|
+
request.should.equal @request
|
619
|
+
end
|
620
|
+
|
621
|
+
it "should disallow non-canonical redirects if requested not to" do
|
622
|
+
@query.options.update({:no_redirect => 1})
|
623
|
+
request = @query.connection(nil, willSendRequest:@request, redirectResponse:"monkey")
|
624
|
+
request.should.equal nil
|
625
|
+
end
|
626
|
+
|
627
|
+
it "should allow non-canonical redirects by default" do
|
628
|
+
@query.options.delete(:no_redirect)
|
629
|
+
request = @query.connection(nil, willSendRequest:@request, redirectResponse:"monkey")
|
630
|
+
request.should.equal @request
|
631
|
+
end
|
632
|
+
|
586
633
|
describe "after 30 redirects" do
|
587
634
|
before do
|
588
635
|
31.times do
|
@@ -603,6 +650,15 @@ describe "HTTP" do
|
|
603
650
|
end
|
604
651
|
end
|
605
652
|
|
653
|
+
it "should update the request URL after redirecting by default" do
|
654
|
+
query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, {} )
|
655
|
+
redirected_request = NSMutableURLRequest.requestWithURL NSURL.URLWithString('http://expanded.local/')
|
656
|
+
query.connection(nil, willSendRequest:redirected_request, redirectResponse:nil)
|
657
|
+
query.connectionDidFinishLoading(nil)
|
658
|
+
query.response.url.absoluteString.should.equal redirected_request.URL.absoluteString
|
659
|
+
query.response.original_url.absoluteString.should.equal @localhost_url
|
660
|
+
end
|
661
|
+
|
606
662
|
end
|
607
663
|
|
608
664
|
describe "didReceiveAuthenticationChallenge" do
|
@@ -630,8 +686,8 @@ describe "HTTP" do
|
|
630
686
|
|
631
687
|
it 'should continue without credentials when no credentials provided' do
|
632
688
|
@options.delete :credentials
|
633
|
-
|
634
|
-
|
689
|
+
query = BubbleWrap::HTTP::Query.new( @localhost_url , :get, @options )
|
690
|
+
query.connection(nil, didReceiveAuthenticationChallenge:@challenge)
|
635
691
|
@challenge.sender.continue_without_credential.should.equal true
|
636
692
|
end
|
637
693
|
|
@@ -640,18 +696,36 @@ describe "HTTP" do
|
|
640
696
|
describe "properly format payload to url get query string" do
|
641
697
|
|
642
698
|
before do
|
643
|
-
@payload = {"we love" => '#==Rock&Roll==#', "radio" => "Ga Ga", "qual" => 3.0, "incr" => -1}
|
699
|
+
@payload = {"we love" => '#==Rock&Roll==#', "radio" => "Ga Ga", "qual" => 3.0, "incr" => -1, "RFC3986" => "!*'();:@&=+$,/?%#[]"}
|
644
700
|
@url_string = 'http://fake.url/method'
|
645
701
|
@get_query = BubbleWrap::HTTP::Query.new( @url_string, :get, :payload => @payload)
|
646
|
-
@escaped_url = "http://fake.url/method?we%20love=%23%3D%3DRock%26Roll%3D%3D%23&radio=Ga%20Ga&qual=3.0&incr=-1"
|
702
|
+
@escaped_url = "http://fake.url/method?we%20love=%23%3D%3DRock%26Roll%3D%3D%23&radio=Ga%20Ga&qual=3.0&incr=-1&RFC3986=%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D"
|
647
703
|
end
|
648
704
|
|
649
|
-
it "should escape
|
705
|
+
it "should escape !*'();:@&=+$,/?%#[] characters only in keys and values" do
|
650
706
|
@get_query.instance_variable_get(:@url).description.should.equal @escaped_url
|
651
707
|
end
|
652
708
|
|
653
709
|
end
|
654
710
|
|
711
|
+
describe 'properly support cookie-option for nsmutableurlrequest' do
|
712
|
+
|
713
|
+
before do
|
714
|
+
@no_cookie_query = BubbleWrap::HTTP::Query.new("http://haz-no-cookiez.url", :get, {:payload => {:something => "else"}, :cookies => false})
|
715
|
+
@cookie_query = BubbleWrap::HTTP::Query.new("http://haz-cookiez.url", :get, :payload => {:something => "else"})
|
716
|
+
end
|
717
|
+
|
718
|
+
it 'should disabled cookie-usage on nsurlrequest' do
|
719
|
+
@no_cookie_query.instance_variable_get(:@request).HTTPShouldHandleCookies.should.equal false
|
720
|
+
end
|
721
|
+
|
722
|
+
it 'should keep sane cookie-related defaults on nsurlrequest' do
|
723
|
+
@cookie_query.instance_variable_get(:@request).HTTPShouldHandleCookies.should.equal true
|
724
|
+
end
|
725
|
+
|
726
|
+
|
727
|
+
end
|
728
|
+
|
655
729
|
class FakeSender
|
656
730
|
attr_reader :challenge, :credential, :was_cancelled, :continue_without_credential
|
657
731
|
def cancelAuthenticationChallenge(challenge)
|
@@ -14,7 +14,7 @@ class CLLocationManager
|
|
14
14
|
|
15
15
|
def self.locationServicesEnabled
|
16
16
|
return true if @enabled.nil?
|
17
|
-
@enabled
|
17
|
+
@enabled
|
18
18
|
end
|
19
19
|
|
20
20
|
def startUpdatingLocation
|
@@ -101,6 +101,27 @@ describe BubbleWrap::Location do
|
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
|
+
describe ".get_once" do
|
105
|
+
it "should have correct location when succeeding" do
|
106
|
+
to = CLLocation.alloc.initWithLatitude(100, longitude: 50)
|
107
|
+
from = CLLocation.alloc.initWithLatitude(100, longitude: 49)
|
108
|
+
|
109
|
+
@number_times = 0
|
110
|
+
BW::Location.get_once do |location|
|
111
|
+
location.longitude.should == 50
|
112
|
+
location.latitude.should == 100
|
113
|
+
@number_times += 1
|
114
|
+
end
|
115
|
+
|
116
|
+
BW::Location.locationManager(location_manager, didUpdateToLocation: to, fromLocation: from)
|
117
|
+
|
118
|
+
to = CLLocation.alloc.initWithLatitude(0, longitude: 0)
|
119
|
+
from = CLLocation.alloc.initWithLatitude(0, longitude: 0)
|
120
|
+
BW::Location.locationManager(location_manager, didUpdateToLocation: to, fromLocation: from)
|
121
|
+
@number_times.should == 1
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
104
125
|
describe ".get_significant" do
|
105
126
|
before do
|
106
127
|
reset
|
@@ -15,6 +15,21 @@ describe BubbleWrap::Reactor::Eventable do
|
|
15
15
|
events = @subject.instance_variable_get(:@events)
|
16
16
|
events[:foo].member?(proof).should == true
|
17
17
|
end
|
18
|
+
|
19
|
+
it 'returns the array of blocks for the event' do
|
20
|
+
proof = proc { }
|
21
|
+
@subject.on(:foo, &proof).should == [proof]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '.off' do
|
26
|
+
it 'unregisters events' do
|
27
|
+
proof = proc { }
|
28
|
+
@subject.on(:foo, &proof)
|
29
|
+
events = @subject.instance_variable_get(:@events)
|
30
|
+
@subject.off(:foo, &proof)
|
31
|
+
events[:foo].member?(proof).should == false
|
32
|
+
end
|
18
33
|
end
|
19
34
|
|
20
35
|
describe '.trigger' do
|
data/spec/motion/reactor_spec.rb
CHANGED
@@ -53,6 +53,29 @@ describe BubbleWrap::Reactor do
|
|
53
53
|
@proxy.proof.should >= 2
|
54
54
|
end
|
55
55
|
end
|
56
|
+
|
57
|
+
it 'accepts non-block callbacks' do
|
58
|
+
@proxy.proof = 0
|
59
|
+
callback = lambda {
|
60
|
+
@proxy.proof = @proxy.proof + 1
|
61
|
+
@subject.cancel_timer(@timer) if @proxy.proof > 2
|
62
|
+
}
|
63
|
+
@timer = @subject.add_periodic_timer 0.5, callback
|
64
|
+
wait 1.1 do
|
65
|
+
@proxy.proof.should >= 2
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'runs callbacks repeatedly in common runloop modes' do
|
70
|
+
@proxy.proof = 0
|
71
|
+
@timer = @subject.add_periodic_timer 0.5, :common_modes => true do
|
72
|
+
@proxy.proof = @proxy.proof + 1
|
73
|
+
@subject.cancel_timer(@timer) if @proxy.proof > 2
|
74
|
+
end
|
75
|
+
wait 1.1 do
|
76
|
+
@proxy.proof.should >= 2
|
77
|
+
end
|
78
|
+
end
|
56
79
|
end
|
57
80
|
|
58
81
|
describe '.cancel_timer' do
|
@@ -73,6 +96,15 @@ describe BubbleWrap::Reactor do
|
|
73
96
|
@subject.cancel_timer(timer)
|
74
97
|
@proxy.proof.should == true
|
75
98
|
end
|
99
|
+
|
100
|
+
it 'cancels common modes periodic timers' do
|
101
|
+
@proxy.proof = true
|
102
|
+
timer = @subject.add_periodic_timer 10.0, :common_modes => true do
|
103
|
+
@proxy.proof = false
|
104
|
+
end
|
105
|
+
@subject.cancel_timer(timer)
|
106
|
+
@proxy.proof.should == true
|
107
|
+
end
|
76
108
|
end
|
77
109
|
|
78
110
|
describe '.defer' do
|
@@ -0,0 +1,26 @@
|
|
1
|
+
describe BubbleWrap::Constants do
|
2
|
+
describe ".get" do
|
3
|
+
BubbleWrap::Constants.register UIReturnKeyDone, UIReturnKeyNext
|
4
|
+
|
5
|
+
|
6
|
+
it "should return integer passed" do
|
7
|
+
BW::Constants.get("anything", 5).should == 5
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should return integer for decimal passed" do
|
11
|
+
BW::Constants.get("anything", 5.0).should == 5
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should return the correct integer for a string" do
|
15
|
+
BW::Constants.get("UIReturnKey", "done").should == UIReturnKeyDone
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return the correct integer for a symbol" do
|
19
|
+
BW::Constants.get("UIReturnKey", :done).should == UIReturnKeyDone
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should bitmask array values" do
|
23
|
+
BW::Constants.get("UIReturnKey", :done, :next).should == (UIReturnKeyDone | UIReturnKeyNext)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bubble-wrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0.pre
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Matt Aimonetti
|
@@ -15,12 +14,11 @@ authors:
|
|
15
14
|
autorequire:
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
|
-
date: 2013-
|
17
|
+
date: 2013-04-19 00:00:00.000000000 Z
|
19
18
|
dependencies:
|
20
19
|
- !ruby/object:Gem::Dependency
|
21
20
|
name: mocha
|
22
21
|
requirement: !ruby/object:Gem::Requirement
|
23
|
-
none: false
|
24
22
|
requirements:
|
25
23
|
- - '='
|
26
24
|
- !ruby/object:Gem::Version
|
@@ -28,7 +26,6 @@ dependencies:
|
|
28
26
|
type: :development
|
29
27
|
prerelease: false
|
30
28
|
version_requirements: !ruby/object:Gem::Requirement
|
31
|
-
none: false
|
32
29
|
requirements:
|
33
30
|
- - '='
|
34
31
|
- !ruby/object:Gem::Version
|
@@ -36,7 +33,6 @@ dependencies:
|
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: mocha-on-bacon
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
37
|
- - ! '>='
|
42
38
|
- !ruby/object:Gem::Version
|
@@ -44,7 +40,6 @@ dependencies:
|
|
44
40
|
type: :development
|
45
41
|
prerelease: false
|
46
42
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
43
|
requirements:
|
49
44
|
- - ! '>='
|
50
45
|
- !ruby/object:Gem::Version
|
@@ -52,7 +47,6 @@ dependencies:
|
|
52
47
|
- !ruby/object:Gem::Dependency
|
53
48
|
name: bacon
|
54
49
|
requirement: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
50
|
requirements:
|
57
51
|
- - ! '>='
|
58
52
|
- !ruby/object:Gem::Version
|
@@ -60,7 +54,6 @@ dependencies:
|
|
60
54
|
type: :development
|
61
55
|
prerelease: false
|
62
56
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
57
|
requirements:
|
65
58
|
- - ! '>='
|
66
59
|
- !ruby/object:Gem::Version
|
@@ -68,7 +61,6 @@ dependencies:
|
|
68
61
|
- !ruby/object:Gem::Dependency
|
69
62
|
name: rake
|
70
63
|
requirement: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
64
|
requirements:
|
73
65
|
- - ! '>='
|
74
66
|
- !ruby/object:Gem::Version
|
@@ -76,7 +68,6 @@ dependencies:
|
|
76
68
|
type: :development
|
77
69
|
prerelease: false
|
78
70
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
71
|
requirements:
|
81
72
|
- - ! '>='
|
82
73
|
- !ruby/object:Gem::Version
|
@@ -112,6 +103,7 @@ extra_rdoc_files:
|
|
112
103
|
- motion/core/pollute.rb
|
113
104
|
- motion/core/string.rb
|
114
105
|
- motion/core/time.rb
|
106
|
+
- motion/font/font.rb
|
115
107
|
- motion/http.rb
|
116
108
|
- motion/location/location.rb
|
117
109
|
- motion/location/pollute.rb
|
@@ -130,8 +122,10 @@ extra_rdoc_files:
|
|
130
122
|
- motion/test_suite_delegate.rb
|
131
123
|
- motion/ui/gestures.rb
|
132
124
|
- motion/ui/pollute.rb
|
125
|
+
- motion/ui/ui_bar_button_item.rb
|
133
126
|
- motion/ui/ui_control.rb
|
134
127
|
- motion/ui/ui_view_controller.rb
|
128
|
+
- motion/util/constants.rb
|
135
129
|
- spec/lib/bubble-wrap/ext/motion_project_app_spec.rb
|
136
130
|
- spec/lib/bubble-wrap/ext/motion_project_config_spec.rb
|
137
131
|
- spec/lib/motion_stub.rb
|
@@ -148,16 +142,20 @@ extra_rdoc_files:
|
|
148
142
|
- spec/motion/core/persistence_spec.rb
|
149
143
|
- spec/motion/core/string_spec.rb
|
150
144
|
- spec/motion/core/time_spec.rb
|
145
|
+
- spec/motion/core/ui_bar_button_item_spec.rb
|
151
146
|
- spec/motion/core/ui_control_spec.rb
|
152
147
|
- spec/motion/core_spec.rb
|
148
|
+
- spec/motion/font/font_spec.rb
|
153
149
|
- spec/motion/http_spec.rb
|
154
150
|
- spec/motion/location/location_spec.rb
|
155
151
|
- spec/motion/media/player_spec.rb
|
156
152
|
- spec/motion/reactor/eventable_spec.rb
|
157
153
|
- spec/motion/reactor_spec.rb
|
158
154
|
- spec/motion/rss_parser_spec.rb
|
155
|
+
- spec/motion/util/constants_spec.rb
|
159
156
|
files:
|
160
157
|
- .gitignore
|
158
|
+
- .travis.yml
|
161
159
|
- .yardopts
|
162
160
|
- CHANGELOG.md
|
163
161
|
- GEM.md
|
@@ -176,6 +174,7 @@ files:
|
|
176
174
|
- lib/bubble-wrap/ext.rb
|
177
175
|
- lib/bubble-wrap/ext/motion_project_app.rb
|
178
176
|
- lib/bubble-wrap/ext/motion_project_config.rb
|
177
|
+
- lib/bubble-wrap/font.rb
|
179
178
|
- lib/bubble-wrap/http.rb
|
180
179
|
- lib/bubble-wrap/loader.rb
|
181
180
|
- lib/bubble-wrap/location.rb
|
@@ -203,6 +202,7 @@ files:
|
|
203
202
|
- motion/core/pollute.rb
|
204
203
|
- motion/core/string.rb
|
205
204
|
- motion/core/time.rb
|
205
|
+
- motion/font/font.rb
|
206
206
|
- motion/http.rb
|
207
207
|
- motion/location/location.rb
|
208
208
|
- motion/location/pollute.rb
|
@@ -221,8 +221,10 @@ files:
|
|
221
221
|
- motion/test_suite_delegate.rb
|
222
222
|
- motion/ui/gestures.rb
|
223
223
|
- motion/ui/pollute.rb
|
224
|
+
- motion/ui/ui_bar_button_item.rb
|
224
225
|
- motion/ui/ui_control.rb
|
225
226
|
- motion/ui/ui_view_controller.rb
|
227
|
+
- motion/util/constants.rb
|
226
228
|
- resources/atom.xml
|
227
229
|
- resources/test.mp3
|
228
230
|
- samples/camera/Gemfile
|
@@ -269,37 +271,39 @@ files:
|
|
269
271
|
- spec/motion/core/persistence_spec.rb
|
270
272
|
- spec/motion/core/string_spec.rb
|
271
273
|
- spec/motion/core/time_spec.rb
|
274
|
+
- spec/motion/core/ui_bar_button_item_spec.rb
|
272
275
|
- spec/motion/core/ui_control_spec.rb
|
273
276
|
- spec/motion/core_spec.rb
|
277
|
+
- spec/motion/font/font_spec.rb
|
274
278
|
- spec/motion/http_spec.rb
|
275
279
|
- spec/motion/location/location_spec.rb
|
276
280
|
- spec/motion/media/player_spec.rb
|
277
281
|
- spec/motion/reactor/eventable_spec.rb
|
278
282
|
- spec/motion/reactor_spec.rb
|
279
283
|
- spec/motion/rss_parser_spec.rb
|
284
|
+
- spec/motion/util/constants_spec.rb
|
280
285
|
homepage: http://bubblewrap.io/
|
281
286
|
licenses: []
|
287
|
+
metadata: {}
|
282
288
|
post_install_message:
|
283
289
|
rdoc_options: []
|
284
290
|
require_paths:
|
285
291
|
- lib
|
286
292
|
required_ruby_version: !ruby/object:Gem::Requirement
|
287
|
-
none: false
|
288
293
|
requirements:
|
289
294
|
- - ! '>='
|
290
295
|
- !ruby/object:Gem::Version
|
291
296
|
version: '0'
|
292
297
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
293
|
-
none: false
|
294
298
|
requirements:
|
295
|
-
- - ! '
|
299
|
+
- - ! '>'
|
296
300
|
- !ruby/object:Gem::Version
|
297
|
-
version:
|
301
|
+
version: 1.3.1
|
298
302
|
requirements: []
|
299
303
|
rubyforge_project:
|
300
|
-
rubygems_version:
|
304
|
+
rubygems_version: 2.0.3
|
301
305
|
signing_key:
|
302
|
-
specification_version:
|
306
|
+
specification_version: 4
|
303
307
|
summary: RubyMotion wrappers and helpers (Ruby for iOS) - Making Cocoa APIs more Ruby
|
304
308
|
like, one API at a time. Fork away and send your pull request.
|
305
309
|
test_files:
|
@@ -322,12 +326,14 @@ test_files:
|
|
322
326
|
- spec/motion/core/persistence_spec.rb
|
323
327
|
- spec/motion/core/string_spec.rb
|
324
328
|
- spec/motion/core/time_spec.rb
|
329
|
+
- spec/motion/core/ui_bar_button_item_spec.rb
|
325
330
|
- spec/motion/core/ui_control_spec.rb
|
326
331
|
- spec/motion/core_spec.rb
|
332
|
+
- spec/motion/font/font_spec.rb
|
327
333
|
- spec/motion/http_spec.rb
|
328
334
|
- spec/motion/location/location_spec.rb
|
329
335
|
- spec/motion/media/player_spec.rb
|
330
336
|
- spec/motion/reactor/eventable_spec.rb
|
331
337
|
- spec/motion/reactor_spec.rb
|
332
338
|
- spec/motion/rss_parser_spec.rb
|
333
|
-
|
339
|
+
- spec/motion/util/constants_spec.rb
|