ProMotion 1.2.1 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +36 -10
  3. data/lib/ProMotion.rb +11 -2
  4. data/lib/ProMotion/cocoatouch/ns_string.rb +5 -0
  5. data/lib/ProMotion/cocoatouch/ns_url.rb +5 -0
  6. data/lib/ProMotion/cocoatouch/tab_bar_controller.rb +5 -7
  7. data/lib/ProMotion/cocoatouch/table_view_cell.rb +0 -16
  8. data/lib/ProMotion/cocoatouch/table_view_controller.rb +2 -3
  9. data/lib/ProMotion/cocoatouch/view_controller.rb +3 -6
  10. data/lib/ProMotion/delegate/delegate.rb +0 -3
  11. data/lib/ProMotion/delegate/delegate_module.rb +24 -20
  12. data/lib/ProMotion/{containers → ipad}/split_screen.rb +30 -32
  13. data/lib/ProMotion/{logger.rb → logger/logger.rb} +6 -5
  14. data/lib/ProMotion/screen/nav_bar_module.rb +126 -0
  15. data/lib/ProMotion/screen/screen.rb +0 -3
  16. data/lib/ProMotion/screen/screen_module.rb +54 -177
  17. data/lib/ProMotion/screen/screen_navigation.rb +29 -40
  18. data/lib/ProMotion/{view → styling}/styling.rb +17 -47
  19. data/lib/ProMotion/table/cell/table_view_cell_module.rb +76 -123
  20. data/lib/ProMotion/table/data/table_data.rb +1 -1
  21. data/lib/ProMotion/table/extensions/longpressable.rb +24 -0
  22. data/lib/ProMotion/table/extensions/refreshable.rb +1 -0
  23. data/lib/ProMotion/table/grouped_table_screen.rb +0 -5
  24. data/lib/ProMotion/table/table.rb +63 -83
  25. data/lib/ProMotion/table/table_screen.rb +0 -4
  26. data/lib/ProMotion/{containers → tabs}/tabs.rb +20 -21
  27. data/lib/ProMotion/version.rb +1 -1
  28. data/lib/ProMotion/web/web_screen.rb +0 -4
  29. data/lib/ProMotion/web/web_screen_module.rb +8 -5
  30. data/spec/functional/func_screen_spec.rb +14 -18
  31. data/spec/functional/func_split_screen_spec.rb +2 -2
  32. data/spec/functional/func_table_screen_spec.rb +54 -40
  33. data/spec/functional/func_web_screen_spec.rb +12 -17
  34. data/spec/helpers/test_helper.rb +27 -0
  35. data/spec/unit/delegate_spec.rb +4 -67
  36. data/spec/unit/image_title_screen.rb +9 -0
  37. data/spec/unit/image_view_title_screen.rb +9 -0
  38. data/spec/unit/load_view_spec.rb +27 -0
  39. data/spec/unit/main_spec.rb +0 -6
  40. data/spec/unit/screen_helpers_spec.rb +23 -17
  41. data/spec/unit/screen_spec.rb +21 -17
  42. data/spec/unit/searchable_table_spec.rb +55 -0
  43. data/spec/unit/split_screen_in_tab_bar_spec.rb +5 -5
  44. data/spec/unit/split_screen_spec.rb +4 -4
  45. data/spec/unit/tab_bar_spec.rb +79 -0
  46. data/spec/unit/tab_spec.rb +11 -5
  47. data/spec/unit/tables/table_module_spec.rb +22 -8
  48. data/spec/unit/tables/table_screen_spec.rb +1 -1
  49. data/spec/unit/tables/table_view_cell_spec.rb +16 -16
  50. data/spec/unit/view_helper_spec.rb +6 -81
  51. data/spec/unit/view_title_screen.rb +10 -0
  52. data/spec/unit/web_spec.rb +31 -37
  53. metadata +37 -111
  54. data/.gitignore +0 -33
  55. data/.travis.yml +0 -4
  56. data/CONTRIBUTING.md +0 -20
  57. data/Gemfile +0 -5
  58. data/LICENSE +0 -22
  59. data/ProMotion.gemspec +0 -30
  60. data/Rakefile +0 -66
  61. data/app/app_delegate.rb +0 -7
  62. data/app/screens/basic_screen.rb +0 -15
  63. data/lib/ProMotion/delegate/delegate_notifications.rb +0 -70
  64. data/lib/ProMotion/extensions/conversions.rb +0 -20
  65. data/lib/ProMotion/map/map_screen.rb +0 -10
  66. data/lib/ProMotion/map/map_screen_annotation.rb +0 -65
  67. data/lib/ProMotion/map/map_screen_module.rb +0 -212
  68. data/lib/ProMotion/push_notification/push_notification.rb +0 -58
  69. data/resources/WebScreen.html +0 -6
  70. data/resources/list.png +0 -0
  71. data/resources/test.png +0 -0
  72. data/spec/functional/func_image_title_screen.rb +0 -20
  73. data/spec/functional/func_image_view_title_screen.rb +0 -20
  74. data/spec/functional/func_map_screen_spec.rb +0 -162
  75. data/spec/functional/func_searchable_table_spec.rb +0 -56
  76. data/spec/functional/func_tab_bar_spec.rb +0 -78
  77. data/spec/functional/func_view_title_screen.rb +0 -21
  78. data/spec/helpers/basic_screen.rb +0 -3
  79. data/spec/helpers/custom_title_view.rb +0 -4
  80. data/spec/helpers/detail_screen.rb +0 -3
  81. data/spec/helpers/dummy_class.rb +0 -3
  82. data/spec/helpers/functional_screen.rb +0 -15
  83. data/spec/helpers/home_screen.rb +0 -19
  84. data/spec/helpers/image_title_screen.rb +0 -15
  85. data/spec/helpers/image_view_title_screen.rb +0 -15
  86. data/spec/helpers/map_screen.rb +0 -53
  87. data/spec/helpers/master_screen.rb +0 -3
  88. data/spec/helpers/present_screen.rb +0 -26
  89. data/spec/helpers/screen_module_view_controller.rb +0 -55
  90. data/spec/helpers/tab_screen.rb +0 -4
  91. data/spec/helpers/table_screen.rb +0 -117
  92. data/spec/helpers/table_screen_indexable.rb +0 -18
  93. data/spec/helpers/table_screen_refreshable.rb +0 -11
  94. data/spec/helpers/table_screen_searchable.rb +0 -72
  95. data/spec/helpers/test_delegate.rb +0 -34
  96. data/spec/helpers/test_delegate_colors.rb +0 -17
  97. data/spec/helpers/view_title_screen.rb +0 -15
  98. data/spec/helpers/web_screen.rb +0 -23
  99. data/spec/unit/map_spec.rb +0 -71
