praktiz-redis 0.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6dd5070adc1d1a3194e5616dfb8d0958c9118479
4
+ data.tar.gz: f2abe25661972fa9302f0253c11ec7a3ecab17a0
5
+ SHA512:
6
+ metadata.gz: 5da2262985cd70ae9c71d1f1cff8b4a03e06bca91ee58727ce3ded97626fd86a734975155fd00a5f4b92521ddb902dd900870a62e564a72a6ee83d584261bf16
7
+ data.tar.gz: 8f321c6d6eb6b6cc1b2fd3e9dba92c31b88e47579a329e9a0b417d60cd05ed5e757141c965b224009a749763090131585a762440efa4ac9a4e2f515cbadf9e5d
@@ -0,0 +1 @@
1
+ require 'praktiz-redis/base'
@@ -0,0 +1,57 @@
1
+ require "redis"
2
+
3
+ module Praktiz
4
+ module Persistence
5
+ class DS
6
+
7
+ Praktiz::Env.register do
8
+ attr_accessor :id
9
+ end
10
+
11
+ @@redis = Redis.new
12
+
13
+ def initialize app
14
+ @app = app
15
+ @id = Praktiz::Env.id
16
+ end
17
+
18
+ def call(env)
19
+ p "Praktiz::Persistence::DS instance id = " + @id.to_s
20
+ if exists? @id
21
+ env[:praktiz] = DS.load @id
22
+ p 'resotred' + env[:praktiz].to_s
23
+ else
24
+ p 'new obj from Praktiz::Env class'
25
+ env[:praktiz] = Praktiz::Env.new
26
+ env[:praktiz].id = @id
27
+ p "env[:praktiz].id equals " + env[:praktiz].id.to_s
28
+ end
29
+ @app.call(env)
30
+ DS.store env[:praktiz]
31
+ p "stored " + env[:praktiz].to_s
32
+ end
33
+
34
+ def DS.store obj
35
+ begin
36
+ @praktiz_env = Marshal.dump obj
37
+ @@redis.set(obj.id, @praktiz_env)
38
+ ensure
39
+ p "storing praktiz Env " + obj.to_s
40
+ end
41
+ end
42
+ def DS.load id
43
+ return Marshal.load (@@redis.get(id))
44
+ end
45
+
46
+ def exists? id
47
+ if (@@redis.get id) && (Marshal.load @@redis.get id)
48
+ p "Praktiz::Persistence::DS.exists? true"
49
+ return true
50
+ else
51
+ p "Praktiz::Persistence::DS.exists? false"
52
+ return false
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: praktiz-redis
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.pre1
5
+ platform: ruby
6
+ authors:
7
+ - ''
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ''
14
+ email:
15
+ - ''
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/praktiz-redis.rb
21
+ - lib/praktiz-redis/base.rb
22
+ homepage: ''
23
+ licenses:
24
+ - ''
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">"
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.1
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.2.2
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: ''
46
+ test_files: []