mem_mappr 0.0.0.beta1 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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.0.beta1
1
+ 0.0.1
@@ -1,13 +1,22 @@
1
1
  module MemMappr
2
2
  module Config
3
- def set(options)
4
- return CACHE if Object.const_defined?(:CACHE)
5
-
6
- silence_warnings do
7
- Object.const_set :CACHE, MemCache.new(options['servers'])
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
- mattr_reader :config
8
+ attr_reader :config
6
9
 
7
10
  class << self
8
11
 
9
- def config=(options)
10
- @@config = Config.set(options)
11
- end
12
+ def setup
13
+ @@config = Config.setup
14
+ end
12
15
 
13
- def map(name, object)
14
- CACHE.set name, srlz(object)
15
- end
16
+ def map(name, object)
17
+ CACHE.set name, srlz(object)
18
+ end
16
19
 
17
- def unmap(name)
18
- data = CACHE.get name
19
- object = de_srlz(data)
20
- end
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
- def unmap_array(name)
27
- data = CACHE.get name
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
- object_array
34
- end
36
+ object_array
37
+ end
35
38
 
36
- def srlz(data)
37
- {:class => data.class, :data => data.attributes}
38
- end
39
+ private
40
+
41
+ def srlz(data)
42
+ {:class => data.class, :data => data.to_json}
43
+ end
39
44
 
40
- def de_srlz(data)
41
- eval("#{data[:class]}.new(#{data[:data]})"
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.0.beta1"
8
+ s.version = "0.0.1"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
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-09}
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
- "defaults/memcache.yml",
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
 
@@ -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(RAILS_ENV, 'config', 'memcache.yml')
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
- Rails.logger.info error
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: true
4
+ prerelease: false
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 0
9
- - beta1
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-09 00:00:00 -04:00
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
- - defaults/memcache.yml
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
- - 1
79
- - 3
80
- - 1
81
- version: 1.3.1
90
+ - 0
91
+ version: "0"
82
92
  requirements: []
83
93
 
84
94
  rubyforge_project:
File without changes