@@ -0,0 +1,79 @@
1
+ describe "PM::Tabs" do
2
+ def app
3
+ @app ||= TestDelegate.new
4
+ end
5
+
6
+ def tab_bar
7
+ @tab_bar ||= begin
8
+ @screen1 = BasicScreen.new(nav_bar: true, title: "Screen 1")
9
+ @screen2 = BasicScreen.new(nav_bar: true, title: "Screen 2")
10
+ @screen3 = BasicScreen.new(title: "Screen 3")
11
+ @screen4 = BasicScreen.new(title: "Screen 4")
12
+
13
+ app.open_tab_bar(@screen1, @screen2, @screen3, @screen4)
14
+ end
15
+ end
16
+
17
+ it "should create a UITabBarController" do
18
+ tab_bar
19
+ app.window.rootViewController.should.be.kind_of UITabBarController
20
+ end
21
+
22
+ it "should have four tabs" do
23
+ tab_bar.viewControllers.length.should == 4
24
+ end
25
+
26
+ it "should have the right screens in the right places" do
27
+ tab_bar.viewControllers[0].should == @screen1.navigationController
28
+ tab_bar.viewControllers[1].should == @screen2.navigationController
29
+ tab_bar.viewControllers[2].should == @screen3
30
+ tab_bar.viewControllers[3].should == @screen4
31
+ end
32
+
33
+ it "should allow opening a tab by the name from any screen" do
34
+ @screen1.open_tab "Screen 2"
35
+ tab_bar.selectedIndex.should == 1
36
+ @screen2.open_tab "Screen 3"
37
+ tab_bar.selectedIndex.should == 2
38
+ @screen3.open_tab "Screen 4"
39
+ tab_bar.selectedIndex.should == 3
40
+ @screen4.open_tab "Screen 1"
41
+ tab_bar.selectedIndex.should == 0
42
+ end
43
+
44
+ it "should allow opening a tab by the index from any screen" do
45
+ @screen1.open_tab 1
46
+ tab_bar.selectedIndex.should == 1
47
+ @screen2.open_tab 2
48
+ tab_bar.selectedIndex.should == 2
49
+ @screen3.open_tab 3
50
+ tab_bar.selectedIndex.should == 3
51
+ @screen4.open_tab 0
52
+ tab_bar.selectedIndex.should == 0
53
+ end
54
+
55
+ it "should allow opening a tab from the app_delegate" do
56
+ app.open_tab "Screen 2"
57
+ tab_bar.selectedIndex.should == 1
58
+ app.open_tab "Screen 3"
59
+ tab_bar.selectedIndex.should == 2
60
+ app.open_tab "Screen 4"
61
+ tab_bar.selectedIndex.should == 3
62
+ app.open_tab "Screen 1"
63
+ tab_bar.selectedIndex.should == 0
64
+ end
65
+
66
+ it "should allow opening a tab by accessing the tab bar directly" do
67
+ tab_bar.open_tab "Screen 2"
68
+ tab_bar.selectedIndex.should == 1
69
+ tab_bar.open_tab "Screen 3"
70
+ tab_bar.selectedIndex.should == 2
71
+ tab_bar.open_tab "Screen 4"
72
+ tab_bar.selectedIndex.should == 3
73
+ tab_bar.open_tab "Screen 1"
74
+ tab_bar.selectedIndex.should == 0
75
+ end
76
+
77
+
78
+
79
+ end
@@ -12,7 +12,7 @@ describe "tab bar functionality" do
12
12
  end
13
13
 
14
14
  after do
15
-
15
+
16
16
  end
17
17
 
18
18
  it "should have created a tab bar with four items" do
@@ -20,22 +20,28 @@ describe "tab bar functionality" do
20
20
  @tab_bar.should.be.kind_of(UITabBarController)
21
21
  @tab_bar.viewControllers.length.should == 4
22
22
  end
23
-
23
+
24
24
  it "should have set a custom tab bar item" do
25
25
  @tab_bar.tabBar.items.first.title.should == "Tab Item"
26
26
  end
27
-
27
+
28
28
  it "should have set the others to their respective titles" do
29
29
  @tab_bar.tabBar.items[1].title.should == "Basic"
30
30
  @tab_bar.tabBar.items[2].title.should == "Home"
31
31
  @tab_bar.tabBar.items[3].title.should == "TestTableScreen"
32
32
  end
33
-
33
+
34
34
  it "should allow changing the tab bar item with set_tab_bar_item" do
35
- @tab_1.set_tab_bar_item title: "Custom", icon: "test.jpeg"
35
+ @tab_1.set_tab_bar_item title: "Custom", item: "test.jpeg"
36
36
  @tab_bar.tabBar.items.first.title.should == "Custom"
37
37
  end
38
38
 
39
+ it "should allow replacing a view controller with `open`" do
40
+ new_screen = BasicScreen.new
41
+ @tab_4.open new_screen, in_tab: "Home"
42
+ @tab_bar.viewControllers[2].should == new_screen
43
+ end
44
+
39
45
  end
40
46
 
41
47
 
@@ -11,24 +11,28 @@ describe "PM::Table module" do
11
11
  subtitle: "This is way too huge..see note",
12
12
  arguments: { data: [ "lots", "of", "data" ] },
13
13
  action: :tapped_cell_1,
14
+ long_press_action: :long_press_cell_1,
14
15
  height: 50, # manually changes the cell's height
15
16
  cell_style: UITableViewCellStyleSubtitle,
16
17
  cell_identifier: "Cell",
17
18
  cell_class: PM::TableViewCell,
18
- masks_to_bounds: true,
19
- background_color: UIColor.colorWithPatternImage(@image),
20
- selection_style: UITableViewCellSelectionStyleGray,
19
+ selection_style: :gray,
21
20
  accessory: {
22
21
  view: :switch, # currently only :switch is supported
23
22
  type: UITableViewCellAccessoryCheckmark,
24
- checked: true # whether it's "checked" or not
23
+ value: true # whether it's "checked" or not
25
24
  },
26
25
  image: { image: @image, radius: 15 },
27
26
  remote_image: { # remote image, requires JMImageCache CocoaPod
28
- url: "http://placekitten.com/200/300", placeholder: "some-local-image",
29
- size: 50, radius: 15
27
+ url: "http://placekitten.com/200/300",
28
+ placeholder: "some-local-image",
29
+ size: 50,
30
+ radius: 15
30
31
  },
31
- subviews: [ @some_view, @some_other_view ] # arbitrary views added to the cell
32
+ style: {
33
+ masks_to_bounds: true,
34
+ background_color: UIColor.colorWithPatternImage(@image)
35
+ }
32
36
  })
33
37
  end
34
38
 
