ajaxify_rails 0.2.1 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +4 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +5 -0
  4. data/README.md +4 -3
  5. data/Rakefile +13 -0
  6. data/ajaxify_rails.gemspec +11 -0
  7. data/lib/ajaxify_rails/version.rb +1 -1
  8. data/spec/ajaxify_test/Rakefile +7 -0
  9. data/spec/ajaxify_test/app/assets/images/ajax-loader-y.gif +0 -0
  10. data/spec/ajaxify_test/app/assets/images/ajax-loader.gif +0 -0
  11. data/spec/ajaxify_test/app/assets/javascripts/application.js +17 -0
  12. data/spec/ajaxify_test/app/assets/javascripts/home.js.coffee +16 -0
  13. data/spec/ajaxify_test/app/assets/javascripts/main.js.coffee +33 -0
  14. data/spec/ajaxify_test/app/assets/stylesheets/application.css +13 -0
  15. data/spec/ajaxify_test/app/assets/stylesheets/home.css.scss +93 -0
  16. data/spec/ajaxify_test/app/controllers/application_controller.rb +19 -0
  17. data/spec/ajaxify_test/app/controllers/home_controller.rb +34 -0
  18. data/spec/ajaxify_test/app/helpers/application_helper.rb +2 -0
  19. data/spec/ajaxify_test/app/helpers/home_helper.rb +2 -0
  20. data/spec/ajaxify_test/app/mailers/.gitkeep +0 -0
  21. data/spec/ajaxify_test/app/models/.gitkeep +0 -0
  22. data/spec/ajaxify_test/app/views/home/index.html.haml +1 -0
  23. data/spec/ajaxify_test/app/views/home/page1.html.haml +1 -0
  24. data/spec/ajaxify_test/app/views/home/page2.html.haml +10 -0
  25. data/spec/ajaxify_test/app/views/home/page3.html.haml +1 -0
  26. data/spec/ajaxify_test/app/views/layouts/application.html.haml +47 -0
  27. data/spec/ajaxify_test/config.ru +4 -0
  28. data/spec/ajaxify_test/config/application.rb +61 -0
  29. data/spec/ajaxify_test/config/boot.rb +19 -0
  30. data/spec/ajaxify_test/config/database.yml +25 -0
  31. data/spec/ajaxify_test/config/environment.rb +5 -0
  32. data/spec/ajaxify_test/config/environments/development.rb +37 -0
  33. data/spec/ajaxify_test/config/environments/production.rb +67 -0
  34. data/spec/ajaxify_test/config/environments/test.rb +34 -0
  35. data/spec/ajaxify_test/config/initializers/backtrace_silencers.rb +7 -0
  36. data/spec/ajaxify_test/config/initializers/inflections.rb +15 -0
  37. data/spec/ajaxify_test/config/initializers/mime_types.rb +5 -0
  38. data/spec/ajaxify_test/config/initializers/secret_token.rb +7 -0
  39. data/spec/ajaxify_test/config/initializers/session_store.rb +8 -0
  40. data/spec/ajaxify_test/config/initializers/wrap_parameters.rb +14 -0
  41. data/spec/ajaxify_test/config/locales/en.yml +5 -0
  42. data/spec/ajaxify_test/config/routes.rb +12 -0
  43. data/spec/ajaxify_test/db/development.sqlite3 +0 -0
  44. data/spec/ajaxify_test/db/seeds.rb +7 -0
  45. data/spec/ajaxify_test/db/test.sqlite3 +0 -0
  46. data/spec/ajaxify_test/lib/assets/.gitkeep +0 -0
  47. data/spec/ajaxify_test/lib/tasks/.gitkeep +0 -0
  48. data/spec/ajaxify_test/public/404.html +26 -0
  49. data/spec/ajaxify_test/public/422.html +26 -0
  50. data/spec/ajaxify_test/public/500.html +25 -0
  51. data/spec/ajaxify_test/public/favicon.ico +0 -0
  52. data/spec/ajaxify_test/public/robots.txt +5 -0
  53. data/spec/ajaxify_test/script/rails +6 -0
  54. data/spec/integration/ajaxify_rails_spec.rb +167 -0
  55. data/spec/spec_helper.rb +86 -0
  56. data/vendor/assets/javascripts/ajaxify_rails.js.coffee +103 -88
  57. metadata +252 -5
@@ -0,0 +1,86 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper.rb"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ ENV["RAILS_ENV"] = 'test'
9
+ require_relative "ajaxify_test/config/environment"
10
+
11
+ require 'rspec/rails'
12
+ require 'rspec-steps'
13
+ require 'sqlite3'
14
+
15
+ require 'haml'
16
+
17
+ # Add this to load Capybara integration:
18
+ require 'capybara/rspec'
19
+ require 'capybara/rails'
20
+
21
+ # require 'capybara/poltergeist'
22
+
23
+ # Capybara.register_driver :poltergeist do |app|
24
+ # # Specifiying the phantomjs path only for RubyMine which fails to pick it up otherwise
25
+ # Capybara::Poltergeist::Driver.new(app, phantomjs: '/usr/local/bin/phantomjs') #, inspector: true
26
+ # end
27
+
28
+ # Capybara.javascript_driver = :poltergeist
29
+ # Capybara.current_driver = :poltergeist
30
+
31
+ Capybara.default_selector = :css
32
+ Capybara.default_wait_time = 3
33
+
34
+ RSpec.configure do |config|
35
+ config.treat_symbols_as_metadata_keys_with_true_values = true
36
+ #config.run_all_when_everything_filtered = true
37
+ config.include Capybara::DSL
38
+ end
39
+
40
+
41
+ def wait_until_gone css
42
+ page.should have_no_css(css)
43
+ end
44
+
45
+ def wait_for_ajaxify_loaded
46
+ wait_until_gone ".ajaxify_loader"
47
+ end
48
+
49
+ def click_browser_back_button
50
+ page.execute_script("window.history.back()")
51
+ end
52
+
53
+ def click_browser_forward_button
54
+ page.execute_script("window.history.forward()")
55
+ end
56
+
57
+ def ensure_layout_not_reloaded
58
+ find('body')['data-id'].to_s.should eq(@layout_id), "Layout has been reloaded but shouldn't"
59
+ end
60
+
61
+ def should_have_content content
62
+ page.should have_css('#main', text: content)
63
+ end
64
+
65
+ def should_have_notice notice
66
+ page.should have_css('#notice', text: notice)
67
+ end
68
+
69
+ def disable_push_state
70
+ page.execute_script("window.history.pushState = null;")
71
+ end
72
+
73
+ def current_hash
74
+ URI.parse(current_url).fragment.to_s
75
+ end
76
+
77
+ def hash_path_should_be path
78
+ current_hash.should == path
79
+ current_path.should == '/'
80
+ end
81
+
82
+ def push_state_path_should_be path
83
+ current_hash.should == ''
84
+ current_path.should == path
85
+ end
86
+
@@ -4,6 +4,7 @@ content_container = 'main'
4
4
  base_paths = null
5
5
  flash_types = ['notice']
6
6
  dont_correct_url = false
7
+ push_state_enabled = true
7
8
 
8
9
  ignore_hash_change = null
9
10
  load_page_from_hash = null
@@ -16,6 +17,10 @@ initial_history_state =
16
17
  base_path_regexp_cache = null
17
18
 
18
19
 
20
+ # --------------------------------------------------------------------------------------------------------------------
21
+ # public methods
22
+ # --------------------------------------------------------------------------------------------------------------------
23
+
19
24
  activate = (new_active = true) ->
20
25
  active = new_active
21
26
 
@@ -26,12 +31,20 @@ set_content_container = (new_content_container) ->
26
31
  content_container = new_content_container
27
32
 
28
33
 
