paloma 4.1.0 → 4.1.1

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.
data/Changelog.md CHANGED
@@ -1,13 +1,15 @@
1
- # Changelog
1
+ ## 4.1.1
2
+ * https://github.com/kbparagua/paloma/pull/57 - Fix Turbolinks Issues.
3
+ * https://github.com/kbparagua/paloma/pull/55 - Fix issues when Paloma hook is not found.
2
4
 
3
- ## Version 4.1.0
5
+ ## 4.1.0
4
6
  * Support for Turbolinks.
5
7
  * `Paloma.executeHook()` to manually run the hook from the DOM.
6
8
  * Paloma hook will be appended using all `render` calls, except for calls that has the following keys `[:json, :js, :xml, :file]`.
7
9
  * Restore `Paloma.engine.start()` to start processing queued request.
8
10
 
9
11
 
10
- ## Version 4.0.0
12
+ ## 4.0.0
11
13
  * https://github.com/kbparagua/paloma/issues/26 - Paloma requests are not saved on `session`.
12
14
  * https://github.com/kbparagua/paloma/issues/26 - Chaining with redirect is removed.
13
15
  * Routing from javascript is removed.
@@ -16,15 +18,15 @@
16
18
  * https://github.com/kbparagua/paloma/issues/29 - Disable `console.log` and `console.warn` for non-development environments.
17
19
 
18
20
 
19
- ## Version 3.0.2
21
+ ## 3.0.2
20
22
  * Bug Fix: Converting Rails controller name to singular form.
21
23
 
22
24
 
23
- ## Version 3.0.1
25
+ ## 3.0.1
24
26
  * Bug Fix: Can't handle Rails controller with Multi-word name.
25
27
  * Bug Fix: Paloma Engine is halting when a warning is encountered.
26
28
  * Don't create Paloma request if rendering js, json, xml, or file.
27
29
 
28
30
 
29
- ## Version 3.0.0
31
+ ## 3.0.0
30
32
  * Rewrite Initial Release
data/README.md CHANGED
@@ -292,6 +292,20 @@ $(document).on('page:restore', function(){
292
292
  });
293
293
  ```
294
294
 
295
+ ### Turbolinks without `jquery.turbolinks` gem
296
+
297
+ You need to manually run Paloma every page load if you are not using `jquery.turbolinks` gem.
298
+
299
+ In your `application.js`
300
+
301
+ ```js
302
+ $(document).on('page:load', function(){
303
+ Paloma.executeHook();
304
+ Paloma.engine.start();
305
+ });
306
+ ```
307
+
308
+
295
309
  ## Gotchas
296
310
 
297
311
  * Paloma will execute on all `render` calls, except for calls with the following formats: `js`, `json`, `xml`, and `file`.
@@ -3,12 +3,6 @@
3
3
  <div class="js-paloma-hook" data-id="<%= id %>">
4
4
  <script type="text/javascript">
5
5
  (function(){
6
- // Do not continue if Paloma not found.
7
- if (window['Paloma'] === undefined && window['console'] !== undefined){
8
- console.warn("Paloma not found. Require it in your application.js.");
9
- return true;
10
- }
11
-
12
6
  Paloma.env = '<%= Rails.env %>';
13
7
 
14
8
  // Remove any callback details if any
@@ -20,8 +14,6 @@
20
14
  request['resource'],
21
15
  request['action'],
22
16
  request['params']);
23
-
24
- $(document).ready(function(){ Paloma.engine.start(); });
25
17
  })();
26
18
  </script>
27
19
  </div>
@@ -115,10 +115,15 @@ module Paloma
115
115
  #
116
116
  def append_paloma_hook
117
117
  return true if self.paloma.has_no_request?
118
-
119
- hook = view_context.render(
120
- :partial => 'paloma/hook',
121
- :locals => {:request => self.paloma.request})
118
+
119
+ # Render the partial if it is present, otherwise do nothing.
120
+ begin
121
+ hook = view_context.render(
122
+ :partial => 'paloma/hook',
123
+ :locals => {:request => self.paloma.request})
124
+ rescue ActionView::MissingTemplate
125
+ return true
126
+ end
122
127
 
123
128
  before_body_end_index = response_body[0].rindex('</body>')
124
129
 
data/paloma.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'paloma'
3
- s.version = '4.1.0'
3
+ s.version = '4.1.1'
4
4
  s.summary = "Provides an easy way to execute page-specific javascript for Rails."
5
5
  s.description = "Page-specific javascript for Rails done right"
6
6
  s.authors = ['Karl Paragua']
data/test_app/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'selenium-webdriver'
4
+ gem 'jquery-turbolinks'
4
5
  gemspec :path => '../'
@@ -11,14 +11,17 @@
11
11
  // GO AFTER THE REQUIRES BELOW.
12
12
  //
13
13
  //= require jquery
14
+ //= require jquery.turbolinks
14
15
  //= require jquery_ujs
15
16
  //= require turbolinks
16
17
  //= require paloma
17
18
  //= require_tree .
18
19
 
19
20
 
20
- // $(document).on('page:restore', function(){
21
+ // Uncomment if jquery.turbolinks is not used.
22
+ // $(document).on('page:load', function(){
21
23
  // Paloma.executeHook();
24
+ // Paloma.engine.start();
22
25
  // });
23
26
 
24
27
 
@@ -3,15 +3,29 @@ window.Paloma = window.Paloma || {};
3
3
  //
4
4
  // Do nothing if there is no available console.
5
5
  //
6
- if (!window['console']){ Paloma.log = Paloma.warn = function(msg){}; }
6
+ if ( !window['console'] ){
7
+ Paloma.log = Paloma.warn = function(msg){};
8
+ }
7
9
  else {
8
10
  Paloma.warn = function(msg){
9
- if(Paloma.env != 'development') return;
11
+ if (Paloma.env != 'development'){ return; }
10
12
  console.warn(msg);
11
13
  };
12
14
 
13
15
  Paloma.log = function(msg){
14
- if(Paloma.env != 'development') return;
16
+ if (Paloma.env != 'development'){ return; }
15
17
  console.log(msg);
16
18
  };
17
19
  }
20
+
21
+ $(document).ready(function(){
22
+ // Do not continue if Paloma not found.
23
+ if (window['Paloma'] === undefined) {
24
+ if (window['console'] !== undefined) {
25
+ console.warn("Paloma not found. Require it in your application.js.");
26
+ }
27
+ return true;
28
+ }
29
+
30
+ Paloma.engine.start();
31
+ });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paloma
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-07 00:00:00.000000000 Z
12
+ date: 2014-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: jquery-rails