pro_motion_slide_menu 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 510c70c1657c6a65e56b2fd3e1fce176b1a30db1
4
- data.tar.gz: 2e3eed2f86d6f9266b4ebd7cd60da0bf349133f1
3
+ metadata.gz: 7148e8f03e619e974f7b344d02dfa2bbae62d9d7
4
+ data.tar.gz: 88b16891c938401a49bf29e7b5b8e0b695263f59
5
5
  SHA512:
6
- metadata.gz: 72a380ae3763a3d68ffd2bd6b9499df65d400e6407d46ab2f7bdcfaec1b01f1e3326bc95f9eff7a45cd574a9430c0b54ec4a4f1ef1cb4867c0f16f11634026de
7
- data.tar.gz: 4c28ee7f343bf68d9f601fbfe52c582478b97333c3196889951f27e58c7fb8b5e245fc4bfec617245cc07d3dd63ec61bec171adeb8f12bfb9222b5482d89cd6d
6
+ metadata.gz: fa0c9db585aa8e05a8765be788c4473ef66b0811347636ad153c51e1377b2ca95decd4e5ce93fef5bebf3e0e0bb356e613db424e34e605cd9d0c0c5ec4b7a1f6
7
+ data.tar.gz: fb4785c9b5333bf437f01a84b967a16c60a0737eca75629adc7f4ddebb26116aec0f637c74b0594b4af722a0f9957be8b3502f0ccbd700821619d22d5408ab06
data/.travis.yml CHANGED
@@ -1,6 +1,8 @@
1
1
  language: objective-c
2
2
  gemfile:
3
3
  - Gemfile
4
- before_script: bundle install
4
+ before_script:
5
+ - "bundle exec pod setup --silent"
6
+ - "bundle exec rake pod:install -s"
5
7
  script: bundle exec rake spec
6
8
  bump: 2
data/Gemfile CHANGED
@@ -1,7 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
+ gem 'rake'
3
4
  gemspec
4
- gem 'bubble-wrap'
5
- gem 'motion-cocoapods'
6
- gem 'ProMotion', '>= 0.5.2'
7
- gem 'pro_motion_slide_menu', :path => '.'
data/Gemfile.lock CHANGED
@@ -1,72 +1,54 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pro_motion_slide_menu (0.0.3)
5
- ProMotion (~> 0.7.6)
4
+ pro_motion_slide_menu (0.0.4)
5
+ ProMotion (~> 1.0)
6
6
  bubble-wrap
7
7
  motion-cocoapods
8
8
 
9
9
  GEM
10
- remote: http://rubygems.org/
10
+ remote: https://rubygems.org/
11
11
  specs:
12
- ProMotion (0.7.6)
13
- activesupport (3.2.13)
14
- i18n (= 0.6.1)
12
+ ProMotion (1.0.4)
13
+ activesupport (3.2.15)
14
+ i18n (~> 0.6, >= 0.6.4)
15
15
  multi_json (~> 1.0)
16
- addressable (2.3.5)
17
16
  bubble-wrap (1.3.0)
18
17
  claide (0.3.2)
19
- cocoapods (0.20.2)
20
- activesupport (~> 3.2.13)
18
+ cocoapods (0.26.2)
19
+ activesupport (~> 3.2)
21
20
  claide (~> 0.3.2)
22
- cocoapods-core (= 0.20.2)
23
- cocoapods-downloader (~> 0.1.1)
21
+ cocoapods-core (= 0.26.2)
22
+ cocoapods-downloader (~> 0.2.0)
24
23
  colored (~> 1.2)
25
24
  escape (~> 0.0.4)
26
- faraday (~> 0.8.1)
27
- json (~> 1.8.0)
28
- octokit (~> 1.7)
29
- open4 (~> 1.3.0)
30
- rake (~> 10.0.0)
31
- xcodeproj (~> 0.6.0)
32
- cocoapods-core (0.20.2)
33
- activesupport (~> 3.2.13)
34
- rake (~> 10.0.0)
35
- cocoapods-downloader (0.1.1)
25
+ json (~> 1.8)
26
+ open4 (~> 1.3)
27
+ xcodeproj (~> 0.13.0)
28
+ cocoapods-core (0.26.2)
29
+ activesupport (~> 3.0)
30
+ json (~> 1.8)
31
+ nap (~> 0.5)
32
+ cocoapods-downloader (0.2.0)
36
33
  colored (1.2)