29
- ajaxify = ->
34
+ init = (options = {}) ->
35
+ base_paths = options.base_paths if 'base_paths' of options
36
+ flash_types = options.flash_types if 'flash_types' of options
37
+ push_state_enabled = options.push_state_enabled if 'push_state_enabled' of options
38
+ active = options.active if 'active' of options
39
+ content_container = options.content_container if 'content_container' of options
40
+ correct_url() unless $('meta[name="ajaxify:dont_correct_url"]').length > 0
30
41
 
42
+
43
+ ajaxify = ->
31
44
  if active
32
45
 
33
- if Ajaxify.load_page_from_hash
34
- Ajaxify.load_page_from_hash = false
46
+ if load_page_from_hash
47
+ load_page_from_hash = false
35
48
  on_hash_change()
36
49
 
37
50
  protocol_and_hostname = "#{window.location.protocol}//#{window.location.hostname}"
@@ -65,7 +78,6 @@ ajaxify = ->
65
78
 
66
79
  false
67
80
 
68
-
69
81
  # (history interface browsers only)
70
82
  $(window).on 'popstate', (e) ->
71
83
  e = e.originalEvent
@@ -73,7 +85,6 @@ ajaxify = ->
73
85
  e.state.cache = false
74
86
  load e.state, true
75
87
 
76
-
77
88
  # (non history interface browsers only)
78
89
  window.onhashchange = ->
79
90
  unless ignore_hash_change
@@ -82,36 +93,8 @@ ajaxify = ->
82
93
  ignore_hash_change = false
83
94
 
84
95
 
