mem_mappr 0.0.0.beta1 → 0.0.1
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.
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/mem_mappr/config.rb +16 -7
- data/lib/mem_mappr/sanitizr.rb +0 -0
- data/lib/mem_mappr.rb +34 -27
- data/mem_mappr.gemspec +9 -5
- data/{init.rb → rails/init.rb} +5 -3
- metadata +22 -12
- /data/{defaults → config}/memcache.yml +0 -0
data/Rakefile
CHANGED
@@ -11,6 +11,7 @@ begin
|
|
11
11
|
gem.homepage = "http://github.com/plukevdh/mem_mappr"
|
12
12
|
gem.authors = ["Luke van der Hoeven"]
|
13
13
|
gem.add_development_dependency "memcache-client", ">= 0"
|
14
|
+
gem.add_development_dependency "yaml", ">= 0"
|
14
15
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
15
16
|
end
|
16
17
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.1
|
data/lib/mem_mappr/config.rb
CHANGED
@@ -1,13 +1,22 @@
|
|
1
1
|
module MemMappr
|
2
2
|
module Config
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
class << self
|
4
|
+
def setup
|
5
|
+
unless File.exists? config_file = File.join('config', 'memcache.yml')
|
6
|
+
error = "Looks like you don't have a config file. Please add one to the Rails.root/config folder before continuing."
|
7
|
+
puts error
|
8
|
+
logger.info error
|
9
|
+
exit!
|
10
|
+
end
|
11
|
+
|
12
|
+
options = YAML.load_file(config_file)
|
13
|
+
|
14
|
+
setup = options["defaults"]
|
15
|
+
|
16
|
+
return CACHE if Object.const_defined?(:CACHE)
|
17
|
+
Object.const_set :CACHE, MemCache.new(setup['servers'])
|
18
|
+
CACHE
|
8
19
|
end
|
9
|
-
|
10
|
-
CACHE
|
11
20
|
end
|
12
21
|
end
|
13
22
|
end
|
File without changes
|
data/lib/mem_mappr.rb
CHANGED
@@ -1,43 +1,50 @@
|
|
1
|
+
require 'memcache'
|
2
|
+
require 'yaml'
|
3
|
+
|
1
4
|
require 'mem_mappr/config'
|
2
5
|
|
3
6
|
module MemMappr
|
4
7
|
@@config = {}
|
5
|
-
|
8
|
+
attr_reader :config
|
6
9
|
|
7
10
|
class << self
|
8
11
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
+
def setup
|
13
|
+
@@config = Config.setup
|
14
|
+
end
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
def map(name, object)
|
17
|
+
CACHE.set name, srlz(object)
|
18
|
+
end
|
16
19
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
def map_array(name, objects)
|
23
|
-
CACHE.set = name, objects.map{|obj| srlz(obj)}
|
24
|
-
end
|
20
|
+
def unmap(name)
|
21
|
+
data = CACHE.get name
|
22
|
+
object = de_srlz(data)
|
23
|
+
end
|
25
24
|
|
26
|
-
|
27
|
-
|
28
|
-
object_array = []
|
29
|
-
data.each do |object|
|
30
|
-
object_array << de_srlz(object)
|
25
|
+
def map_array(name, objects)
|
26
|
+
CACHE.set name, objects.map{|obj| srlz(obj)}
|
31
27
|
end
|
28
|
+
|
29
|
+
def unmap_array(name)
|
30
|
+
data = CACHE.get name
|
31
|
+
object_array = []
|
32
|
+
data.each do |object|
|
33
|
+
object_array << de_srlz(object)
|
34
|
+
end
|
32
35
|
|
33
|
-
|
34
|
-
|
36
|
+
object_array
|
37
|
+
end
|
35
38
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
+
private
|
40
|
+
|
41
|
+
def srlz(data)
|
42
|
+
{:class => data.class, :data => data.to_json}
|
43
|
+
end
|
39
44
|
|
40
|
-
|
41
|
-
|
45
|
+
def de_srlz(data)
|
46
|
+
obj = eval("#{data[:class]}.new")
|
47
|
+
obj.from_json(data[:data])
|
48
|
+
end
|
42
49
|
end
|
43
50
|
end
|
data/mem_mappr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mem_mappr}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.1"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Luke van der Hoeven"]
|
12
|
-
s.date = %q{2010-06-
|
12
|
+
s.date = %q{2010-06-10}
|
13
13
|
s.description = %q{This is a simple way to memcache ActiveRecord objects, mostly by serializing them into objects that memcache can understand.}
|
14
14
|
s.email = %q{hungerandthirst@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -24,11 +24,12 @@ Gem::Specification.new do |s|
|
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
26
|
"cli.rb",
|
27
|
-
"
|
28
|
-
"init.rb",
|
27
|
+
"config/memcache.yml",
|
29
28
|
"lib/mem_mappr.rb",
|
30
29
|
"lib/mem_mappr/config.rb",
|
30
|
+
"lib/mem_mappr/sanitizr.rb",
|
31
31
|
"mem_mappr.gemspec",
|
32
|
+
"rails/init.rb",
|
32
33
|
"test/helper.rb",
|
33
34
|
"test/test_mem_mappr.rb"
|
34
35
|
]
|
@@ -48,11 +49,14 @@ Gem::Specification.new do |s|
|
|
48
49
|
|
49
50
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
50
51
|
s.add_development_dependency(%q<memcache-client>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<yaml>, [">= 0"])
|
51
53
|
else
|
52
54
|
s.add_dependency(%q<memcache-client>, [">= 0"])
|
55
|
+
s.add_dependency(%q<yaml>, [">= 0"])
|
53
56
|
end
|
54
57
|
else
|
55
58
|
s.add_dependency(%q<memcache-client>, [">= 0"])
|
59
|
+
s.add_dependency(%q<yaml>, [">= 0"])
|
56
60
|
end
|
57
61
|
end
|
58
62
|
|
data/{init.rb → rails/init.rb}
RENAMED
@@ -1,15 +1,17 @@
|
|
1
|
+
require 'mem_mappr'
|
2
|
+
|
1
3
|
begin
|
2
4
|
require 'memcache'
|
3
5
|
rescue LoadError
|
4
6
|
end
|
5
7
|
|
6
|
-
unless File.exists? config_file = File.join(
|
8
|
+
unless File.exists? config_file = File.join('config', 'memcache.yml')
|
7
9
|
error = "Looks like you don't have a config file. Please add one to the Rails.root/config folder before continuing."
|
8
10
|
puts error
|
9
|
-
|
11
|
+
logger.info error
|
10
12
|
exit!
|
11
13
|
end
|
12
14
|
|
13
15
|
MemMappr.config = YAML.load_file(config_file)
|
14
|
-
|
16
|
+
logger.info "Loaded mem_mappr"
|
15
17
|
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mem_mappr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
4
|
+
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 0.0.0.beta1
|
8
|
+
- 1
|
9
|
+
version: 0.0.1
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Luke van der Hoeven
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-06-
|
17
|
+
date: 2010-06-10 00:00:00 -04:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -30,6 +29,18 @@ dependencies:
|
|
30
29
|
version: "0"
|
31
30
|
type: :development
|
32
31
|
version_requirements: *id001
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: yaml
|
34
|
+
prerelease: false
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
segments:
|
40
|
+
- 0
|
41
|
+
version: "0"
|
42
|
+
type: :development
|
43
|
+
version_requirements: *id002
|
33
44
|
description: This is a simple way to memcache ActiveRecord objects, mostly by serializing them into objects that memcache can understand.
|
34
45
|
email: hungerandthirst@gmail.com
|
35
46
|
executables: []
|
@@ -47,11 +58,12 @@ files:
|
|
47
58
|
- Rakefile
|
48
59
|
- VERSION
|
49
60
|
- cli.rb
|
50
|
-
-
|
51
|
-
- init.rb
|
61
|
+
- config/memcache.yml
|
52
62
|
- lib/mem_mappr.rb
|
53
63
|
- lib/mem_mappr/config.rb
|
64
|
+
- lib/mem_mappr/sanitizr.rb
|
54
65
|
- mem_mappr.gemspec
|
66
|
+
- rails/init.rb
|
55
67
|
- test/helper.rb
|
56
68
|
- test/test_mem_mappr.rb
|
57
69
|
has_rdoc: true
|
@@ -72,13 +84,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
84
|
version: "0"
|
73
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
86
|
requirements:
|
75
|
-
- - "
|
87
|
+
- - ">="
|
76
88
|
- !ruby/object:Gem::Version
|
77
89
|
segments:
|
78
|
-
-
|
79
|
-
|
80
|
-
- 1
|
81
|
-
version: 1.3.1
|
90
|
+
- 0
|
91
|
+
version: "0"
|
82
92
|
requirements: []
|
83
93
|
|
84
94
|
rubyforge_project:
|
File without changes
|