unobtrusive_flash 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +15 -4
  4. data/Appraisals +25 -0
  5. data/CHANGELOG.md +10 -1
  6. data/README.markdown +56 -22
  7. data/Rakefile +6 -0
  8. data/gemfiles/rails_3.2.gemfile +8 -0
  9. data/gemfiles/rails_3.2.gemfile.lock +155 -0
  10. data/gemfiles/rails_4.0.gemfile +10 -0
  11. data/gemfiles/rails_4.0.gemfile.lock +153 -0
  12. data/gemfiles/rails_4.1.gemfile +10 -0
  13. data/gemfiles/rails_4.1.gemfile.lock +159 -0
  14. data/gemfiles/rails_4.2.gemfile +10 -0
  15. data/gemfiles/rails_4.2.gemfile.lock +181 -0
  16. data/lib/assets/javascripts/unobtrusive_flash.js +16 -10
  17. data/lib/assets/javascripts/unobtrusive_flash_bootstrap.js +6 -4
  18. data/lib/assets/javascripts/unobtrusive_flash_ui.js +8 -5
  19. data/lib/unobtrusive_flash/version.rb +1 -1
  20. data/spec/integration/api_spec.rb +12 -0
  21. data/spec/integration/bootstrap_spec.rb +23 -0
  22. data/spec/integration/turbolinks_spec.rb +23 -0
  23. data/spec/integration/ui_spec.rb +10 -0
  24. data/spec/spec_helper.rb +18 -1
  25. data/spec/support/assets/javascripts/ajax_caller.js +4 -0
  26. data/spec/support/assets/javascripts/api.js +12 -0
  27. data/spec/support/assets/javascripts/bootstrap.js +4 -0
  28. data/spec/support/assets/javascripts/jquery_turbolinks_application.js +5 -0
  29. data/spec/support/assets/javascripts/turbolinks_application.js +11 -0
  30. data/spec/support/assets/javascripts/ui.js +4 -0
  31. data/spec/support/rails_app.rb +57 -0
  32. data/spec/support/views/test/api.html.erb +8 -0
  33. data/spec/support/views/test/bootstrap.html.erb +9 -0
  34. data/spec/support/views/test/jquery_turbolinks.html.erb +10 -0
  35. data/spec/support/views/test/turbolinks.html.erb +9 -0
  36. data/spec/support/views/test/turbolinks_target.html.erb +3 -0
  37. data/spec/support/views/test/ui.html.erb +8 -0
  38. data/unobtrusive_flash.gemspec +8 -2
  39. metadata +106 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2eb8a0a2384eecefacf6fd3aff7dc0799567aca4
4
- data.tar.gz: c4d0f68f87e5fc0f7b4b39725ad12b1b384e90e3
3
+ metadata.gz: bcf0d645c08a7ad2d63f5955edace9e8a4578be0
4
+ data.tar.gz: fdeae4c247e4ca3705983042b7697d77b4220406
5
5
  SHA512:
6
- metadata.gz: b7ed858fbdb382db5a0823e3677a6f4609062710d9789fbd2924f86fd47bf1a0843ba90f9e2edd31297f9ae413a5281cf393c01940fbb910c02296fab3c00e95
7
- data.tar.gz: ea0a2251c0366a6a81aae1f230d4a3982da82148d86cca0bc4ed0ee120fdecb9d2e6d7e9858602c37a7bd23da0d3fd4f980c1814a24c1d5e40168e538d3617ab
6
+ metadata.gz: b73cbd1239dcde8e44719d92f0e265ff70da474a6eb4e523ce399a6f49f2fd6cfbd5209b073929ed9d4de69e6c4e23f3f8fdfedce6ad545640e206650f5a1a50
7
+ data.tar.gz: acc75fb3ca59e8973ab6a318f438861112a8a864755c4700a9e44d8799e1cbaf9780f546fd6d62ac090a2761f7de896b5fe8f252c6ed5e787256f14747255d2e
data/.gitignore CHANGED
@@ -14,4 +14,5 @@ rdoc
14
14
  spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