85
- base_path_regexp = ->
86
- return null unless base_paths
87
- return base_path_regexp_cache if base_path_regexp_cache
88
- # match starting and ending with base path, e.g. "^\/en$" (i.e. we are at the base path root) or
89
- # starting with base path and continuing with '/', e.g. "^\/en\/" (i.e. we are NOT at the base path root) or
90
- # starting with base path and continuing with '?', e.g. "^\/en\?" (i.e. we are at the base path root and have query params)
91
- base_path_regexp_cache = new RegExp("^\/(#{ $.map(base_paths, (el) ->
92
- el = regexp_escape el
93
- "#{el}($|\/|\\?)"
94
- ).join('|')})", 'i')
95
-
96
-
97
- # load content from url hash (non history interface browsers)
98
- on_hash_change = ->
99
- url = window.location.hash.replace(/#/, "")
100
-
101
- if match = window.location.pathname.match(base_path_regexp())
102
- url = match[0] + url
103
-
104
- url = '/' if url == ''
105
- hash_changed = true
106
-
107
- load
108
- url: url
109
- , true
110
-
111
-
112
96
  load = (options, pop_state = false) ->
113
-
114
- unless Ajaxify.load_page_from_hash
97
+ unless load_page_from_hash
115
98
 
116
99
  data = options.data || { ajaxified: true }
117
100
 
@@ -145,44 +128,9 @@ load = (options, pop_state = false) ->
145
128
  on_ajaxify_success data, status, jqXHR, pop_state, options
146
129
 
147
130
 
148
- show_flashes = (flashes) ->
149
- $.each flash_types, ->
150
- if flashes and flashes[this]
151
- $("##{this}").html flashes[this]
152
- $("##{this}").show()
153
- $(document).trigger 'ajaxify:flash_displayed', [this]
154
-
155
- else
156
- $("##{this}").hide()
157
-
158
-
159
- on_ajaxify_success = (data, status, jqXHR, pop_state, options) ->
160
-
161
- $("##{content_container}").html data
162
-
163
- title = $('#ajaxify_content').data('page-title')
164
- flashes = $('#ajaxify_content').data('flashes')
165
-
166
- # Correct the url after a redirect and when it has the ajaxify param in it.
167
- # The latter can happen e.g. for pagination links that are auto generated.
168
- current_url = $('#ajaxify_content #ajaxify_location').html()
169
- if options.url != current_url
170
- options.url = current_url.replace(/(&|&|\?)ajaxify_redirect=true/,'')
171
- options.type = 'GET'
172
-
173
- update_url options, pop_state
174
-
175
- $(document).trigger 'ajaxify:content_inserted'
176
-
177
- $("##{content_container} #ajaxify_content").remove()
178
-
179
- if title
180
- document.title = title.replace /&/, '&' # Todo: need to figure out what else needs to be unescaped
181
-
182
- show_flashes(flashes)
183
-
184
- $(document).trigger('ajaxify:content_loaded', [data, status, jqXHR, options.url])
185
-
131
+ # --------------------------------------------------------------------------------------------------------------------
132
+ # private methods
133
+ # --------------------------------------------------------------------------------------------------------------------
186
134
 
187
135
  update_url = (options, pop_state = false) ->
188
136
 
@@ -191,7 +139,7 @@ update_url = (options, pop_state = false) ->
191
139
  # unless back/forward arrowing or request method is not 'get'
192
140
  if !pop_state and get_request
193
141
 
194
- if window.history.pushState
142
+ if push_state()
195
143
 
196
144
  if initial_history_state != ''
197
145
  window.history.replaceState initial_history_state, ''
@@ -216,15 +164,41 @@ update_url = (options, pop_state = false) ->
216
164
  window.location.hash = hash
217
165
 
218
166
 
167
+ on_ajaxify_success = (data, status, jqXHR, pop_state, options) ->
168
+
169
+ $("##{content_container}").html data
170
+
171
+ title = $('#ajaxify_content').data('page-title')
172
+ flashes = $('#ajaxify_content').data('flashes')
173
+
174
+ # Correct the url after a redirect and when it has the ajaxify param in it.
175
+ # The latter can happen e.g. for pagination links that are auto generated.
176
+ current_url = $('#ajaxify_content #ajaxify_location').html()
177
+ if options.url != current_url
178
+ options.url = current_url.replace(/(&|&|\?)ajaxify_redirect=true/,'')
179
+ options.type = 'GET'
180
+
181
+ update_url options, pop_state
182
+
183
+ $(document).trigger 'ajaxify:content_inserted'
184
+
185
+ $("##{content_container} #ajaxify_content").remove()
186
+
187
+ if title
188
+ document.title = title.replace /&/, '&' # Todo: need to figure out what else needs to be unescaped
189
+
190
+ show_flashes(flashes)
191
+
192
+ $(document).trigger('ajaxify:content_loaded', [data, status, jqXHR, options.url])
193
+
194
+
219
195
  correct_url = ->
220
196
  if active
221
-
222
197
  if window.location.hash.indexOf('#') == 0 # if url has a '#' in it treat it as a non history interface hash based scheme url
223
-
224
198
  return unless window.location.hash.match(/^#(\/|\?)/) # check hash format
225
199
 
226
- if !window.history.pushState
227
- Ajaxify.load_page_from_hash = true # notify Ajaxify that a hash will be loaded and ignore all other calls to load until hash url is loaded
200
+ if !push_state()
201
+ load_page_from_hash = true # notify Ajaxify that a hash will be loaded and ignore all other calls to load until hash url is loaded
228
202
  else
229
203
  # load proper url in case browser supports history api
230
204
  path = window.location.pathname
@@ -232,8 +206,7 @@ correct_url = ->
232
206
  path = path + window.location.hash.replace(/#/, "")
233
207
  window.location.href = "#{protocol_with_host()}#{path}"
234
208
 
235
- else if !window.history.pushState # move path behind '#' for browsers without history api
236
-
209
+ else if !push_state() # move path behind '#' for browsers without history api
237
210
  if base_path_regexp() and (match = window.location.pathname.match(base_path_regexp()))
238
211
  if match[0] == window.location.pathname
239
212
  if window.location.search == ''
@@ -251,30 +224,72 @@ correct_url = ->
251
224
 
252
225
  window.location.href = "#{protocol_with_host()}#{path}#{window.location.search}"
253
226
 
254
- init = (options = {}) ->
255
- base_paths = options.base_paths if 'base_paths' of options
256
- flash_types = options.flash_types if 'flash_types' of options
257
- active = options.active if 'active' of options
258
- content_container = options.content_container if 'content_container' of options
259
- correct_url() unless $('meta[name="ajaxify:dont_correct_url"]').length > 0
260
227
 
261
- #
262
- # utility functions
263
- #
228
+ show_flashes = (flashes) ->
229
+ $.each flash_types, ->
230
+ if flashes and flashes[this]
231
+ $("##{this}").html flashes[this]
232
+ $("##{this}").show()
233
+ $(document).trigger 'ajaxify:flash_displayed', [this]
234
+
235
+ else
236
+ $("##{this}").hide()
237
+
238
+
239
+ # load content from url hash (non history interface browsers)
240
+ on_hash_change = ->
241
+ url = window.location.hash.replace(/#/, "")
242
+
243
+ if match = window.location.pathname.match(base_path_regexp())
244
+ url = match[0] + url
245
+
246
+ url = '/' if url == ''
247
+ hash_changed = true
248
+
249
+ load
250
+ url: url
251
+ , true
252
+
253
+
254
+ base_path_regexp = ->
255
+ return null unless base_paths
256
+ return base_path_regexp_cache if base_path_regexp_cache
257
+ # match starting and ending with base path, e.g. "^\/en$" (i.e. we are at the base path root) or
258
+ # starting with base path and continuing with '/', e.g. "^\/en\/" (i.e. we are NOT at the base path root) or
259
+ # starting with base path and continuing with '?', e.g. "^\/en\?" (i.e. we are at the base path root and have query params)
260
+ base_path_regexp_cache = new RegExp("^\/(#{ $.map(base_paths, (el) ->
261
+ el = regexp_escape el
262
+ "#{el}($|\/|\\?)"
263
+ ).join('|')})", 'i')
264
+
264
265
 
265
266
  is_string = (variable) ->
266
267
  Object.prototype.toString.call(variable) == '[object String]'
267
268
 
269
+
268
270
  regexp_escape = (str) ->
269
271
  str.replace new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]', 'g'), '\\$&'
270
272
 
273
+
271
274
  protocol_with_host = ->
272
275
  loc = window.location
273
276
  "#{loc.protocol}//#{loc.host}"
274
277
 
275
278
 
279
+ push_state = ->
280
+ push_state_enabled and window.history.pushState
281
+
282
+
283
+ # --------------------------------------------------------------------------------------------------------------------
284
+ # public interface
285
+ # --------------------------------------------------------------------------------------------------------------------
286
+
276
287
  @Ajaxify = { init, ajaxify, load, update_url, activate, set_content_container, get_content_container }
277
288
 
278
289
 
290
+ # --------------------------------------------------------------------------------------------------------------------
291
+ # ajaxify page on dom ready
292
+ # --------------------------------------------------------------------------------------------------------------------
293
+
279
294
  jQuery ->
280
295
  Ajaxify.ajaxify()
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ajaxify_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: '0.5'
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: 2013-02-06 00:00:00.000000000 Z
12
+ date: 2013-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -27,6 +27,150 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 3.1.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: jquery-rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec-rails
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: '2.9'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: '2.9'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec-steps
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: capybara
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: selenium-webdriver
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: 2.30.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 2.30.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: sqlite3
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: haml
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 3.1.5
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 3.1.5
142
+ - !ruby/object:Gem::Dependency
143
+ name: sass-rails
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: 3.2.3
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 3.2.3
158
+ - !ruby/object:Gem::Dependency
159
+ name: coffee-rails
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: 3.2.1
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 3.2.1
30
174
  description: ! "Automatically makes your Rails app loading content in the background
31
175
  via ajax. Works by turning all internal links into\n ajax
32
176
  links that trigger an update of the page's content area. Also form submissions are
@@ -43,6 +187,8 @@ extensions: []
43
187
  extra_rdoc_files: []
44
188
  files:
45
189
  - .gitignore
190
+ - .rspec
191
+ - .travis.yml
46
192
  - Gemfile
47
193
  - LICENSE
48
194
  - README.md
@@ -51,6 +197,54 @@ files:
51
197
  - lib/ajaxify_rails.rb
52
198
  - lib/ajaxify_rails/action_controller_additions.rb
53
199
  - lib/ajaxify_rails/version.rb
200
+ - spec/ajaxify_test/Rakefile
201
+ - spec/ajaxify_test/app/assets/images/ajax-loader-y.gif
202
+ - spec/ajaxify_test/app/assets/images/ajax-loader.gif
203
+ - spec/ajaxify_test/app/assets/javascripts/application.js
204
+ - spec/ajaxify_test/app/assets/javascripts/home.js.coffee
205
+ - spec/ajaxify_test/app/assets/javascripts/main.js.coffee
206
+ - spec/ajaxify_test/app/assets/stylesheets/application.css
207
+ - spec/ajaxify_test/app/assets/stylesheets/home.css.scss
208
+ - spec/ajaxify_test/app/controllers/application_controller.rb
209
+ - spec/ajaxify_test/app/controllers/home_controller.rb
210
+ - spec/ajaxify_test/app/helpers/application_helper.rb
211
+ - spec/ajaxify_test/app/helpers/home_helper.rb
212
+ - spec/ajaxify_test/app/mailers/.gitkeep
213
+ - spec/ajaxify_test/app/models/.gitkeep
214
+ - spec/ajaxify_test/app/views/home/index.html.haml
215
+ - spec/ajaxify_test/app/views/home/page1.html.haml
216
+ - spec/ajaxify_test/app/views/home/page2.html.haml
217
+ - spec/ajaxify_test/app/views/home/page3.html.haml
218
+ - spec/ajaxify_test/app/views/layouts/application.html.haml
219
+ - spec/ajaxify_test/config.ru
220
+ - spec/ajaxify_test/config/application.rb
221
+ - spec/ajaxify_test/config/boot.rb
222
+ - spec/ajaxify_test/config/database.yml
223
+ - spec/ajaxify_test/config/environment.rb
224
+ - spec/ajaxify_test/config/environments/development.rb
225
+ - spec/ajaxify_test/config/environments/production.rb
226
+ - spec/ajaxify_test/config/environments/test.rb
227
+ - spec/ajaxify_test/config/initializers/backtrace_silencers.rb
228
+ - spec/ajaxify_test/config/initializers/inflections.rb
229
+ - spec/ajaxify_test/config/initializers/mime_types.rb
230
+ - spec/ajaxify_test/config/initializers/secret_token.rb
231
+ - spec/ajaxify_test/config/initializers/session_store.rb
232
+ - spec/ajaxify_test/config/initializers/wrap_parameters.rb
233
+ - spec/ajaxify_test/config/locales/en.yml
234
+ - spec/ajaxify_test/config/routes.rb
235
+ - spec/ajaxify_test/db/development.sqlite3
236
+ - spec/ajaxify_test/db/seeds.rb
237
+ - spec/ajaxify_test/db/test.sqlite3
238
+ - spec/ajaxify_test/lib/assets/.gitkeep
239
+ - spec/ajaxify_test/lib/tasks/.gitkeep
240
+ - spec/ajaxify_test/public/404.html
241
+ - spec/ajaxify_test/public/422.html
242
+ - spec/ajaxify_test/public/500.html
243
+ - spec/ajaxify_test/public/favicon.ico
244
+ - spec/ajaxify_test/public/robots.txt
245
+ - spec/ajaxify_test/script/rails
246
+ - spec/integration/ajaxify_rails_spec.rb
247
+ - spec/spec_helper.rb
54
248
  - vendor/assets/javascripts/ajaxify_rails.js.coffee
55
249
  homepage: https://github.com/ncri/ajaxify_rails
56
250
  licenses: []
@@ -64,18 +258,71 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
258
  - - ! '>='
65
259
  - !ruby/object:Gem::Version
66
260
  version: '0'
261
+ segments:
262
+ - 0
263
+ hash: 1291222513041922099
67
264
  required_rubygems_version: !ruby/object:Gem::Requirement
68
265
  none: false
69
266
  requirements:
70
267
  - - ! '>='
71
268
  - !ruby/object:Gem::Version
72
269
  version: '0'
270
+ segments:
271
+ - 0
272
+ hash: 1291222513041922099
73
273
  requirements: []
74
274
  rubyforge_project:
75
- rubygems_version: 1.8.24
275
+ rubygems_version: 1.8.25
76
276
  signing_key:
77
277
  specification_version: 3
78
278
  summary: Rails gem for automatically turning internal links/forms into ajax links/forms
79
279
  that load content without a full page reload.
80
- test_files: []
81
- has_rdoc:
280
+ test_files:
281
+ - spec/ajaxify_test/Rakefile
282
+ - spec/ajaxify_test/app/assets/images/ajax-loader-y.gif
283
+ - spec/ajaxify_test/app/assets/images/ajax-loader.gif
284
+ - spec/ajaxify_test/app/assets/javascripts/application.js
285
+ - spec/ajaxify_test/app/assets/javascripts/home.js.coffee
286
+ - spec/ajaxify_test/app/assets/javascripts/main.js.coffee
287
+ - spec/ajaxify_test/app/assets/stylesheets/application.css
288
+ - spec/ajaxify_test/app/assets/stylesheets/home.css.scss
289
+ - spec/ajaxify_test/app/controllers/application_controller.rb
290
+ - spec/ajaxify_test/app/controllers/home_controller.rb
291
+ - spec/ajaxify_test/app/helpers/application_helper.rb
292
+ - spec/ajaxify_test/app/helpers/home_helper.rb
293
+ - spec/ajaxify_test/app/mailers/.gitkeep
294
+ - spec/ajaxify_test/app/models/.gitkeep
295
+ - spec/ajaxify_test/app/views/home/index.html.haml
296
+ - spec/ajaxify_test/app/views/home/page1.html.haml
297
+ - spec/ajaxify_test/app/views/home/page2.html.haml
298
+ - spec/ajaxify_test/app/views/home/page3.html.haml
299
+ - spec/ajaxify_test/app/views/layouts/application.html.haml
300
+ - spec/ajaxify_test/config.ru
301
+ - spec/ajaxify_test/config/application.rb
302
+ - spec/ajaxify_test/config/boot.rb
303
+ - spec/ajaxify_test/config/database.yml
304
+ - spec/ajaxify_test/config/environment.rb
305
+ - spec/ajaxify_test/config/environments/development.rb
306
+ - spec/ajaxify_test/config/environments/production.rb
307
+ - spec/ajaxify_test/config/environments/test.rb
308
+ - spec/ajaxify_test/config/initializers/backtrace_silencers.rb
309
+ - spec/ajaxify_test/config/initializers/inflections.rb
310
+ - spec/ajaxify_test/config/initializers/mime_types.rb
311
+ - spec/ajaxify_test/config/initializers/secret_token.rb
312
+ - spec/ajaxify_test/config/initializers/session_store.rb
313
+ - spec/ajaxify_test/config/initializers/wrap_parameters.rb
314
+ - spec/ajaxify_test/config/locales/en.yml
315
+ - spec/ajaxify_test/config/routes.rb
316
+ - spec/ajaxify_test/db/development.sqlite3
317
+ - spec/ajaxify_test/db/seeds.rb
318
+ - spec/ajaxify_test/db/test.sqlite3
319
+ - spec/ajaxify_test/lib/assets/.gitkeep
320
+ - spec/ajaxify_test/lib/tasks/.gitkeep
321
+ - spec/ajaxify_test/public/404.html
322
+ - spec/ajaxify_test/public/422.html
323
+ - spec/ajaxify_test/public/500.html
324
+ - spec/ajaxify_test/public/favicon.ico
325
+ - spec/ajaxify_test/public/robots.txt
326
+ - spec/ajaxify_test/script/rails
327
+ - spec/integration/ajaxify_rails_spec.rb
328
+ - spec/spec_helper.rb