dm-redis-adapter 0.2.1 → 0.2.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.
@@ -127,7 +127,7 @@ module DataMapper
127
127
  properties_to_set << property.name << attributes[property]
128
128
  end
129
129
  end
130
-
130
+
131
131
  hash_key = "#{resource.model.to_s.downcase}:#{resource.key.join}"
132
132
  properties_to_del.each {|prop| @redis.hdel(hash_key, prop) }
133
133
  @redis.hmset(hash_key, *properties_to_set) unless properties_to_set.empty?
@@ -157,16 +157,16 @@ module DataMapper
157
157
  keys << {"#{redis_key_for(query.model)}" => k, "#{o.subject.name}" => o.value}
158
158
  end
159
159
  end
160
-
161
- if query.order || query.limit
160
+
161
+ if keys.empty? && (query.order || query.limit)
162
162
  params = {}
163
163
  params[:limit] = [query.offset, query.limit] if query.limit
164
-
164
+
165
165
  if query.order
166
166
  order = query.order.first
167
167
  params[:order] = order.operator.to_s
168
168
  end
169
-
169
+
170
170
  @redis.sort(key_set_for(query.model), params).each do |val|
171
171
  keys << {"#{redis_key_for(query.model)}" => val.to_i}
172
172
  end
@@ -20,7 +20,7 @@ describe DataMapper::Adapters::RedisAdapter do
20
20
  property :id, Serial
21
21
  property :flavor, String, :index => true
22
22
  end
23
-
23
+
24
24
  Crumblecake.create(:flavor => "snozzbler")
25
25
  Crumblecake.new(:flavor => "snozzbler").valid?.should be_false
26
26
  end
@@ -65,15 +65,15 @@ describe DataMapper::Adapters::RedisAdapter do
65
65
  u.save
66
66
  u.reload.name.should == nil
67
67
  end
68
-
68
+
69
69
  it "should store Date fields" do
70
70
  class Post
71
71
  include DataMapper::Resource
72
-
72
+
73
73
  property :id, Serial
74
74
  property :posted_at, Date
75
75
  end
76
-
76
+
77
77
  Post.create :posted_at => Date.today
78
78
  Post.first.posted_at.should be_a(Date)
79
79
  end
@@ -92,9 +92,22 @@ describe DataMapper::Adapters::RedisAdapter do
92
92
  GangMember.first.should == joey
93
93
  GangMember.last.should == bobby
94
94
  end
95
-
95
+
96
+ it "should pull up the first pirate that matches the nickname" do
97
+ class Blackguard
98
+ include DataMapper::Resource
99
+
100
+ property :id, Serial
101
+ property :nickname, String, :index => true
102
+ end
103
+
104
+ petey = Blackguard.create(:nickname => "Petey 'one-eye' McGraw")
105
+ james = Blackguard.create(:nickname => "James 'cannon-fingers' Doolittle")
106
+ Blackguard.first(:nickname => "James 'cannon-fingers' Doolittle").should == james
107
+ end
108
+
96
109
  after(:all) do
97
110
  redis = Redis.new(:db => 15)
98
111
  redis.flushdb
99
112
  end
100
- end
113
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-redis-adapter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dan Herrera
@@ -15,13 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-12 00:00:00 -07:00
18
+ date: 2010-10-03 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: dm-core
22
+ type: :runtime
23
23
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
@@ -32,12 +32,12 @@ dependencies:
32
32
  - 0
33
33
  - 0
34
34
  version: 1.0.0
35
- type: :runtime
36
- version_requirements: *id001
35
+ name: dm-core
36
+ requirement: *id001
37
37
  - !ruby/object:Gem::Dependency
38
- name: dm-types
38
+ type: :runtime
39
39
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ">="
@@ -48,12 +48,12 @@ dependencies:
48
48
  - 0
49
49
  - 0
50
50
  version: 1.0.0
51
- type: :runtime
52
- version_requirements: *id002
51
+ name: dm-types
52
+ requirement: *id002
53
53
  - !ruby/object:Gem::Dependency
54
- name: redis
54
+ type: :runtime
55
55
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
59
  - - ">="
@@ -64,8 +64,8 @@ dependencies:
64
64
  - 0
65
65
  - 3
66
66
  version: 2.0.3
67
- type: :runtime
68
- version_requirements: *id003
67
+ name: redis
68
+ requirement: *id003
69
69
  description: DataMapper adapter for the Redis key-value database
70
70
  email: whoahbot@gmail.com
71
71
  executables: []
@@ -88,7 +88,7 @@ has_rdoc: true
88
88
  homepage: http://github.com/whoahbot/dm-redis-adapter
89
89
  licenses: []
90
90
 
91
- post_install_message: "\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n (!!) U P G R A D I N G (!!)\n\n WAAAAAAAAAAAAAAAAAAAAAAAIT!\n Earlier versions of dm-redis-adapter\n use a different method of storing properties\n which means that this version of dm-redis-adapter\n won't read them properly.\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n "
91
+ post_install_message:
92
92
  rdoc_options:
93
93
  - --charset=UTF-8
94
94
  require_paths: