ProMotion 0.6.5 → 0.7.0

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.
Files changed (56) hide show
  1. data/README.md +79 -502
  2. data/Rakefile +30 -0
  3. data/app/app_delegate.rb +3 -1
  4. data/lib/ProMotion.rb +1 -1
  5. data/lib/ProMotion/cocoatouch/TableViewCell.rb +5 -1
  6. data/lib/ProMotion/delegate/delegate.rb +16 -0
  7. data/lib/ProMotion/delegate/delegate_helper.rb +88 -0
  8. data/lib/ProMotion/delegate/delegate_notifications.rb +61 -0
  9. data/lib/ProMotion/helpers/console.rb +3 -3
  10. data/lib/ProMotion/helpers/logger.rb +15 -15
  11. data/lib/ProMotion/helpers/view_helper.rb +7 -5
  12. data/lib/ProMotion/push_notifications/push_notification.rb +51 -0
  13. data/lib/ProMotion/screen_helpers/screen_elements.rb +2 -2
  14. data/lib/ProMotion/screen_helpers/screen_navigation.rb +5 -1
  15. data/lib/ProMotion/screen_helpers/screen_tabs.rb +2 -2
  16. data/lib/ProMotion/screens/_compatibility/formotion_screen.rb +65 -0
  17. data/lib/ProMotion/screens/_screen_module.rb +33 -20
  18. data/lib/ProMotion/screens/_table_screen_module.rb +4 -4
  19. data/lib/ProMotion/{screen_helpers → screens}/_tables/_refreshable_table.rb +2 -2
  20. data/lib/ProMotion/{screen_helpers → screens}/_tables/_searchable_table.rb +27 -34
  21. data/lib/ProMotion/screens/_tables/_sectioned_table.rb +5 -0
  22. data/lib/ProMotion/screens/_tables/_table.rb +149 -0
  23. data/lib/ProMotion/screens/_tables/grouped_table.rb +16 -0
  24. data/lib/ProMotion/screens/_tables/plain_table.rb +17 -0
  25. data/lib/ProMotion/screens/_tables/table_data.rb +148 -0
  26. data/lib/ProMotion/screens/_tables/table_view_cell_module.rb +156 -0
  27. data/lib/ProMotion/screens/table_screen.rb +3 -2
  28. data/lib/ProMotion/version.rb +1 -1
  29. data/spec/functional/func_screen_spec.rb +66 -0
  30. data/spec/functional/func_split_screen_spec.rb +66 -0
  31. data/spec/functional/func_table_screen_spec.rb +52 -0
  32. data/spec/helpers/functional_screen.rb +15 -0
  33. data/spec/helpers/table_screen.rb +32 -8
  34. data/spec/helpers/table_screen_refreshable.rb +1 -1
  35. data/spec/helpers/table_screen_searchable.rb +1 -1
  36. data/spec/helpers/test_delegate.rb +2 -0
  37. data/spec/unit/delegate_spec.rb +38 -0
  38. data/spec/{ios_version_spec.rb → unit/ios_version_spec.rb} +0 -0
  39. data/spec/{logger_spec.rb → unit/logger_spec.rb} +0 -0
  40. data/spec/{main_spec.rb → unit/main_spec.rb} +0 -0
  41. data/spec/{screen_helpers_spec.rb → unit/screen_helpers_spec.rb} +14 -6
  42. data/spec/{screen_module_spec.rb → unit/screen_module_spec.rb} +0 -0
  43. data/spec/{screen_spec.rb → unit/screen_spec.rb} +21 -3
  44. data/spec/{split_screen_in_tab_bar_spec.rb → unit/split_screen_in_tab_bar_spec.rb} +0 -0
  45. data/spec/{split_screen_open_screen_spec.rb → unit/split_screen_open_screen_spec.rb} +0 -0
  46. data/spec/{split_screen_spec.rb → unit/split_screen_spec.rb} +0 -0
  47. data/spec/unit/tables/table_module_spec.rb +108 -0
  48. data/spec/unit/tables/table_screen_spec.rb +92 -0
  49. data/spec/unit/tables/table_view_cell_spec.rb +106 -0
  50. data/spec/{view_helper_spec.rb → unit/view_helper_spec.rb} +0 -0
  51. metadata +50 -29
  52. data/lib/ProMotion/delegate.rb +0 -63
  53. data/lib/ProMotion/screen_helpers/_tables/_sectioned_table.rb +0 -270
  54. data/lib/ProMotion/screen_helpers/_tables/grouped_table.rb +0 -14
  55. data/lib/ProMotion/screen_helpers/_tables/plain_table.rb +0 -15
  56. data/spec/table_screen_spec.rb +0 -72
@@ -1,14 +0,0 @@
1
- module ProMotion::MotionTable
2
- module GroupedTable
3
- include SectionedTable
4
- include RefreshableTable
5
-
6
- def table_view
7
- @table_view ||= UITableView.alloc.initWithFrame(self.view.frame, style:UITableViewStyleGrouped)
8
- @table_view.dataSource = self;
9
- @table_view.delegate = self;
10
- return @table_view
11
- end
12
- alias :tableView :table_view
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module ProMotion::MotionTable
2
- module PlainTable
3
- include SectionedTable
4
- include SearchableTable
5
- include RefreshableTable
6
-
7
- def table_view
8
- @table_view ||= UITableView.alloc.initWithFrame(self.view.frame, style:UITableViewStylePlain)
9
- @table_view.dataSource = self;
10
- @table_view.delegate = self;
11
- return @table_view
12
- end
13
- alias :tableView :table_view
14
- end
15
- end
@@ -1,72 +0,0 @@
1
- describe "table screens" do
2
-
3
- describe "basic functionality" do
4
-
5
- before do
6
- UIView.setAnimationsEnabled false # avoid animation issues
7
-
8
- @screen = TableScreen.new
9
- @screen.on_load
10
- end
11
-
12
- it "should display 2 sections" do
13
- @screen.tableView.numberOfSections.should == 2
14
- end
15
-
16
- it "should have proper cell numbers" do
17
- @screen.tableView.numberOfRowsInSection(0).should == 3
18
- @screen.tableView.numberOfRowsInSection(1).should == 2
19
- end
20
-
21
- it "should have a placeholder image in the last cell" do
22
- index_path = NSIndexPath.indexPathForRow(1, inSection: 1)
23
-
24
- @screen.tableView(@screen.tableView, cellForRowAtIndexPath: index_path).imageView.class.should == UIImageView
25
- end
26
-
27
- end
28
-
29
- describe "search functionality" do
30
-
31
- before do
32
- @screen = TableScreenSearchable.new
33
- @screen.on_load
34
- end
35
-
36
- it "should be searchable" do
37
- @screen.class.get_searchable.should == true
38
- end
39
-
40
- it "should create a search header" do
41
- @screen.table_view.tableHeaderView.class.should == UISearchBar
42
- end
43
-
44
- end
45
-
46
- describe "refresh functionality" do
47
-
48
- # Note this test only works if on iOS 6+ or when using CKRefreshControl.
49
-
50
- before do
51
- @screen = TableScreenRefreshable.new
52
- @screen.on_load
53
- end
54
-
55
- it "should be refreshable" do
56
- @screen.class.get_refreshable.should == true
57
- end
58
-
59
- it "should create a refresh object" do
60
- @screen.instance_variable_get("@refresh_control").class.should == UIRefreshControl
61
- end
62
-
63
- it "should respond to start_refreshing and end_refreshing" do
64
- @screen.respond_to?(:start_refreshing).should == true
65
- @screen.respond_to?(:end_refreshing).should == true
66
- end
67
-
68
- # Animations cause the refresh object to fail when tested. Test manually.
69
-
70
- end
71
-
72
- end