37
34
  escape (0.0.4)
38
- faraday (0.8.7)
39
- multipart-post (~> 1.1)
40
- faraday_middleware (0.9.0)
41
- faraday (>= 0.7.4, < 0.9)
42
- hashie (2.0.5)
43
- i18n (0.6.1)
44
- json (1.8.0)
45
- motion-cocoapods (1.3.3)
46
- cocoapods (>= 0.17.0)
47
- motion-stump (0.2.1)
48
- multi_json (1.7.7)
49
- multipart-post (1.2.0)
50
- netrc (0.7.7)
51
- octokit (1.24.0)
52
- addressable (~> 2.2)
53
- faraday (~> 0.8)
54
- faraday_middleware (~> 0.9)
55
- hashie (~> 2.0)
56
- multi_json (~> 1.3)
57
- netrc (~> 0.7.7)
35
+ i18n (0.6.5)
36
+ json (1.8.1)
37
+ motion-cocoapods (1.4.0)
38
+ cocoapods (>= 0.26.2)
39
+ motion-stump (0.3.0)
40
+ multi_json (1.8.2)
41
+ nap (0.5.1)
58
42
  open4 (1.3.0)
59
- rake (10.0.4)
60
- xcodeproj (0.6.0)
61
- activesupport (~> 3.2.13)
43
+ rake (10.1.0)
44
+ xcodeproj (0.13.1)
45
+ activesupport (~> 3.0)
62
46
  colored (~> 1.2)
63
47
 
64
48
  PLATFORMS
65
49
  ruby
66
50
 
67
51
  DEPENDENCIES
68
- ProMotion (>= 0.5.2)
69
- bubble-wrap
70
- motion-cocoapods
71
52
  motion-stump
72
53
  pro_motion_slide_menu!
