nomo 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/nomo/page.rb CHANGED
@@ -21,6 +21,7 @@ module Nomo
21
21
  @last_modified = Time.now.utc
22
22
 
23
23
  redis.set(key, @last_modified)
24
+ redis.publish 'updates', key
24
25
  end
25
26
 
26
27
  def cache_key
data/lib/nomo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nomo
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/nomo.rb CHANGED
@@ -10,6 +10,13 @@ module Nomo
10
10
  autoload :ConditionalGet, 'nomo/conditional_get'
11
11
  autoload :Helpers, 'nomo/helpers'
12
12
 
13
+ ##
14
+ # Nomo WebSocket server
15
+ #
16
+ # Accepts:
17
+ # 1. A 'hostname:port' String
18
+ attr_accessor :server
19
+
13
20
  ##
14
21
  # Accepts:
15
22
  # 1. A 'hostname:port' String
@@ -0,0 +1,32 @@
1
+ $ ->
2
+
3
+ ##
4
+ # Vars
5
+
6
+ nomoKey = null
7
+ connection = new WebSocket('ws://<%= Nomo.server ? Nomo.server : request.host %>', 'nomo')
8
+
9
+ ##
10
+ # WebSocket Connection
11
+
12
+ connection.onopen = ->
13
+ if nomoKey
14
+ connection.send(nomoKey)
15
+ else
16
+ $.ajax(
17
+ type: 'HEAD',
18
+ url: document.location.pathname
19
+ )
20
+
21
+ connection.onmessage = ->
22
+ $(document).trigger('nomo:update')
23
+
24
+ ##
25
+ # ajaxComplete
26
+
27
+ $(document).bind 'ajaxComplete', (event, xhr, options) ->
28
+ nomoKeyHeader = xhr.getResponseHeader('X-Nomo-Key')
29
+
30
+ if nomoKeyHeader && nomoKeyHeader != nomoKey
31
+ nomoKey = nomoKeyHeader
32
+ connection.send(nomoKey)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nomo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-21 00:00:00.000000000 Z
12
+ date: 2012-06-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
16
- requirement: &70098459256180 !ruby/object:Gem::Requirement
16
+ requirement: &70207578900420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70098459256180
24
+ version_requirements: *70207578900420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: redis-namespace
27
- requirement: &70098459255260 !ruby/object:Gem::Requirement
27
+ requirement: &70207578899580 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70098459255260
35
+ version_requirements: *70207578899580
36
36
  description: 304 Not Modified Headers made easy.
37
37
  email:
38
38
  - sausman@stackd.com
@@ -53,7 +53,7 @@ files:
53
53
  - lib/nomo/rails/engine.rb
54
54
  - lib/nomo/version.rb
55
55
  - nomo.gemspec
56
- - vendor/assets/javascripts/nomo.js.coffee
56
+ - vendor/assets/javascripts/nomo.js.coffee.erb
57
57
  homepage: https://github.com/stackd/nomo
58
58
  licenses: []
59
59
  post_install_message:
File without changes