@@ -40,7 +44,7 @@ describe "PM::Table module" do
40
44
  },{
41
45
  title: "Table cell group 2", cells: [ cell_factory ]
42
46
  },{
43
- title: "Table cell group 3", cells: [ cell_factory(title: "3-1"), cell_factory(title: "3-2", background_color: UIColor.blueColor) ]
47
+ title: "Table cell group 3", cells: [ cell_factory(title: "3-1"), cell_factory({title: "3-2", style: { background_color: UIColor.blueColor } }) ]
44
48
  },{
45
49
  title: "Table cell group 4", cells: [ custom_cell, cell_factory(title: "4-2"), cell_factory(title: "4-3"), cell_factory(title: "4-4") ]
46
50
  },{
@@ -111,6 +115,16 @@ describe "PM::Table module" do
111
115
  @subject.tableView(@subject.table_view, didSelectRowAtIndexPath:@custom_ip)
112
116
  end
113
117
 
118
+ # TODO - make this test work when MacBacon supports long press gestures
119
+ # https://github.com/HipByte/RubyMotion/issues/160
120
+ #
121
+ # it "should trigger the right action on a long_press" do
122
+ # @subject.mock! :long_press_cell_1 do |args|
123
+ # args[:data].should == [ "lots", "of", "data" ]
124
+ # end
125
+ # tap(@subject.table_view, :at => location, :times => number_of_taps, :touches => number_of_fingers)
126
+ # end
127
+
114
128
  it "should set a custom cell background image" do
115
129
  @image.should.not.be.nil
116
130
  ip = NSIndexPath.indexPathForRow(0, inSection: 3) # Cell 2-1
@@ -64,7 +64,7 @@ describe "table screens" do
64
64
  end
65
65
 
66
66
  it "should create a search header" do
67
- @screen.table_view.tableHeaderView.should.be.kind_of UISearchBar
67
+ @screen.tableView.tableHeaderView.should.be.kind_of UISearchBar
68
68
  end
69
69
 
70
70
  end
@@ -10,12 +10,21 @@ describe "PM::TableViewCellModule" do
10
10
  cell_style: UITableViewCellStyleSubtitle,
11
11
  cell_identifier: "Custom Cell",
12
12
  cell_class: PM::TableViewCell,
13
- layer: { masks_to_bounds: true },
14
- background_color: UIColor.redColor,
15
- selection_style: UITableViewCellSelectionStyleGray,
16
- accessory:{view: :switch, value: true}, # currently only :switch is supported
17
- image: { image: UIImage.imageNamed("list"), radius: 15 },
18
- subviews: [ UIView.alloc.initWithFrame(CGRectZero), UILabel.alloc.initWithFrame(CGRectZero) ] # arbitrary views added to the cell
13
+ accessory: {
14
+ view: :switch, # currently only :switch is supported
15
+ value: true
16
+ },
17
+ image: {
18
+ image: UIImage.imageNamed("list"),
19
+ radius: 15
20
+ },
21
+ selection_style: :gray,
22
+ style: {
23
+ layer: {
24
+ masks_to_bounds: true
25
+ },
26
+ background_color: UIColor.redColor
27
+ }
19
28
  }
20
29
  end
21
30
 
