praktiz-redis 0.0.0.pre1

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.
@@ -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: []