- tmp
17
+ tmp
18
+ log
@@ -1,6 +1,17 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  rvm:
3
- - 1.9
4
- - 2.0
5
- - 2.1
6
- script: "rspec"
4
+ - 1.9
5
+ - 2.0
6
+ - 2.2
7
+ gemfile:
8
+ - gemfiles/rails_3.2.gemfile
9
+ - gemfiles/rails_4.0.gemfile
10
+ - gemfiles/rails_4.1.gemfile
11
+ - gemfiles/rails_4.2.gemfile
12
+ env:
13
+ matrix:
14
+ - JQUERY_VERSION=2.1.1
15
+ - JQUERY_VERSION=1.11.1
16
+
17
+ script: bundle exec rake spec
@@ -0,0 +1,25 @@
1
+ appraise "rails-3.2" do
2
+ gem "rails", "~>3.2.22"
3
+ gem 'jquery-rails', '~> 2.1'
4
+ end
5
+
6
+ appraise "rails-4.0" do
7
+ gem "rails", "~>4.0.13"
8
+ gem 'jquery-rails', '~> 2.1'
9
+ gem 'turbolinks'
10
+ gem 'jquery-turbolinks', '>2'
11
+ end
12
+
13
+ appraise "rails-4.1" do
14
+ gem "rails", "~>4.1.13"
15
+ gem 'jquery-rails', '~> 2.1'
16
+ gem 'turbolinks'
17
+ gem 'jquery-turbolinks', '>2'
18
+ end
19
+
20
+ appraise "rails-4.2" do
21
+ gem "rails", "~>4.2.4"
22
+ gem 'jquery-rails', '~> 2.1'
23
+ gem 'turbolinks'
24
+ gem 'jquery-turbolinks', '>2'
25
+ end
@@ -1,3 +1,12 @@
1
+ ## 2015-11-06 3.2.0
2
+
3
+ * Support passing flash with non-successful (non-200) AJAX requests thanks to @Markwallow [#28]
4
+ * Tested with Rails 4.2
5
+
6
+ ## 2015-10-23 3.1.1
7
+
8
+ * Fix typo that didn't clear domainless cookies thanks to @pavelgnom [#23]
9
+
1
10
  ## 2014-06-23 3.1.0
2
11
 
3
12
  * Extracted default flash options to `UnobtrusiveFlash.flashOptions` so you can set the message timeout.
@@ -25,4 +34,4 @@
25
34
  * Dropped compatibility with Rails 2
26
35
  * Decoupled logic from presentation
27
36
  * Compatibility with Bootstrap
28
- * Event-driven architecture
37
+ * Event-driven architecture
@@ -13,28 +13,26 @@ about 3 extra lines of code in your app - how's that for unobtrusive?
13
13
  You can pass up to 4K of text into flash this way, and you don't need to worry about cookie size since they are
14
14
  cleared immediately upon rendering.
15
15
 
16
- Tested in:
17
-
18
- * Internet Explorer 8 and later
19
- * Firefox up to v24
20
- * Chrome up to v30
21
- * Safari 6
22
- * Opera 12
16
+ Tested in all major browsers, including Internet Explorer 8 and later.
23
17
 
24
18
  ## Requirements
25
19
 
26
- * Rails >=3
27
- * jQuery (tested with v1.10)
20
+ * Rails >=3 (Latest versions of 3.2, 4.0, 4.1, 4.2 are automatically tested)
21
+ * jQuery (Latest versions of both jQuery 1 and jQuery 2 are automatically tested)
28
22
 
29
23
  ## Usage
30
24
 
31
25
  1. Add the `unobtrusive_flash` gem to your Gemfile.
32
26
 
33
- gem 'unobtrusive_flash', '>=3'
27
+ ```ruby
28
+ gem 'unobtrusive_flash', '>=3'
29
+ ```
34
30
 
35
31
  2. Add the following to the controllers that generate flash messages (or better, to the `ApplicationController`):
36
32
 
37
- after_filter :prepare_unobtrusive_flash
33
+ ```ruby
34
+ after_filter :prepare_unobtrusive_flash
35
+ ```
38
36
 
39
37
  Flash messages are HTML escaped in the same manner as regular Rails view code: if a message is not `html_safe`, it is escaped, otherwise not. This lets you use helpers such as `link_to` in your messages.
40
38
 
@@ -52,7 +50,9 @@ Either declare a `.unobtrusive-flash-container` element somewhere on the page to
52
50
 
53
51
  If you want the flash messages to disappear automatically, set this in your Javascript:
54
52
 
55
- UnobtrusiveFlash.flashOptions['timeout'] = 2000; // milliseconds
53
+ ```javascript
54
+ UnobtrusiveFlash.flashOptions['timeout'] = 2000; // milliseconds
55
+ ```
56
56
 
57
57
  ### Option 2: For non-Bootstrap projects
58
58
 
@@ -60,30 +60,64 @@ Also `require unobtrusive_flash_ui` in your `application.js` and `require unobtr
60
60
 
61
61
  If you want the flash messages to disappear automatically, set this in your Javascript:
62
62
 
63
- UnobtrusiveFlash.flashOptions['timeout'] = 2000; // milliseconds
63
+ ```javascript
64
+ UnobtrusiveFlash.flashOptions['timeout'] = 2000; // milliseconds
65
+ ```
64
66
 
65
67
  ### Option 3: Roll your own
66
68
 
67
69
  Unobtrusive Flash triggers jQuery events when flash is received. If you want to integrate it with your own UI, implement and bind a handler:
68
70
 
69
- flashHandler = function(e, params) {
70
- alert('Received flash message '+params.message+' with type '+params.type);
71
- };
71
+ ```javascript
72
+ flashHandler = function(e, params) {
73
+ alert('Received flash message '+params.message+' with type '+params.type);
74
+ };
72
75
 
73
- $(window).bind('rails:flash', flashHandler);
76
+ $(window).bind('rails:flash', flashHandler);
77
+ ```
74
78
 
75
79
  ## Using UnobtrusiveFlash with a frontend framework that doesn't use jQuery for AJAX
76
80
 
77
81
  Call `UnobtrusiveFlash.showFlashFromCookies()` in your Javascript after a completed request.
78
-
82
+
79
83
  ## Bonus: show 'flash messages' from the front-end
80
84
 
81
85
  Both Bootstrap and non-Bootstrap versions contain a function to display flash messages:
82
86
 
83
- // Shown for 5 seconds (default)
84
- UnobtrusiveFlash.showFlashMessage('Hello World', {type: 'notice'})
85
- // Shown forever
86
- UnobtrusiveFlash.showFlashMessage('Error', {type: 'error', timeout: 0})
87
+ ```javascript
88
+ // Shown for 5 seconds (default)
89
+ UnobtrusiveFlash.showFlashMessage('Hello World', {type: 'notice'})
90
+ // Shown forever
91
+ UnobtrusiveFlash.showFlashMessage('Error', {type: 'error', timeout: 0})
92
+ ```
93
+
94
+ ## Issue with certain "hosted domains"
95
+
96
+ There are [certain domains](https://publicsuffix.org/list/) that are considered "public" or "hosting" and specifically don't share cookies across subdomains. An example is `herokuapp.com` - a cookie set for `yourapp.herokuapp.com` will not be applied for `myapp.herokuapp.com`. This breaks the logic of `unobtrusive_flash` which is tuned for regular domains that could have internal subdomains.
97
+
98
+ In this case, you should explicitly specify your domain:
99
+
100
+ ```ruby
101
+ class ApplicationController
102
+ def unobtrusive_flash_domain
103
+ request.host # last resort is hardcoding the domain here
104
+ end
105
+ end
106
+ ```
107
+
108
+ ## Running tests
109
+
110
+ This plugin's test suite includes a full set of integration tests for various versions of Rails. To run them:
111
+
112
+ ```shell
113
+ bundle install
114
+ appraisal install
115
+ appraisal rake spec
116
+ ```
117
+
118
+ The same tests are ran on Travis CI against multiple versions of Ruby and jQuery.
119
+
120
+ The Travis CI build does not test turbolinks as of now, because PhantomJS 1 does not support the necessary APIs. However, if you run the tests outside of Travis, they will use Selenium and perform a full range of tests.
87
121
 
88
122
  * * *
89
123
 
data/Rakefile CHANGED
@@ -1 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+ require 'rails' # for Sauce to work
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task :default => :spec
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~>3.2.22"
6
+ gem "jquery-rails", "~> 2.1"
7
+
8
+ gemspec :path => "../"
@@ -0,0 +1,155 @@
1
+ PATH
2
+ remote: ../
3
+ specs:
4
+ unobtrusive_flash (3.1.1)
5
+ railties
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionmailer (3.2.22)
11
+ actionpack (= 3.2.22)
12
+ mail (~> 2.5.4)
13
+ actionpack (3.2.22)
14
+ activemodel (= 3.2.22)
15
+ activesupport (= 3.2.22)
16
+ builder (~> 3.0.0)
17
+ erubis (~> 2.7.0)
18
+ journey (~> 1.0.4)
19
+ rack (~> 1.4.5)
20
+ rack-cache (~> 1.2)
21
+ rack-test (~> 0.6.1)
22
+ sprockets (~> 2.2.1)
23
+ activemodel (3.2.22)
24
+ activesupport (= 3.2.22)
25
+ builder (~> 3.0.0)
26
+ activerecord (3.2.22)
27
+ activemodel (= 3.2.22)
28
+ activesupport (= 3.2.22)
29
+ arel (~> 3.0.2)
30
+ tzinfo (~> 0.3.29)
31
+ activeresource (3.2.22)
32
+ activemodel (= 3.2.22)
33
+ activesupport (= 3.2.22)
34
+ activesupport (3.2.22)
35
+ i18n (~> 0.6, >= 0.6.4)
36
+ multi_json (~> 1.0)
37
+ appraisal (2.1.0)
38
+ bundler
39
+ rake
40
+ thor (>= 0.14.0)
41
+ arel (3.0.3)
42
+ builder (3.0.4)
43
+ capybara (2.5.0)
44
+ mime-types (>= 1.16)
45
+ nokogiri (>= 1.3.3)
46
+ rack (>= 1.0.0)
47
+ rack-test (>= 0.5.4)
48
+ xpath (~> 2.0)
49
+ childprocess (0.5.6)
50
+ ffi (~> 1.0, >= 1.0.11)
51
+ cliver (0.3.2)
52
+ diff-lcs (1.2.5)
53
+ erubis (2.7.0)
54
+ ffi (1.9.10)
55
+ hike (1.2.3)
56
+ i18n (0.7.0)
57
+ journey (1.0.4)
58
+ jquery-rails (2.3.0)
59
+ railties (>= 3.0, < 5.0)
60
+ thor (>= 0.14, < 2.0)
61
+ json (1.8.3)
62
+ mail (2.5.4)
63
+ mime-types (~> 1.16)
64
+ treetop (~> 1.4.8)
65
+ mime-types (1.25.1)
66
+ mini_portile (0.6.2)
67
+ multi_json (1.11.2)
68
+ nokogiri (1.6.6.2)
69
+ mini_portile (~> 0.6.0)
70
+ poltergeist (1.7.0)
71
+ capybara (~> 2.1)
72
+ cliver (~> 0.3.1)
73
+ multi_json (~> 1.0)
74
+ websocket-driver (>= 0.2.0)
75
+ polyglot (0.3.5)
76
+ rack (1.4.7)
77
+ rack-cache (1.5.0)
78
+ rack (>= 0.4)
79
+ rack-ssl (1.3.4)
80
+ rack
81
+ rack-test (0.6.3)
82
+ rack (>= 1.0)
83
+ rails (3.2.22)
84
+ actionmailer (= 3.2.22)
85
+ actionpack (= 3.2.22)
86
+ activerecord (= 3.2.22)
87
+ activeresource (= 3.2.22)
88
+ activesupport (= 3.2.22)
89
+ bundler (~> 1.0)
90
+ railties (= 3.2.22)
91
+ railties (3.2.22)
92
+ actionpack (= 3.2.22)
93
+ activesupport (= 3.2.22)
94
+ rack-ssl (~> 1.3.2)
95
+ rake (>= 0.8.7)
96
+ rdoc (~> 3.4)
97
+ thor (>= 0.14.6, < 2.0)
98
+ rake (10.4.2)
99
+ rdoc (3.12.2)
100
+ json (~> 1.4)
101
+ rspec (3.3.0)
102
+ rspec-core (~> 3.3.0)
103
+ rspec-expectations (~> 3.3.0)
104
+ rspec-mocks (~> 3.3.0)
105
+ rspec-core (3.3.2)
106
+ rspec-support (~> 3.3.0)
107
+ rspec-expectations (3.3.1)
108
+ diff-lcs (>= 1.2.0, < 2.0)
109
+ rspec-support (~> 3.3.0)
110
+ rspec-mocks (3.3.2)
111
+ diff-lcs (>= 1.2.0, < 2.0)
112
+ rspec-support (~> 3.3.0)
113
+ rspec-support (3.3.0)
114
+ rubyzip (1.1.7)
115
+ selenium-webdriver (2.48.1)
116
+ childprocess (~> 0.5)
117
+ multi_json (~> 1.0)
118
+ rubyzip (~> 1.0)
119
+ websocket (~> 1.0)
120
+ sprockets (2.2.3)
121
+ hike (~> 1.2)
122
+ multi_json (~> 1.0)
123
+ rack (~> 1.0)
124
+ tilt (~> 1.1, != 1.3.0)
125
+ thor (0.19.1)
126
+ tilt (1.4.1)
127
+ treetop (1.4.15)
128
+ polyglot
129
+ polyglot (>= 0.3.1)
130
+ tzinfo (0.3.45)
131
+ websocket (1.2.2)
132
+ websocket-driver (0.6.2)
133
+ websocket-extensions (>= 0.1.0)
134
+ websocket-extensions (0.1.2)
135
+ xpath (2.0.0)
136
+ nokogiri (~> 1.3)
137
+
138
+ PLATFORMS
139
+ ruby
140
+
141
+ DEPENDENCIES
142
+ appraisal
143
+ bundler (~> 1.3)
144
+ capybara (>= 2.5)
145
+ jquery-rails (~> 2.1)
146
+ poltergeist
147
+ rails (~> 3.2.22)
148
+ rake
149
+ rspec (~> 3)
150
+ rspec-mocks (~> 3)
151
+ selenium-webdriver
152
+ unobtrusive_flash!
153
+
154
+ BUNDLED WITH
155
+ 1.10.6
@@ -0,0 +1,10 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~>4.0.13"
6
+ gem "jquery-rails", "~> 2.1"
7
+ gem "turbolinks"
8
+ gem "jquery-turbolinks", ">2"
9
+
10
+ gemspec :path => "../"
@@ -0,0 +1,153 @@
1
+ PATH
2
+ remote: ../
3
+ specs:
4
+ unobtrusive_flash (3.1.1)
5
+ railties
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionmailer (4.0.13)
11
+ actionpack (= 4.0.13)
12
+ mail (~> 2.5, >= 2.5.4)
13
+ actionpack (4.0.13)
14
+ activesupport (= 4.0.13)
15
+ builder (~> 3.1.0)
16
+ erubis (~> 2.7.0)
17
+ rack (~> 1.5.2)
18
+ rack-test (~> 0.6.2)
19
+ activemodel (4.0.13)
20
+ activesupport (= 4.0.13)
21
+ builder (~> 3.1.0)
22
+ activerecord (4.0.13)
23
+ activemodel (= 4.0.13)
24
+ activerecord-deprecated_finders (~> 1.0.2)
25
+ activesupport (= 4.0.13)
26
+ arel (~> 4.0.0)
27
+ activerecord-deprecated_finders (1.0.4)
28
+ activesupport (4.0.13)
29
+ i18n (~> 0.6, >= 0.6.9)
30
+ minitest (~> 4.2)
31
+ multi_json (~> 1.3)
32
+ thread_safe (~> 0.1)
33
+ tzinfo (~> 0.3.37)
34
+ appraisal (2.1.0)
35
+ bundler
36
+ rake
37
+ thor (>= 0.14.0)
38
+ arel (4.0.2)
39
+ builder (3.1.4)
40
+ capybara (2.5.0)
41
+ mime-types (>= 1.16)
42
+ nokogiri (>= 1.3.3)
43
+ rack (>= 1.0.0)
44
+ rack-test (>= 0.5.4)
45
+ xpath (~> 2.0)
46
+ childprocess (0.5.6)
47
+ ffi (~> 1.0, >= 1.0.11)
48
+ cliver (0.3.2)
49
+ coffee-rails (4.1.0)
50
+ coffee-script (>= 2.2.0)
51
+ railties (>= 4.0.0, < 5.0)
52
+ coffee-script (2.4.1)
53
+ coffee-script-source
54
+ execjs
55
+ coffee-script-source (1.9.1.1)
56
+ diff-lcs (1.2.5)
57
+ erubis (2.7.0)
58
+ execjs (2.6.0)
59
+ ffi (1.9.10)
60
+ i18n (0.7.0)
61
+ jquery-rails (2.3.0)
62
+ railties (>= 3.0, < 5.0)
63
+ thor (>= 0.14, < 2.0)
64
+ jquery-turbolinks (2.1.0)
65
+ railties (>= 3.1.0)
66
+ turbolinks
67
+ mail (2.6.3)
68
+ mime-types (>= 1.16, < 3)
69
+ mime-types (2.6.2)
70
+ mini_portile (0.6.2)
71
+ minitest (4.7.5)
72
+ multi_json (1.11.2)
73
+ nokogiri (1.6.6.2)
74
+ mini_portile (~> 0.6.0)
75
+ poltergeist (1.7.0)
76
+ capybara (~> 2.1)
77
+ cliver (~> 0.3.1)
78
+ multi_json (~> 1.0)
79
+ websocket-driver (>= 0.2.0)
80
+ rack (1.5.5)
81
+ rack-test (0.6.3)
82
+ rack (>= 1.0)
83
+ rails (4.0.13)
84
+ actionmailer (= 4.0.13)
85
+ actionpack (= 4.0.13)
86
+ activerecord (= 4.0.13)
87
+ activesupport (= 4.0.13)
88
+ bundler (>= 1.3.0, < 2.0)
89
+ railties (= 4.0.13)
90
+ sprockets-rails (~> 2.0)
91
+ railties (4.0.13)
92
+ actionpack (= 4.0.13)
93
+ activesupport (= 4.0.13)
94
+ rake (>= 0.8.7)
95
+ thor (>= 0.18.1, < 2.0)
96
+ rake (10.4.2)
97
+ rspec (3.3.0)
98
+ rspec-core (~> 3.3.0)
99
+ rspec-expectations (~> 3.3.0)
100
+ rspec-mocks (~> 3.3.0)
101
+ rspec-core (3.3.2)
102
+ rspec-support (~> 3.3.0)
103
+ rspec-expectations (3.3.1)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.3.0)
106
+ rspec-mocks (3.3.2)
107
+ diff-lcs (>= 1.2.0, < 2.0)
108
+ rspec-support (~> 3.3.0)
109
+ rspec-support (3.3.0)
110
+ rubyzip (1.1.7)
111
+ selenium-webdriver (2.48.1)
112
+ childprocess (~> 0.5)
113
+ multi_json (~> 1.0)
114
+ rubyzip (~> 1.0)
115
+ websocket (~> 1.0)
116
+ sprockets (3.4.0)
117
+ rack (> 1, < 3)
118
+ sprockets-rails (2.3.3)
119
+ actionpack (>= 3.0)
120
+ activesupport (>= 3.0)
121
+ sprockets (>= 2.8, < 4.0)
122
+ thor (0.19.1)
123
+ thread_safe (0.3.5)
124
+ turbolinks (2.5.3)
125
+ coffee-rails
126
+ tzinfo (0.3.45)
127
+ websocket (1.2.2)
128
+ websocket-driver (0.6.2)
129
+ websocket-extensions (>= 0.1.0)
130
+ websocket-extensions (0.1.2)
131
+ xpath (2.0.0)
132
+ nokogiri (~> 1.3)
133
+
134
+ PLATFORMS
135
+ ruby
136
+
137
+ DEPENDENCIES
138
+ appraisal
139
+ bundler (~> 1.3)
140
+ capybara (>= 2.5)
141
+ jquery-rails (~> 2.1)
142
+ jquery-turbolinks (> 2)
143
+ poltergeist
144
+ rails (~> 4.0.13)
145
+ rake
146
+ rspec (~> 3)
147
+ rspec-mocks (~> 3)
148
+ selenium-webdriver
149
+ turbolinks
150
+ unobtrusive_flash!
151
+
152
+ BUNDLED WITH
153
+ 1.10.6