mem_mappr 0.0.1 → 0.0.2
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 +2 -2
- data/VERSION +1 -1
- data/lib/mem_mappr.rb +10 -4
- data/mem_mappr.gemspec +5 -5
- data/rails/init.rb +1 -15
- data/test/helper.rb +19 -0
- data/test/test_mem_mappr.rb +33 -3
- metadata +5 -5
data/Rakefile
CHANGED
@@ -10,8 +10,8 @@ begin
|
|
10
10
|
gem.email = "hungerandthirst@gmail.com"
|
11
11
|
gem.homepage = "http://github.com/plukevdh/mem_mappr"
|
12
12
|
gem.authors = ["Luke van der Hoeven"]
|
13
|
-
gem.add_development_dependency "
|
14
|
-
gem.
|
13
|
+
gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
|
14
|
+
gem.add_dependency "memcache-client", ">= 0"
|
15
15
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
16
|
end
|
17
17
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/lib/mem_mappr.rb
CHANGED
@@ -19,7 +19,11 @@ module MemMappr
|
|
19
19
|
|
20
20
|
def unmap(name)
|
21
21
|
data = CACHE.get name
|
22
|
-
object =
|
22
|
+
object = nil
|
23
|
+
unless data.empty?
|
24
|
+
object = de_srlz(data)
|
25
|
+
end
|
26
|
+
object
|
23
27
|
end
|
24
28
|
|
25
29
|
def map_array(name, objects)
|
@@ -29,10 +33,12 @@ module MemMappr
|
|
29
33
|
def unmap_array(name)
|
30
34
|
data = CACHE.get name
|
31
35
|
object_array = []
|
32
|
-
data.
|
33
|
-
|
36
|
+
unless data.empty?
|
37
|
+
data.each do |object|
|
38
|
+
object_array << de_srlz(object)
|
39
|
+
end
|
34
40
|
end
|
35
|
-
|
41
|
+
|
36
42
|
object_array
|
37
43
|
end
|
38
44
|
|
data/mem_mappr.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
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.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Luke van der Hoeven"]
|
@@ -48,15 +48,15 @@ Gem::Specification.new do |s|
|
|
48
48
|
s.specification_version = 3
|
49
49
|
|
50
50
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
51
|
-
s.add_development_dependency(%q<
|
52
|
-
s.
|
51
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
52
|
+
s.add_runtime_dependency(%q<memcache-client>, [">= 0"])
|
53
53
|
else
|
54
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
54
55
|
s.add_dependency(%q<memcache-client>, [">= 0"])
|
55
|
-
s.add_dependency(%q<yaml>, [">= 0"])
|
56
56
|
end
|
57
57
|
else
|
58
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
58
59
|
s.add_dependency(%q<memcache-client>, [">= 0"])
|
59
|
-
s.add_dependency(%q<yaml>, [">= 0"])
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
data/rails/init.rb
CHANGED
@@ -1,17 +1,3 @@
|
|
1
1
|
require 'mem_mappr'
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'memcache'
|
5
|
-
rescue LoadError
|
6
|
-
end
|
7
|
-
|
8
|
-
unless File.exists? config_file = File.join('config', 'memcache.yml')
|
9
|
-
error = "Looks like you don't have a config file. Please add one to the Rails.root/config folder before continuing."
|
10
|
-
puts error
|
11
|
-
logger.info error
|
12
|
-
exit!
|
13
|
-
end
|
14
|
-
|
15
|
-
MemMappr.config = YAML.load_file(config_file)
|
16
|
-
logger.info "Loaded mem_mappr"
|
2
|
+
MemMappr.setup
|
17
3
|
|
data/test/helper.rb
CHANGED
@@ -5,6 +5,25 @@ require 'shoulda'
|
|
5
5
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
6
6
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
7
7
|
require 'mem_mappr'
|
8
|
+
require 'active_record'
|
9
|
+
|
10
|
+
|
11
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
12
|
+
|
13
|
+
ActiveRecord::Schema.define(:version => 1) do
|
14
|
+
create_table :users do |t|
|
15
|
+
t.string :first_name
|
16
|
+
t.string :last_name
|
17
|
+
t.integer :age
|
18
|
+
t.datetime :birthday
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class User < ActiveRecord::Base
|
23
|
+
end
|
24
|
+
|
25
|
+
us = User.new(:first_name => "Luke", :last_name => "van der Hoeven", :age => 23, :birthday => "1986-12-14 11:48:41")
|
26
|
+
us.save!
|
8
27
|
|
9
28
|
class Test::Unit::TestCase
|
10
29
|
end
|
data/test/test_mem_mappr.rb
CHANGED
@@ -1,7 +1,37 @@
|
|
1
1
|
require 'helper'
|
2
2
|
|
3
3
|
class TestMemMappr < Test::Unit::TestCase
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
should "setup without error" do
|
5
|
+
MemMappr.setup
|
6
|
+
assert Object.const_defined?(:CACHE)
|
7
|
+
assert_equal CACHE.class, MemCache
|
8
|
+
end
|
9
|
+
|
10
|
+
context "Memcache hits" do
|
11
|
+
setup do
|
12
|
+
MemMappr.setup
|
13
|
+
end
|
14
|
+
|
15
|
+
should "set and get objects from memcache (with memcached running independantly)" do
|
16
|
+
v = CACHE.set "test_object", "12345"
|
17
|
+
assert v.include? "STORED"
|
18
|
+
assert_equal "12345", CACHE.get("test_object")
|
19
|
+
end
|
20
|
+
|
21
|
+
should "map and unmap a simple AR object" do
|
22
|
+
resp = MemMappr.map("user", User.first)
|
23
|
+
assert resp.include? "STORED"
|
24
|
+
|
25
|
+
usr = MemMappr.unmap("user")
|
26
|
+
assert_equal User, usr.class
|
27
|
+
|
28
|
+
assert_equal "Luke", usr.first_name
|
29
|
+
assert_equal "van der Hoeven", usr.last_name
|
30
|
+
assert_equal 23, usr.age
|
31
|
+
puts usr.birthday
|
32
|
+
assert usr.birthday.eql?(Time.parse("1986-12-14 11:48:41"))
|
33
|
+
|
34
|
+
assert_equal User.first, usr
|
35
|
+
end
|
36
|
+
end
|
7
37
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Luke van der Hoeven
|
@@ -18,7 +18,7 @@ date: 2010-06-10 00:00:00 -04:00
|
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
21
|
+
name: thoughtbot-shoulda
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
type: :development
|
31
31
|
version_requirements: *id001
|
32
32
|
- !ruby/object:Gem::Dependency
|
33
|
-
name:
|
33
|
+
name: memcache-client
|
34
34
|
prerelease: false
|
35
35
|
requirement: &id002 !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
segments:
|
40
40
|
- 0
|
41
41
|
version: "0"
|
42
|
-
type: :
|
42
|
+
type: :runtime
|
43
43
|
version_requirements: *id002
|
44
44
|
description: This is a simple way to memcache ActiveRecord objects, mostly by serializing them into objects that memcache can understand.
|
45
45
|
email: hungerandthirst@gmail.com
|