noodles 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/cli/template/config/setup.rb +1 -0
- data/lib/noodles/http/controller.rb +1 -1
- data/lib/noodles/memcached_session.rb +44 -0
- data/lib/noodles/version.rb +1 -1
- data/lib/noodles/websocket/handler.rb +8 -11
- data/lib/noodles.rb +2 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77dea08d283195f08a4216f683833c5151ac76d0
|
4
|
+
data.tar.gz: bf824b114fcf8e4c33092a6b9ec7b85db7a3b5c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17e06e1c394343d1e75193645b49e430ff1563092210b0b5b2d30bf50862bbc0f1112cbc296bcab81c9f72ae02ff78046f73e67a7c18ce6fe72a925f5f9604de
|
7
|
+
data.tar.gz: f0c55f8b9b2699c412a2a4b0ac97035b27d446e8747d5b09e6bf073ec5e813c47efd7ebe3885f7c5bcf1fd4845a776c730a420591ef473fd4cfb4011d35666db
|
@@ -14,7 +14,7 @@ module Noodles
|
|
14
14
|
@routing_params = {}
|
15
15
|
@request = Rack::Request.new(env)
|
16
16
|
@response = Rack::Response.new([], 200, {'Content-Type' => 'text/html'})
|
17
|
-
@session = @env['rack.session']
|
17
|
+
@session = Noodles.use_memached_as_session_storage ? Noodles::MemcachedSession.new(env) : @env['rack.session']
|
18
18
|
end
|
19
19
|
|
20
20
|
def text(textual_response)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Noodles
|
2
|
+
class MemcachedSession
|
3
|
+
|
4
|
+
def initialize(env)
|
5
|
+
@env = env
|
6
|
+
end
|
7
|
+
|
8
|
+
def session_id
|
9
|
+
@env['rack.session']['init'] = true unless @env['rack.session'].loaded?
|
10
|
+
@env['rack.session']['session_id']
|
11
|
+
end
|
12
|
+
|
13
|
+
def [](key)
|
14
|
+
_internal_session_storage[key]
|
15
|
+
end
|
16
|
+
|
17
|
+
def []=(key, value)
|
18
|
+
session_data = _internal_session_storage
|
19
|
+
session_data[key] = value
|
20
|
+
Noodles.cache.set(session_id, session_data)
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(key)
|
24
|
+
session_data = _internal_session_storage
|
25
|
+
session_data.delete(key)
|
26
|
+
Noodles.cache.set(session_id, session_data)
|
27
|
+
end
|
28
|
+
|
29
|
+
def inspect
|
30
|
+
_internal_session_storage
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def _internal_session_storage
|
36
|
+
session_data = Noodles.cache.get(session_id)
|
37
|
+
if session_data.nil?
|
38
|
+
session_data = {}
|
39
|
+
Noodles.cache.set(session_id, session_data)
|
40
|
+
end
|
41
|
+
session_data
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/noodles/version.rb
CHANGED
@@ -6,19 +6,16 @@ module Noodles
|
|
6
6
|
|
7
7
|
@@connections ||= []
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
# end
|
12
|
-
|
13
|
-
def add_connection handler
|
14
|
-
@@connections << handler
|
9
|
+
def register_connection!
|
10
|
+
@@connections << self
|
15
11
|
end
|
16
12
|
|
17
|
-
|
18
|
-
|
19
|
-
@@connections.delete handler
|
13
|
+
def unregister_connection!
|
14
|
+
@@connections.delete self
|
20
15
|
end
|
21
16
|
|
17
|
+
alias_method :deregister_method!, :unregister_connection!
|
18
|
+
|
22
19
|
def broadcast msg
|
23
20
|
@@connections.each do |connection|
|
24
21
|
connection.send_data msg
|
@@ -39,8 +36,8 @@ module Noodles
|
|
39
36
|
request(env).params
|
40
37
|
end
|
41
38
|
|
42
|
-
def
|
43
|
-
|
39
|
+
def session
|
40
|
+
@session
|
44
41
|
end
|
45
42
|
end
|
46
43
|
end
|
data/lib/noodles.rb
CHANGED
@@ -4,6 +4,7 @@ require 'noodles/utils'
|
|
4
4
|
require 'noodles/application'
|
5
5
|
require 'noodles/environment'
|
6
6
|
require 'noodles/cache'
|
7
|
+
require 'noodles/memcached_session'
|
7
8
|
require 'multi_json'
|
8
9
|
|
9
10
|
module Noodles
|
@@ -48,6 +49,6 @@ module Noodles
|
|
48
49
|
yield self
|
49
50
|
end
|
50
51
|
|
51
|
-
attr_accessor :cache_store_name
|
52
|
+
attr_accessor :cache_store_name, :use_memached_as_session_storage
|
52
53
|
end
|
53
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noodles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damir Svrtan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -274,6 +274,7 @@ files:
|
|
274
274
|
- lib/noodles/http/errors/no_router_error.rb
|
275
275
|
- lib/noodles/http/router.rb
|
276
276
|
- lib/noodles/http/view.rb
|
277
|
+
- lib/noodles/memcached_session.rb
|
277
278
|
- lib/noodles/utils.rb
|
278
279
|
- lib/noodles/version.rb
|
279
280
|
- lib/noodles/websocket/application.rb
|