@@ -38,7 +47,7 @@ describe "PM::TableViewCellModule" do
38
47
  {
39
48
  title: "",
40
49
  cells: [
41
- { title: "Test 1", accessory_type: UITableViewCellStateShowingEditControlMask },
50
+ { title: "Test 1", style: { accessory_type: UITableViewCellStateShowingEditControlMask } },
42
51
  custom_cell,
43
52
  { title: "Test2", accessory: { view: button } },
44
53
  attributed_cell
@@ -127,15 +136,6 @@ describe "PM::TableViewCellModule" do
127
136
  @subject.imageView.layer.cornerRadius.should == 15.0
128
137
  end
129
138
 
130
- it "should create two extra subviews" do
131
- content_view = TestHelper.ios7 ? @subject.subviews.first : @subject
132
- content_view.subviews.length.should == 3
133
- content_view.subviews[1].class.should == UIView
134
- content_view.subviews[2].class.should == UILabel
135
- end
136
-
137
-
138
-
139
139
  end
140
140
 
141
141
 
@@ -41,6 +41,12 @@ describe "view helpers" do
41
41
  layered_view.layer.mask.backgroundColor.should == UIColor.redColor.CGColor
42
42
  end
43
43
 
44
+ it "should allow you to set an accessor to a hash" do
45
+ view_with_attr = CustomTitleView.new
46
+ @dummy.set_attributes view_with_attr, { title: { jamon: 1 } }
47
+ view_with_attr.title.should == { jamon: 1 }
48
+ end
49
+
44
50
  it "should allow you to set snake_case attributes" do
45
51
  layered_view = UIView.alloc.initWithFrame(CGRectMake(0, 0, 10, 10))
46
52
 
@@ -91,85 +97,4 @@ describe "view helpers" do
91
97
 
92
98
  end
93
99
 
94
- describe "set_easy_attributes" do
95
-
96
- before do
97
- @dummy = UIView.alloc.initWithFrame CGRectZero
98
- @dummy.extend ProMotion::Styling
99
-
100
- @parent = UIView.alloc.initWithFrame(CGRectMake(0, 0, 320, 480))
101
- @child = UIView.alloc.initWithFrame(CGRectZero)
102
- end
103
-
104
- it "Should set the autoresizingMask for all" do
105
- @dummy.set_easy_attributes @parent, @child, {
106
- resize: [:left, :right, :top, :bottom, :width, :height]
107
- }
108
-
109
- mask = UIViewAutoresizingFlexibleLeftMargin |
110
- UIViewAutoresizingFlexibleRightMargin |
111
- UIViewAutoresizingFlexibleTopMargin |
112
- UIViewAutoresizingFlexibleBottomMargin |
113
- UIViewAutoresizingFlexibleWidth |
114
- UIViewAutoresizingFlexibleHeight
115
-
116
- @child.autoresizingMask.should == mask
117
- end
118
-
119
- it "Should set the autoresizingMask for half" do
120
- @dummy.set_easy_attributes @parent, @child, {
121
- resize: [:left, :right, :top]
122
- }
123
-
124
- mask = UIViewAutoresizingFlexibleLeftMargin |
125
- UIViewAutoresizingFlexibleRightMargin |
126
- UIViewAutoresizingFlexibleTopMargin
127
-
128
- @child.autoresizingMask.should == mask
129
- end
130
-
131
- it "Should set the autoresizingMask for the second half" do
132
- @dummy.set_easy_attributes @parent, @child, {
133
- resize: [:bottom, :width, :height]
134
- }
135
-
136
- mask = UIViewAutoresizingFlexibleBottomMargin |
137
- UIViewAutoresizingFlexibleWidth |
138
- UIViewAutoresizingFlexibleHeight
139
-
140
- @child.autoresizingMask.should == mask
141
- end
142
-
143
- it "Should not set the autoresizingMask" do
144
- @dummy.set_easy_attributes @parent, @child, {}
145
-
146
- mask = UIViewAutoresizingNone
147
-
148
- @child.autoresizingMask.should == mask
149
- end
150
-
151
- it "Should create a frame" do
152
- @dummy.set_easy_attributes @parent, @child, {
153
- left: 10,
154
- top: 20,
155
- width: 100,
156
- height: 50
157
- }
158
-
159
- @child.frame.should == CGRectMake(10, 20, 100, 50)
160
- end
161
-
162
- it "Should create a frame with x & y" do
163
- @dummy.set_easy_attributes @parent, @child, {
164
- x: 10,
165
- y: 20,
166
- width: 100,
167
- height: 50
168
- }
169
-
170
- @child.frame.should == CGRectMake(10, 20, 100, 50)
171
- end
172
-
173
- end
174
-
175
100
  end
@@ -0,0 +1,10 @@
1
+ describe "ProMotion::Screen UIView title functionality" do
2
+ def controller
3
+ @controller ||= ViewTitleScreen.new(nav_bar: true)
4
+ end
5
+
6
+ it "should allow a non-image UIView title" do
7
+ controller.navigationItem.titleView.should.not.be.kind_of UIImageView
8
+ controller.navigationItem.titleView.should.be.kind_of UIView
9
+ end
10
+ end
@@ -34,7 +34,7 @@ describe "web screen properties" do
34
34
  end
35
35
  end
36
36
 
37
- it "should called on_request hook" do
37
+ it "should call on_request hook" do
38
38
  @webscreen.open_url(NSURL.URLWithString('http://mixi.jp/'))
39
39
 
40
40
  wait_for_change @webscreen, 'on_request' do
@@ -46,42 +46,7 @@ describe "web screen properties" do
46
46
 
47
47
  end
48
48
 
49
- describe "when use on_request hook by web brigde rpc" do
50
- before do
51
- class TestWebScreenWithRPC < TestWebScreen
52
- attr_accessor :on_request, :on_request_args
53
-
54
- def on_request(request, type)
55
- self.on_request_args = [request, type]
56
- self.on_request = true
57
- # return false to prevent loadRequest
58
- false
59
- end
60
- end
61
- stub_request(:get, "http://mixi.jp/").
62
- to_return(body: "<html><body>[mixi]</body></html>", content_type: "text/html")
63
- # Simulate AppDelegate setup of web screen
64
- @webscreen = TestWebScreenWithRPC.new modal: true, nav_bar: true, external_links: false
65
- end
66
-
67
- it "should called on_request hook" do
68
- # simulate web bridge request from html links
69
- @webscreen.open_url(NSURL.URLWithString('webbridge://method'))
70
-
71
- wait_for_change @webscreen, 'on_request' do
72
- request = @webscreen.on_request_args[0]
73
- # on_request is called when @webscreen request for some iframe
74
- request.URL.absoluteString.should == 'webbridge://method'
75
- end
76
-
77
- wait 0.3 do
78
- # it should not load request when return false in on_request
79
- !!(@webscreen.is_load_finished.should) == false
80
- end
81
- end
82
- end
83
-
84
- describe "when load static html file" do
49
+ describe "when loading a static html file" do
85
50
  before do
86
51
  # Simulate AppDelegate setup of web screen
87
52
  @webscreen = TestWebScreen.new modal: true, nav_bar: true, external_links: false
@@ -103,4 +68,33 @@ describe "web screen properties" do
103
68
  end
104
69
  end
105
70
 
71
+ describe "when setting attributes" do
72
+ it "should have a default values" do
73
+ webscreen = TestWebScreen.new()
74
+ webscreen.web.dataDetectorTypes.should == UIDataDetectorTypeNone
75
+ webscreen.web.scalesPageToFit.should == false
76
+ webscreen.external_links.should == false
77
+ end
78
+
79
+ it "should set a single data detector" do
80
+ webscreen = TestWebScreen.new(detector_types: :phone)
81
+ webscreen.web.dataDetectorTypes.should == UIDataDetectorTypePhoneNumber
82
+ end
83
+
84
+ it "should set multiple data detectors" do
85
+ webscreen = TestWebScreen.new(detector_types: [:phone, :link])
86
+ webscreen.web.dataDetectorTypes.should == UIDataDetectorTypePhoneNumber | UIDataDetectorTypeLink
87
+ end
88
+
89
+ it "should set the scaling mode of the screen" do
90
+ webscreen = TestWebScreen.new(scale_to_fit: true)
91
+ webscreen.web.scalesPageToFit.should == true
92
+ end
93
+
94
+ it "should have the ability to open links externally" do
95
+ webscreen = TestWebScreen.new(external_links: true)
96
+ webscreen.external_links.should == true
97
+ end
98
+ end
99
+
106
100
  end
metadata CHANGED
@@ -1,45 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ProMotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 2.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamon Holmgren
8
- - Silas Matson
9
8
  - Mark Rickert
9
+ - Silas Matson
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
  date: 2014-06-22 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: motion-require
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - "~>"
20
- - !ruby/object:Gem::Version
21
- version: '0.2'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - "~>"
27
- - !ruby/object:Gem::Version
28
- version: '0.2'
29
15
  - !ruby/object:Gem::Dependency
30
16
  name: methadone
31
17
  requirement: !ruby/object:Gem::Requirement
32
18
  requirements:
33
19
  - - "~>"
34
20
  - !ruby/object:Gem::Version
35
- version: '1.3'
21
+ version: '1.4'
36
22
  type: :runtime
37
23
  prerelease: false
38
24
  version_requirements: !ruby/object:Gem::Requirement
39
25
  requirements:
40
26
  - - "~>"
41
27
  - !ruby/object:Gem::Version
42
- version: '1.3'
28
+ version: '1.4'
43
29
  - !ruby/object:Gem::Dependency
44
30
  name: webstub
45
31
  requirement: !ruby/object:Gem::Requirement
@@ -86,130 +72,88 @@ dependencies:
86
72
  name: rake
87
73
  requirement: !ruby/object:Gem::Requirement
88
74
  requirements:
89
- - - "~>"
75
+ - - ">="
90
76
  - !ruby/object:Gem::Version
91
- version: '10.1'
77
+ version: '10.0'
92
78
  type: :development
93
79
  prerelease: false
94
80
  version_requirements: !ruby/object:Gem::Requirement
95
81
  requirements:
96
- - - "~>"
82
+ - - ">="
97
83
  - !ruby/object:Gem::Version
98
- version: '10.1'
99
- description: "\n ProMotion is a RubyMotion gem that makes iOS
100
- development more like Ruby and less like Objective-C.\n It
101
- introduces a clean, Ruby-style syntax for building screens that is easy to learn
102
- and remember and\n abstracts a ton of boilerplate UIViewController,
103
- UINavigationController, and other iOS code into a\n simple,
104
- Ruby-like DSL.\n "
84
+ version: '10.0'
85
+ description: ProMotion is a fast way to get started building RubyMotion iOS apps.
105
86
  email:
106
87
  - jamon@clearsightstudio.com
107
- - silas@clearsightstudio.com
108
88
  - mark@mohawkapps.com
89
+ - silas@clearsightstudio.com
109
90
  executables:
110
91
  - promotion
111
92
  extensions: []
112
93
  extra_rdoc_files: []
113
94
  files:
114
- - ".gitignore"
115
- - ".travis.yml"
116
- - CONTRIBUTING.md
117
- - Gemfile
118
- - Gemfile.lock
119
- - LICENSE
120
- - ProMotion.gemspec
121
95
  - README.md
122
- - Rakefile
123
- - app/app_delegate.rb
124
- - app/screens/basic_screen.rb
125
96
  - bin/promotion
126
97
  - lib/ProMotion.rb
127
98
  - lib/ProMotion/cocoatouch/navigation_controller.rb
99
+ - lib/ProMotion/cocoatouch/ns_string.rb
100
+ - lib/ProMotion/cocoatouch/ns_url.rb
128
101
  - lib/ProMotion/cocoatouch/split_view_controller.rb
129
102
  - lib/ProMotion/cocoatouch/tab_bar_controller.rb
130
103
  - lib/ProMotion/cocoatouch/table_view_cell.rb
131
104
  - lib/ProMotion/cocoatouch/table_view_controller.rb
132
105
  - lib/ProMotion/cocoatouch/view_controller.rb
133
- - lib/ProMotion/containers/split_screen.rb
134
- - lib/ProMotion/containers/tabs.rb
135
106
  - lib/ProMotion/delegate/delegate.rb
136
107
  - lib/ProMotion/delegate/delegate_module.rb
137
- - lib/ProMotion/delegate/delegate_notifications.rb
138
108
  - lib/ProMotion/delegate/delegate_parent.rb
139
- - lib/ProMotion/extensions/conversions.rb
140
- - lib/ProMotion/logger.rb
141
- - lib/ProMotion/map/map_screen.rb
142
- - lib/ProMotion/map/map_screen_annotation.rb
143
- - lib/ProMotion/map/map_screen_module.rb
109
+ - lib/ProMotion/ipad/split_screen.rb
110
+ - lib/ProMotion/logger/logger.rb
144
111
  - lib/ProMotion/pro_motion.rb
145
- - lib/ProMotion/push_notification/push_notification.rb
112
+ - lib/ProMotion/screen/nav_bar_module.rb
146
113
  - lib/ProMotion/screen/screen.rb
147
114
  - lib/ProMotion/screen/screen_module.rb
148
115
  - lib/ProMotion/screen/screen_navigation.rb
116
+ - lib/ProMotion/styling/styling.rb
149
117
  - lib/ProMotion/table/cell/table_view_cell_module.rb
150
118
  - lib/ProMotion/table/data/table_data.rb
151
119
  - lib/ProMotion/table/extensions/indexable.rb
120
+ - lib/ProMotion/table/extensions/longpressable.rb
152
121
  - lib/ProMotion/table/extensions/refreshable.rb
153
122
  - lib/ProMotion/table/extensions/searchable.rb
154
123
  - lib/ProMotion/table/grouped_table.rb
155
124
  - lib/ProMotion/table/grouped_table_screen.rb
156
125
  - lib/ProMotion/table/table.rb
157
126
  - lib/ProMotion/table/table_screen.rb
127
+ - lib/ProMotion/tabs/tabs.rb
158
128
  - lib/ProMotion/version.rb
159
- - lib/ProMotion/view/styling.rb
160
129
  - lib/ProMotion/web/web_screen.rb
161
130
  - lib/ProMotion/web/web_screen_module.rb
162
- - resources/WebScreen.html
163
- - resources/list.png
164
- - resources/test.png
165
- - spec/functional/func_image_title_screen.rb
166
- - spec/functional/func_image_view_title_screen.rb
167
- - spec/functional/func_map_screen_spec.rb
168
131
  - spec/functional/func_screen_spec.rb
169
- - spec/functional/func_searchable_table_spec.rb
170
132
  - spec/functional/func_split_screen_spec.rb
171
- - spec/functional/func_tab_bar_spec.rb
172
133
  - spec/functional/func_table_screen_spec.rb
173
- - spec/functional/func_view_title_screen.rb
174
134
  - spec/functional/func_web_screen_spec.rb
175
- - spec/helpers/basic_screen.rb
176
- - spec/helpers/custom_title_view.rb
177
- - spec/helpers/detail_screen.rb
178
- - spec/helpers/dummy_class.rb
179
- - spec/helpers/functional_screen.rb
180
- - spec/helpers/home_screen.rb
181
- - spec/helpers/image_title_screen.rb
182
- - spec/helpers/image_view_title_screen.rb
183
- - spec/helpers/map_screen.rb
184
- - spec/helpers/master_screen.rb
185
- - spec/helpers/present_screen.rb
186
- - spec/helpers/screen_module_view_controller.rb
187
- - spec/helpers/tab_screen.rb
188
- - spec/helpers/table_screen.rb
189
- - spec/helpers/table_screen_indexable.rb
190
- - spec/helpers/table_screen_refreshable.rb
191
- - spec/helpers/table_screen_searchable.rb
192
- - spec/helpers/test_delegate.rb
193
- - spec/helpers/test_delegate_colors.rb
194
135
  - spec/helpers/test_helper.rb
195
- - spec/helpers/view_title_screen.rb
196
- - spec/helpers/web_screen.rb
197
136
  - spec/unit/delegate_spec.rb
137
+ - spec/unit/image_title_screen.rb
138
+ - spec/unit/image_view_title_screen.rb
139
+ - spec/unit/load_view_spec.rb
198
140
  - spec/unit/logger_spec.rb
199
141
  - spec/unit/main_spec.rb
200
- - spec/unit/map_spec.rb
201
142
  - spec/unit/screen_helpers_spec.rb
202
143
  - spec/unit/screen_module_spec.rb
203
144
  - spec/unit/screen_spec.rb
145
+ - spec/unit/searchable_table_spec.rb
204
146
  - spec/unit/split_screen_in_tab_bar_spec.rb
205
147
  - spec/unit/split_screen_open_screen_spec.rb
206
148
  - spec/unit/split_screen_spec.rb
149
+ - spec/unit/tab_bar_spec.rb
207
150
  - spec/unit/tab_spec.rb
208
151
  - spec/unit/tables/table_indexable_spec.rb
209
152
  - spec/unit/tables/table_module_spec.rb
210
153
  - spec/unit/tables/table_screen_spec.rb
211
154
  - spec/unit/tables/table_view_cell_spec.rb
212
155
  - spec/unit/view_helper_spec.rb
156
+ - spec/unit/view_title_screen.rb
213
157
  - spec/unit/web_spec.rb
214
158
  homepage: https://github.com/clearsightstudio/ProMotion
215
159
  licenses:
@@ -226,62 +170,44 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
170
  version: '0'
227
171
  required_rubygems_version: !ruby/object:Gem::Requirement
228
172
  requirements:
229
- - - ">="
173
+ - - ">"
230
174
  - !ruby/object:Gem::Version
231
- version: '0'
175
+ version: 1.3.1
232
176
  requirements: []
233
177
  rubyforge_project:
234
178
  rubygems_version: 2.2.2
235
179
  signing_key:
236
180
  specification_version: 4
237
- summary: ProMotion makes it easy to build RubyMotion iOS screen-based apps.
181
+ summary: ProMotion is a fast way to get started building RubyMotion apps. Instead
182
+ of dealing with UIViewControllers, UITableViewControllers, and the like, you work
183
+ with Screens. We abstract the view controller boilerplate to make iOS development
184
+ more like Ruby and less like Objective-C. With a memorable, concise syntax and a
185
+ friendly, helpful community, ProMotion is a great way to get started with iOS development.
238
186
  test_files:
239
- - spec/functional/func_image_title_screen.rb
240
- - spec/functional/func_image_view_title_screen.rb
241
- - spec/functional/func_map_screen_spec.rb
242
187
  - spec/functional/func_screen_spec.rb
243
- - spec/functional/func_searchable_table_spec.rb
244
188
  - spec/functional/func_split_screen_spec.rb
245
- - spec/functional/func_tab_bar_spec.rb
246
189
  - spec/functional/func_table_screen_spec.rb
247
- - spec/functional/func_view_title_screen.rb
248
190
  - spec/functional/func_web_screen_spec.rb
249
- - spec/helpers/basic_screen.rb
250
- - spec/helpers/custom_title_view.rb
251
- - spec/helpers/detail_screen.rb
252
- - spec/helpers/dummy_class.rb
253
- - spec/helpers/functional_screen.rb
254
- - spec/helpers/home_screen.rb
255
- - spec/helpers/image_title_screen.rb
256
- - spec/helpers/image_view_title_screen.rb
257
- - spec/helpers/map_screen.rb
258
- - spec/helpers/master_screen.rb
259
- - spec/helpers/present_screen.rb
260
- - spec/helpers/screen_module_view_controller.rb
261
- - spec/helpers/tab_screen.rb
262
- - spec/helpers/table_screen.rb
263
- - spec/helpers/table_screen_indexable.rb
264
- - spec/helpers/table_screen_refreshable.rb
265
- - spec/helpers/table_screen_searchable.rb
266
- - spec/helpers/test_delegate.rb
267
- - spec/helpers/test_delegate_colors.rb
268
191
  - spec/helpers/test_helper.rb
269
- - spec/helpers/view_title_screen.rb
270
- - spec/helpers/web_screen.rb
271
192
  - spec/unit/delegate_spec.rb
193
+ - spec/unit/image_title_screen.rb
194
+ - spec/unit/image_view_title_screen.rb
195
+ - spec/unit/load_view_spec.rb
272
196
  - spec/unit/logger_spec.rb
273
197
  - spec/unit/main_spec.rb
274
- - spec/unit/map_spec.rb
275
198
  - spec/unit/screen_helpers_spec.rb
276
199
  - spec/unit/screen_module_spec.rb
277
200
  - spec/unit/screen_spec.rb
201
+ - spec/unit/searchable_table_spec.rb
278
202
  - spec/unit/split_screen_in_tab_bar_spec.rb
279
203
  - spec/unit/split_screen_open_screen_spec.rb
280
204
  - spec/unit/split_screen_spec.rb
205
+ - spec/unit/tab_bar_spec.rb
281
206
  - spec/unit/tab_spec.rb
282
207
  - spec/unit/tables/table_indexable_spec.rb
283
208
  - spec/unit/tables/table_module_spec.rb
284
209
  - spec/unit/tables/table_screen_spec.rb
285
210
  - spec/unit/tables/table_view_cell_spec.rb
286
211
  - spec/unit/view_helper_spec.rb
212
+ - spec/unit/view_title_screen.rb
287
213
  - spec/unit/web_spec.rb