54
+ rake
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # ProMotion SlideMenu
2
- This gem provides an easier way to integrate a great open source toolkit, [RubyMotion](http://www.rubymotion.com), with another great Objective-C framework, [PKRevealController](https://github.com/pkluz/PKRevealController), allowing you to easily have a cool facebook or Path style slide navigation menu, complete with gestures.
2
+ This gem provides an easier way to integrate a great open source toolkit, [RubyMotion](http://www.rubymotion.com), with another great Objective-C framework, [PKRevealController](https://github.com/pkluz/PKRevealController), allowing you to easily have a cool Facebook or Path style slide navigation menu, complete with gestures.
3
3
 
4
4
  ![Travis CI](https://secure.travis-ci.org/macfanatic/promotion_slide_menu.png?branch=master)
5
5
 
@@ -24,27 +24,21 @@ This depends on motion-cocoapods, BubbleWrap and ProMotion.
24
24
 
25
25
  ### Rakefile
26
26
 
27
- Currently there is a bug with [motion-cocoapods](https://github.com/HipByte/motion-cocoapods/issues/38) that doesn't allow us to automatically include an ObjC library automatically. Because of this, you will need to edit your Rakefile as follows:
28
-
29
- ```ruby
30
- app.pods do
31
- pod 'PKRevealController'
32
- end
33
- ```
27
+ As of [motion-cocoapods](https://github.com/HipByte/motion-cocoapods/compare/1.3.6...1.3.7) v1.3.7, you no longer have to include a pods setup block in your project Rakefile, we can do that for you in the gem.
34
28
 
35
29
  ## Creating and Configuring a Slide Menu
36
30
  To create a slide menu in your application, you need to start in your AppDelegate:
37
31
 
38
32
  ```ruby
39
33
  class AppDelegate < ProMotion::AppDelegateParent
40
-
34
+
41
35
  def on_load(app, options)
42
36
 
43
- # Open the slide menu with your navigation view (initially hidden) and a content view (initially shown)
44
- open_slide_menu NavigationScreen, MyGreatAppScreen.new(nav_bar: true)
37
+ # Open the slide menu with your content view (initially shown) and navigation view(s) (initially hidden)
38
+ open_slide_menu MyGreatAppScreen.new(nav_bar: true), left: NavigationScreen
45
39
 
46
40
  # You can get to the instance of the slide menu at any time if you need to
47
- slide_menu.menu_controller.class.name
41
+ slide_menu.controller(:left).class.name
48
42
  # => NavigationScreen
49
43
 
50
44
  # SlideMenuScreen is just an enhanced subclass of PKRevealController, so you can do all sorts of things with it
@@ -63,13 +57,13 @@ To make the slide menu present the menu from anywhere in your app:
63
57
  ```ruby
64
58
 
65
59
  # Show the menu
66
- App.delegate.slide_menu.show_menu
60
+ App.delegate.slide_menu.show(:left)
67
61
 
68
62
  # Equivalent to
69
- App.delegate.slide_menu.showViewController App.delegate.slide_menu.menu_controller, animated: true, completion: ->(c) { true }
63
+ App.delegate.slide_menu.showViewController App.delegate.slide_menu.left_controller, animated: true, completion: ->(c) { true }
70
64
 
71
65
  # Hide the menu
72
- App.delegate.slide_menu.hide_menu
66
+ App.delegate.slide_menu.hide
73
67
 
74
68
  # Equivalent to
75
69
  App.delegate.slide_menu.showViewController App.delegate.slide_menu.content_controller, animated: true, completion: ->(c) { true }
@@ -94,7 +88,7 @@ class NavigationScreen < ProMotion::TableScreen
94
88
  end
95
89
 
96
90
  def swap_content_controller(screen_class)
97
- App.delegate.slide_menu.content_controller = screen_class
91
+ App.delegate.slide_menu.controller(content: screen_class)
98
92
  end
99
93
 
100
94
  end
@@ -104,7 +98,11 @@ end
104
98
  By default, `PKRevealController` supports showing the slide menu via a gesture recognizer. To disable this feature, look at the documentation or use the following:
105
99
 
106
100
  ```ruby
107
- App.delegate.slide_menu.recognizesPanningOnFrontView = false
101
+ # Disable the gesture recongizer
102
+ App.delegate.slide_menu.removePanGestureRecognizerFromFrontView
103
+
104
+ # Re-enable the gesture recognizer (enabled by default)
105
+ App.delegate.slide_menu.addPanGestureRecognizerToFrontView
108
106
  ```
109
107
 
110
108
  ## Creating a UIBarButtonItem to show the menu
@@ -123,14 +121,14 @@ class MyScreen < ProMotion::Screen
123
121
 
124
122
  # Create a Bar button item containing that button
125
123
  # When tapping the button, show the menu (uses Sugarcube syntax)
126
- @left_item = UIBarButtonItem.alloc.initWithCustomView(swipe_btn)
124
+ @left_item = UIBarButtonItem.alloc.initWithCustomView(swipe_btn)
127
125
  swipe_btn.on(:touch.uicontrolevent) do
128
- App.delegate.slide_menu.show_menu
126
+ App.delegate.slide_menu.show(:left)
129
127
  end
130
128
 
131
129
  # Assign the button item to the navigation item for it to appear in the top left
132
130
  self.navigationItem.leftBarButtonItem = @left_item
133
-
131
+
134
132
  end
135
133
  end
136
134
  ```
data/Rakefile CHANGED
@@ -9,8 +9,4 @@ Motion::Project::App.setup do |app|
9
9
  # Use `rake config' to see complete project settings.
10
10
  app.name = 'ProMotionSlideMenu'
11
11
  app.delegate_class = 'TestAppDelegate'
12
-
13
- app.pods do
14
- pod 'PKRevealController'
15
- end
16
12
  end
@@ -9,8 +9,8 @@ module ProMotionSlideMenu
9
9
  !slide_menu.nil?
10
10
  end
11
11
 
12
- def open_slide_menu(menu, content, options={})
13
- self.slide_menu = SlideMenuScreen.new(menu, content, options)
12
+ def open_slide_menu(content, options={})
13
+ self.slide_menu = SlideMenuScreen.new(content, options)
14
14
  open_root_screen slide_menu
15
15
  slide_menu
16
16
  end
@@ -7,37 +7,58 @@ module ProMotionSlideMenu
7
7
  # SlideMenuScreen
8
8
  #
9
9
  # This is added as the root view controller when using the `open_slide_menu` method in your application delegate.
10
- #
11
- # Several properties are defined to get the underlying PKRevealController instance for additional configuration, the
10
+ #
11
+ # Several properties are defined to get the underlying PKRevealController instance for additional configuration, the
12
12
  # screen shown as the hidden menu, and the screen shown as the content controller.
13
13
  #
14
14
 
15
- def self.new(menu, content, options={})
15
+ def self.new(content, options={})
16
16
  screen = self.revealControllerWithFrontViewController(nil, leftViewController: nil, options: nil)
17
- screen.on_create(options) if screen.respond_to?(:on_create)
18
- screen.menu_controller = menu unless menu.nil?
19
17
  screen.content_controller = content unless content.nil?
18
+ screen.left_controller = options[:left] if options[:left]
19
+ screen.right_controller = options[:right] if options[:right]
20
+ screen_options = options.reject { |k,v| [:left, :right].include? k }
21
+ screen.on_create(screen_options) if screen.respond_to?(:on_create)
20
22
  screen
21
23
  end
22
24
 
23
- def show_menu
24
- self.showViewController menu_controller, animated: true, completion: default_completion_block
25
+ def show(side)
26
+ self.show_left if side == :left
27
+ self.show_right if side == :right
28
+ end
29
+
30
+ def show_left
31
+ self.showViewController left_controller, animated: true, completion: default_completion_block
32
+ end
33
+
34
+ def show_right
35
+ self.showViewController right_controller, animated: true, completion: default_completion_block
25
36
  end
26
37
 
27
- def hide_menu
38
+ def hide
28
39
  self.showViewController content_controller, animated: true, completion: default_completion_block
29
40
  end
30
41
 
31
- def menu_controller=(c)
42
+ def left_controller=(c)
32
43
  controller = prepare_controller_for_pm(c)
33
44
  controller = controller.navigationController || controller
34
45
  self.setLeftViewController controller, focusAfterChange: true, completion: default_completion_block
35
46
  end
36
47
 
37
- def menu_controller
48
+ def left_controller
38
49
  self.leftViewController
39
50
  end
40
51
 
52
+ def right_controller=(c)
53
+ controller = prepare_controller_for_pm(c)
54
+ controller = controller.navigationController || controller
55
+ self.setRightViewController controller, focusAfterChange: true, completion: default_completion_block
56
+ end
57
+
58
+ def right_controller
59
+ self.rightViewController
60
+ end
61
+
41
62
  def content_controller=(c)
42
63
  controller = prepare_controller_for_pm(c)
43
64
  controller = controller.navigationController || controller
@@ -48,6 +69,19 @@ module ProMotionSlideMenu
48
69
  self.frontViewController
49
70
  end
50
71
 
72
+ def controller=(side={})
73
+ self.left_controller = side[:left] if side[:left]
74
+ self.right_controller = side[:right] if side[:right]
75
+ self.content_controller = side[:content] if side[:content]
76
+ end
77
+
78
+ alias_method :controllers=, :controller=
79
+
80
+ def controller(side)
81
+ self.left_controller if side == :left
82
+ self.right_controller if side == :right
83
+ self.content_controller if side == :content
84
+ end
51
85
 
52
86
  protected
53
87
 
@@ -1,3 +1,3 @@
1
1
  module ProMotionSlideMenu
2
- VERSION = '0.0.4'
2
+ VERSION = '0.1.0'
3
3
  end
@@ -19,8 +19,8 @@ Motion::Project::App.setup do |app|
19
19
  # THIS WON'T WORK until the following issue is resolved with motion-cocoapods
20
20
  # https://github.com/HipByte/motion-cocoapods/issues/38
21
21
  #
22
- # app.pods do
23
- # pod 'PKRevealController'
24
- # end
22
+ app.pods do
23
+ pod 'PKRevealController'
24
+ end
25
25
 
26
26
  end
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
6
6
  s.authors = ["Matt Brewer"]
7
7
  s.email = 'matt.brewer@me.com'
8
8
 
9
- s.summary = "Provides a facebook/Path style slide menu on the left for ProMotion RubyMotion apps."
10
- s.description = "Provides a facebook/Path style slide menu on the left for ProMotion RubyMotion apps."
9
+ s.summary = "Provides a facebook/Path style slide menu for ProMotion RubyMotion apps."
10
+ s.description = "Provides a facebook/Path style slide menu for ProMotion RubyMotion apps."
11
11
 
12
12
  s.homepage = "https://github.com/macfanatic/pro_motion_slide_menu"
13
13
  s.files = `git ls-files`.split($\)
@@ -17,8 +17,8 @@ describe ProMotionSlideMenu::AppDelegate do
17
17
  end
18
18
 
19
19
  it "#open_slide_menu should return a SlideMenuScreen" do
20
- @delegate.open_slide_menu(nil, nil).should.be.instance_of ProMotionSlideMenu::SlideMenuScreen
21
- end
20
+ @delegate.open_slide_menu(nil, left: nil).should.be.instance_of ProMotionSlideMenu::SlideMenuScreen
21
+ end
22
22
 
23
23
  it "should have a SlideMenuScreen as the rootViewController" do
24
24
  @delegate.window.rootViewController.should.be.instance_of ProMotionSlideMenu::SlideMenuScreen
@@ -0,0 +1,10 @@
1
+ class RightNavScreen < ProMotion::TableScreen
2
+ def table_data
3
+ [{
4
+ title: nil,
5
+ cells: [{
6
+ title: 'OVERWRITE THIS METHOD'
7
+ }]
8
+ }]
9
+ end
10
+ end
@@ -2,55 +2,63 @@ describe ProMotionSlideMenu::SlideMenuScreen do
2
2
 
3
3
  before do
4
4
  @delegate = App.delegate
5
- @menu = LeftNavScreen.new
5
+ @left = LeftNavScreen.new
6
+ @right = RightNavScreen.new
6
7
  @content = BlankScreen.new
7
8
  end
8
9
 
9
10
  it "should return an instance of SlideMenuScreen" do
10
- screen = ProMotionSlideMenu::SlideMenuScreen.new nil, nil
11
+ screen = ProMotionSlideMenu::SlideMenuScreen.new nil, left: nil
11
12
  screen.should.be.instance_of ProMotionSlideMenu::SlideMenuScreen
12
13
  end
13
14
 
14
15
  it "should store menu & content controllers" do
15
- screen = ProMotionSlideMenu::SlideMenuScreen.new @menu, @content
16
- screen.menu_controller.should == @menu
16
+ screen = ProMotionSlideMenu::SlideMenuScreen.new @content, left: @left
17
+ screen.left_controller.should == @left
17
18
  screen.content_controller.should == @content
18
19
  end
19
20
 
20
21
  it "should allow you to pass class instances" do
21
- screen = ProMotionSlideMenu::SlideMenuScreen.new LeftNavScreen, BlankScreen
22
- screen.menu_controller.should.be.instance_of LeftNavScreen
22
+ screen = ProMotionSlideMenu::SlideMenuScreen.new BlankScreen, left: LeftNavScreen
23
+ screen.left_controller.should.be.instance_of LeftNavScreen
23
24
  screen.content_controller.should.be.instance_of BlankScreen
24
25
  end
25
26
 
26
27
  it "should present the menu controller when requested" do
27
- screen = ProMotionSlideMenu::SlideMenuScreen.new @menu, @content
28
- screen.show_menu
29
- wait(0.5) { screen.focusedController.should == @menu }
28
+ screen = ProMotionSlideMenu::SlideMenuScreen.new @content, left: @left
29
+ screen.show(:left)
30
+ wait(0.5) { screen.focusedController.should == @left }
30
31
  end
31
32
 
32
33
  it "should present the content controller when requested" do
33
- screen = ProMotionSlideMenu::SlideMenuScreen.new @menu, @content
34
- screen.hide_menu
34
+ screen = ProMotionSlideMenu::SlideMenuScreen.new @content, left: @left
35
+ screen.hide
35
36
  wait(0.5) { screen.focusedController.should == @content }
36
37
  end
37
38
 
38
39
  it "should let me wrap the content controller in a UINavigationController" do
39
40
  content_controller = BlankScreen.new(nav_bar: true)
40
- screen = ProMotionSlideMenu::SlideMenuScreen.new @menu, content_controller
41
+ screen = ProMotionSlideMenu::SlideMenuScreen.new content_controller, left: @left
41
42
  screen.content_controller.should.be.instance_of ProMotion::NavigationController
42
43
  end
43
44
 
44
45
  it "should let me set the title on the content controller during creation" do
45
46
  content_controller = BlankScreen.new(title: 'My Title')
46
- screen = ProMotionSlideMenu::SlideMenuScreen.new @menu, content_controller
47
+ screen = ProMotionSlideMenu::SlideMenuScreen.new content_controller, left: @left
47
48
  screen.content_controller.title.should == 'My Title'
48
49
  end
49
50
 
50
51
  it "should accept a plain UIViewController" do
51
- screen = ProMotionSlideMenu::SlideMenuScreen.new nil, nil
52
- should.not.raise(NoMethodError) { screen.menu_controller = UIViewController }
53
- screen.menu_controller.should.be.instance_of UIViewController
52
+ screen = ProMotionSlideMenu::SlideMenuScreen.new nil, left: nil
53
+ should.not.raise(NoMethodError) { screen.left_controller = UIViewController }
54
+ screen.left_controller.should.be.instance_of UIViewController
55
+ end
56
+
57
+ it "should allow you to set both a right and left menu controller" do
58
+ screen = ProMotionSlideMenu::SlideMenuScreen.new @content, left: @left, right: @right
59
+ screen.left_controller.should == @left
60
+ screen.right_controller.should == @right
61
+ screen.content_controller.should == @content
54
62
  end
55
63
 
56
64
  end
data/vendor/Podfile.lock CHANGED
@@ -7,4 +7,4 @@ DEPENDENCIES:
7
7
  SPEC CHECKSUMS:
8
8
  PKRevealController: 631e6a3db833a0c660203c2dba0963109549ec8a
9
9
 
10
- COCOAPODS: 0.20.2
10
+ COCOAPODS: 0.26.2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pro_motion_slide_menu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brewer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-20 00:00:00.000000000 Z
11
+ date: 2013-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bubble-wrap
@@ -66,8 +66,7 @@ dependencies:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: Provides a facebook/Path style slide menu on the left for ProMotion RubyMotion
70
- apps.
69
+ description: Provides a facebook/Path style slide menu for ProMotion RubyMotion apps.
71
70
  email: matt.brewer@me.com
72
71
  executables: []
73
72
  extensions: []
@@ -88,6 +87,7 @@ files:
88
87
  - spec/app_delegate_spec.rb
89
88
  - spec/helpers/blank_screen.rb
90
89
  - spec/helpers/left_nav_screen.rb
90
+ - spec/helpers/right_nav_screen.rb
91
91
  - spec/slide_menu_screen_spec.rb
92
92
  - vendor/Podfile.lock
93
93
  homepage: https://github.com/macfanatic/pro_motion_slide_menu
@@ -112,10 +112,10 @@ rubyforge_project:
112
112
  rubygems_version: 2.0.3
113
113
  signing_key:
114
114
  specification_version: 4
115
- summary: Provides a facebook/Path style slide menu on the left for ProMotion RubyMotion
116
- apps.
115
+ summary: Provides a facebook/Path style slide menu for ProMotion RubyMotion apps.
117
116
  test_files:
118
117
  - spec/app_delegate_spec.rb
119
118
  - spec/helpers/blank_screen.rb
120
119
  - spec/helpers/left_nav_screen.rb
120
+ - spec/helpers/right_nav_screen.rb
121
121
  - spec/slide_menu_screen_spec.rb