redis_object 0.5.0 → 1.0
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/.gitignore +0 -2
- data/Gemfile +0 -4
- data/README.markdown +15 -24
- data/Rakefile +0 -8
- data/doc/Object.html +185 -0
- data/doc/Seabright.html +181 -0
- data/doc/Seabright/Adapter.html +442 -0
- data/doc/Seabright/Collection.html +797 -0
- data/doc/Seabright/Collections.html +635 -0
- data/doc/Seabright/Collections/ClassMethods.html +212 -0
- data/doc/Seabright/ExternalIndex.html +217 -0
- data/doc/Seabright/History.html +382 -0
- data/doc/Seabright/History/ClassMethods.html +276 -0
- data/doc/Seabright/Indices.html +324 -0
- data/doc/Seabright/Indices/ClassMethods.html +348 -0
- data/doc/Seabright/Keys.html +314 -0
- data/doc/Seabright/Keys/ClassMethods.html +276 -0
- data/doc/Seabright/ObjectBase.html +852 -0
- data/doc/Seabright/ObjectBase/ClassMethods.html +677 -0
- data/doc/Seabright/RedisObject.html +230 -0
- data/doc/Seabright/References.html +280 -0
- data/doc/Seabright/Storage.html +252 -0
- data/doc/Seabright/Storage/ClassMethods.html +276 -0
- data/doc/Seabright/Storage/MySQL.html +442 -0
- data/doc/Seabright/Storage/Redis.html +218 -0
- data/doc/Seabright/Template.html +212 -0
- data/doc/Seabright/Template/ClassMethods.html +166 -0
- data/doc/Seabright/Timestamps.html +292 -0
- data/doc/Seabright/Timestamps/ClassMethods.html +214 -0
- data/doc/Seabright/Types.html +410 -0
- data/doc/Seabright/Types/ClassMethods.html +308 -0
- data/doc/created.rid +17 -0
- data/doc/images/add.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +125 -0
- data/doc/js/darkfish.js +153 -0
- data/doc/js/jquery.js +18 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search.js +94 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searcher.js +228 -0
- data/doc/rdoc.css +543 -0
- data/doc/table_of_contents.html +394 -0
- data/lib/redis_object.rb +1 -11
- data/lib/redis_object/base.rb +60 -210
- data/lib/redis_object/collection.rb +100 -130
- data/lib/redis_object/defaults.rb +8 -21
- data/lib/redis_object/ext/filters.rb +16 -34
- data/lib/redis_object/ext/triggers.rb +13 -75
- data/lib/redis_object/{experimental/history.rb → history.rb} +0 -0
- data/lib/redis_object/indices.rb +39 -44
- data/lib/redis_object/keys.rb +4 -4
- data/lib/redis_object/storage.rb +1 -30
- data/lib/redis_object/storage/adapter.rb +3 -6
- data/lib/redis_object/storage/redis.rb +3 -98
- data/lib/redis_object/timestamps.rb +21 -42
- data/lib/redis_object/types.rb +30 -172
- data/lib/redis_object/version.rb +1 -1
- data/redis_object.gemspec +0 -1
- data/spec/base_spec.rb +6 -41
- data/spec/spec_helper.rb +1 -32
- metadata +116 -111
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -5
- data/lib/redis_object/ext/script_cache.rb +0 -92
- data/lib/redis_object/ext/shardable.rb +0 -18
- data/lib/redis_object/ext/view_caching.rb +0 -258
- data/lib/redis_object/ext/views.rb +0 -102
- data/lib/redis_object/inheritance_tracking.rb +0 -23
- data/spec/adapter_spec.rb +0 -43
- data/spec/benchmark_spec.rb +0 -46
- data/spec/collections_spec.rb +0 -144
- data/spec/defaults_spec.rb +0 -56
- data/spec/filters_spec.rb +0 -29
- data/spec/indices_spec.rb +0 -45
- data/spec/rename_class_spec.rb +0 -96
- data/spec/timestamp_spec.rb +0 -28
- data/spec/trigger_spec.rb +0 -51
- data/spec/types_spec.rb +0 -103
- data/spec/view_caching_spec.rb +0 -130
- data/spec/views_spec.rb +0 -72
data/lib/redis_object/types.rb
CHANGED
@@ -22,12 +22,7 @@ module Seabright
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def format_date(val)
|
25
|
-
|
26
|
-
val.is_a?(DateTime) || val.is_a?(Date) || val.is_a?(Time) ? val : ( val.is_a?(String) ? DateTime.parse(val) : nil )
|
27
|
-
rescue StandardError => e
|
28
|
-
puts "Could not parse value as date using Date.parse. Returning nil instead. Value: #{val.inspect}\nError: #{e.inspect}" if DEBUG
|
29
|
-
nil
|
30
|
-
end
|
25
|
+
val.instance_of?(DateTime) ? val : DateTime.parse(val)
|
31
26
|
end
|
32
27
|
|
33
28
|
def score_date(val)
|
@@ -35,11 +30,7 @@ module Seabright
|
|
35
30
|
end
|
36
31
|
|
37
32
|
def format_array(val)
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
def save_array(val)
|
42
|
-
Yajl::Encoder.encode(val)
|
33
|
+
eval val
|
43
34
|
end
|
44
35
|
|
45
36
|
def format_number(val)
|
@@ -67,205 +58,72 @@ module Seabright
|
|
67
58
|
val=="true"
|
68
59
|
end
|
69
60
|
|
70
|
-
def save_boolean(val)
|
71
|
-
val === true ? "true" : "false"
|
72
|
-
end
|
73
|
-
|
74
61
|
def score_boolean(val)
|
75
62
|
val ? 1 : 0
|
76
63
|
end
|
77
64
|
|
65
|
+
def get(k)
|
66
|
+
enforce_format(k,super(k))
|
67
|
+
end
|
68
|
+
|
69
|
+
def mset(dat)
|
70
|
+
dat.merge!(dat) {|k,v1,v2| save_format(k,v1) }
|
71
|
+
super(dat)
|
72
|
+
end
|
73
|
+
|
74
|
+
def set(k,v)
|
75
|
+
super(k,save_format(k,v))
|
76
|
+
end
|
77
|
+
|
78
78
|
module ClassMethods
|
79
79
|
|
80
80
|
def date(k)
|
81
|
-
|
82
|
-
|
81
|
+
field_formats[k] = :format_date
|
82
|
+
score_formats[k] = :score_date
|
83
83
|
end
|
84
84
|
|
85
85
|
def number(k)
|
86
|
-
|
87
|
-
|
86
|
+
field_formats[k] = :format_number
|
87
|
+
score_formats[k] = :score_number
|
88
88
|
end
|
89
89
|
alias_method :int, :number
|
90
90
|
|
91
91
|
def float(k)
|
92
|
-
|
93
|
-
|
92
|
+
field_formats[k] = :format_float
|
93
|
+
score_formats[k] = :score_float
|
94
94
|
end
|
95
95
|
|
96
96
|
def bool(k)
|
97
|
-
|
98
|
-
|
99
|
-
set_save_format(k, :save_boolean)
|
97
|
+
field_formats[k] = :format_boolean
|
98
|
+
score_formats[k] = :score_boolean
|
100
99
|
end
|
101
100
|
alias_method :boolean, :bool
|
102
101
|
|
103
102
|
def array(k)
|
104
|
-
|
105
|
-
set_save_format(k, :save_array)
|
103
|
+
field_formats[k] = :format_array
|
106
104
|
end
|
107
105
|
|
108
106
|
def json(k)
|
109
|
-
|
110
|
-
|
107
|
+
field_formats[k] = :format_json
|
108
|
+
save_formats[k] = :save_json
|
111
109
|
end
|
112
110
|
|
113
111
|
def field_formats
|
114
|
-
|
112
|
+
@@field_formats ||= {}
|
115
113
|
end
|
116
114
|
|
117
115
|
def score_formats
|
118
|
-
|
116
|
+
@@score_formats ||= {}
|
119
117
|
end
|
120
118
|
|
121
119
|
def save_formats
|
122
|
-
|
123
|
-
end
|
124
|
-
|
125
|
-
def set_field_format(k, v)
|
126
|
-
field_formats_set_locally.add(k)
|
127
|
-
field_formats[k] = v
|
128
|
-
update_child_class_field_formats(k, v)
|
129
|
-
intercept_for_typing!
|
130
|
-
end
|
131
|
-
|
132
|
-
def field_formats_set_locally
|
133
|
-
@field_formats_set_locally_set ||= Set.new
|
134
|
-
end
|
135
|
-
|
136
|
-
def inherit_field_format(k, v)
|
137
|
-
unless fields_formats_set_locally.include? k
|
138
|
-
field_formats[k] = v
|
139
|
-
update_child_class_field_formats(k, v)
|
140
|
-
end
|
141
|
-
intercept_for_typing!
|
142
|
-
end
|
143
|
-
|
144
|
-
def update_child_class_field_formats(k, v)
|
145
|
-
child_classes.each do |child_class|
|
146
|
-
child_class.inherit_field_format(k, v)
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def set_score_format(k, v)
|
151
|
-
score_formats_set_locally.add(k)
|
152
|
-
score_formats[k] = v
|
153
|
-
update_child_class_score_formats(k, v)
|
154
|
-
intercept_for_typing!
|
155
|
-
end
|
156
|
-
|
157
|
-
def score_formats_set_locally
|
158
|
-
@score_formats_set_locally_set ||= Set.new
|
159
|
-
end
|
160
|
-
|
161
|
-
def inherit_score_format(k, v)
|
162
|
-
unless scores_formats_set_locally.include? k
|
163
|
-
score_formats[k] = v
|
164
|
-
update_child_class_score_formats(k, v)
|
165
|
-
end
|
166
|
-
intercept_for_typing!
|
167
|
-
end
|
168
|
-
|
169
|
-
def update_child_class_score_formats(k, v)
|
170
|
-
child_classes.each do |child_class|
|
171
|
-
child_class.inherit_score_format(k, v)
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
def set_save_format(k, v)
|
176
|
-
save_formats_set_locally.add(k)
|
177
|
-
save_formats[k] = v
|
178
|
-
update_child_class_save_formats(k, v)
|
179
|
-
intercept_for_typing!
|
180
|
-
end
|
181
|
-
|
182
|
-
def save_formats_set_locally
|
183
|
-
@save_formats_set_locally_set ||= Set.new
|
184
|
-
end
|
185
|
-
|
186
|
-
def inherit_save_format(k, v)
|
187
|
-
unless save_formats_set_locally.include? k
|
188
|
-
save_formats[k] = v
|
189
|
-
update_child_class_save_formats(k, v)
|
190
|
-
end
|
191
|
-
intercept_for_typing!
|
192
|
-
end
|
193
|
-
|
194
|
-
def update_child_class_save_formats(k, v)
|
195
|
-
child_classes.each do |child_class|
|
196
|
-
child_class.inherit_save_format(k, v)
|
197
|
-
end
|
120
|
+
@@save_formats ||= {}
|
198
121
|
end
|
199
122
|
|
200
123
|
def register_format(k,fmt)
|
201
124
|
send(fmt, k)
|
202
125
|
end
|
203
126
|
|
204
|
-
def describe
|
205
|
-
all_keys.inject({}) do |acc,(k,v)|
|
206
|
-
if field_formats[k.to_sym]
|
207
|
-
acc[k.to_sym] ||= [field_formats[k.to_sym].to_s.gsub(/^format_/,'').to_sym, 0]
|
208
|
-
else
|
209
|
-
acc[k.to_sym] ||= [:string, 0]
|
210
|
-
end
|
211
|
-
acc[k.to_sym][1] += 1
|
212
|
-
acc
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
def dump_schema(file)
|
217
|
-
child_classes_set.sort {|a,b| a.name <=> b.name}.each do |child|
|
218
|
-
file.puts "# #{child.name}"
|
219
|
-
# sort fields by number of instances found
|
220
|
-
child.describe.sort {|a,b| b[1][1] <=> a[1][1]}.each do |field,(type, count)|
|
221
|
-
file.puts "#{field}: #{type} (#{count})"
|
222
|
-
end
|
223
|
-
file.puts
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
def intercept_for_typing!
|
228
|
-
return if @intercepted_for_typing
|
229
|
-
self.class_eval do
|
230
|
-
|
231
|
-
alias_method :untyped_get, :get unless method_defined?(:untyped_get)
|
232
|
-
def get(k)
|
233
|
-
enforce_format(k,untyped_get(k))
|
234
|
-
end
|
235
|
-
|
236
|
-
alias_method :untyped_mset, :mset unless method_defined?(:untyped_mset)
|
237
|
-
def mset(dat)
|
238
|
-
dat.merge!(dat) {|k,v1,v2| save_format(k,v1) }
|
239
|
-
untyped_mset(dat)
|
240
|
-
end
|
241
|
-
|
242
|
-
alias_method :untyped_set, :set unless method_defined?(:untyped_set)
|
243
|
-
def set(k,v)
|
244
|
-
untyped_set(k,save_format(k,v))
|
245
|
-
end
|
246
|
-
|
247
|
-
alias_method :untyped_setnx, :setnx unless method_defined?(:untyped_setnx)
|
248
|
-
def setnx(k,v)
|
249
|
-
untyped_setnx(k,save_format(k,v))
|
250
|
-
end
|
251
|
-
|
252
|
-
end
|
253
|
-
@intercepted_for_typing = true
|
254
|
-
end
|
255
|
-
|
256
|
-
private
|
257
|
-
|
258
|
-
def all_keys(limit=100)
|
259
|
-
steps = 0
|
260
|
-
all.inject([]) do |acc,obj|
|
261
|
-
store.hkeys(obj.hkey).each do |k|
|
262
|
-
acc << k.to_sym
|
263
|
-
end
|
264
|
-
steps += 1
|
265
|
-
return acc if steps >= limit
|
266
|
-
acc
|
267
|
-
end
|
268
|
-
end
|
269
127
|
end
|
270
128
|
|
271
129
|
def self.included(base)
|
@@ -273,4 +131,4 @@ module Seabright
|
|
273
131
|
end
|
274
132
|
|
275
133
|
end
|
276
|
-
end
|
134
|
+
end
|
data/lib/redis_object/version.rb
CHANGED
data/redis_object.gemspec
CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
s.required_ruby_version = '>= 1.9.2'
|
22
|
-
s.add_dependency "utf8_utils"
|
23
22
|
s.add_dependency "redis"
|
24
23
|
s.add_dependency "yajl-ruby"
|
25
24
|
s.add_dependency "activesupport"
|
data/spec/base_spec.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
2
|
|
3
|
+
DEBUG = false
|
4
|
+
|
3
5
|
module ObjectTests
|
4
6
|
class User < RedisObject
|
5
|
-
|
7
|
+
|
6
8
|
end
|
7
9
|
class Thingy < RedisObject
|
8
10
|
|
@@ -13,78 +15,41 @@ module ObjectTests
|
|
13
15
|
end
|
14
16
|
|
15
17
|
describe RedisObject do
|
16
|
-
|
17
18
|
it "can be created" do
|
18
19
|
obj = ObjectTests::User.new
|
19
20
|
end
|
20
|
-
|
21
21
|
it "can be created with an id" do
|
22
22
|
obj = ObjectTests::User.new("test")
|
23
23
|
obj.save
|
24
24
|
end
|
25
|
-
|
26
|
-
it "can create an id" do
|
27
|
-
obj = ObjectTests::User.new("test")
|
28
|
-
obj.new_id
|
29
|
-
end
|
30
|
-
|
31
|
-
it "can reserve an id" do
|
32
|
-
obj = ObjectTests::User.new("test")
|
33
|
-
obj.reserve("test")
|
34
|
-
end
|
35
|
-
|
36
25
|
it "should be found by id" do
|
37
26
|
obj = ObjectTests::User.find("test")
|
38
27
|
obj.should_not be_nil
|
39
28
|
end
|
40
|
-
|
41
|
-
it "can recollect objects" do
|
42
|
-
ObjectTests::User.recollect!
|
43
|
-
end
|
44
|
-
|
45
|
-
it "get get the first object (random)" do
|
46
|
-
obj = ObjectTests::User.first
|
47
|
-
obj.should be_a(ObjectTests::User)
|
48
|
-
end
|
49
|
-
|
50
29
|
it "should save stuff" do
|
51
30
|
obj = ObjectTests::User.find("test")
|
52
31
|
obj.stuff = "yay!"
|
53
|
-
obj
|
54
|
-
obj[:stuff] = "yayyay!"
|
55
|
-
obj.stuff.should eq("yayyay!")
|
56
|
-
obj.stuff = "yay!"
|
57
|
-
obj.stuff.should eq("yay!")
|
32
|
+
obj.stuff.should == "yay!"
|
58
33
|
end
|
59
|
-
|
60
34
|
it "should retrieve stuff" do
|
61
35
|
obj = ObjectTests::User.find("test")
|
62
|
-
obj.stuff.should
|
36
|
+
obj.stuff.should == "yay!"
|
63
37
|
end
|
64
|
-
|
65
38
|
it "can collect other objects" do
|
66
39
|
obj = ObjectTests::User.find("test")
|
67
40
|
obj2 = ObjectTests::Thingy.new("yay")
|
68
41
|
obj << obj2
|
69
42
|
obj.should have_collection(:thingies)
|
70
43
|
end
|
71
|
-
|
72
44
|
it "can reference other objects" do
|
73
45
|
obj = ObjectTests::User.find("test")
|
74
46
|
obj3 = ObjectTests::Doodad.new("woo")
|
75
47
|
obj.reference obj3
|
76
48
|
obj.should have_collection(:doodads)
|
77
49
|
end
|
78
|
-
|
79
|
-
it "can convert raw to json" do
|
80
|
-
obj = ObjectTests::User.find("test")
|
81
|
-
obj.to_json.length.should > 0
|
82
|
-
end
|
83
|
-
|
84
50
|
it "should be deletable" do
|
85
51
|
obj = ObjectTests::User.find("test")
|
86
52
|
obj.delete!
|
87
53
|
ObjectTests::User.find("test").should be_nil
|
88
54
|
end
|
89
|
-
|
90
|
-
end
|
55
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,35 +4,4 @@ $LOAD_PATH.unshift File.dirname(__FILE__)
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'test/unit'
|
6
6
|
require 'rspec'
|
7
|
-
|
8
|
-
require 'simplecov'
|
9
|
-
require 'coveralls'
|
10
|
-
|
11
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
12
|
-
SimpleCov::Formatter::HTMLFormatter,
|
13
|
-
Coveralls::SimpleCov::Formatter
|
14
|
-
]
|
15
|
-
SimpleCov.start do
|
16
|
-
add_filter "_spec.rb"
|
17
|
-
add_filter "/experimental/"
|
18
|
-
add_group "Extensions", "lib/redis_object/ext/"
|
19
|
-
end
|
20
|
-
|
21
|
-
require 'redis_object'
|
22
|
-
|
23
|
-
class DebugMode
|
24
|
-
def initialize(o=nil); @opts = o; end
|
25
|
-
def verbose?; debug? && !!@opts[:verbose]; end
|
26
|
-
def debug?; !!@opts; end
|
27
|
-
end
|
28
|
-
Debug = if ENV['DEBUG']
|
29
|
-
require 'debugger'
|
30
|
-
DEBUG = true
|
31
|
-
DebugMode.new(verbose:true)
|
32
|
-
else
|
33
|
-
DEBUG = false
|
34
|
-
DebugMode.new
|
35
|
-
end
|
36
|
-
|
37
|
-
raise 'must specify TEST_DB' unless ENV['TEST_DB']
|
38
|
-
RedisObject.configure_store({adapter:'Redis', db:ENV['TEST_DB']},:global,:alias)
|
7
|
+
require 'redis_object'
|
metadata
CHANGED
@@ -1,109 +1,136 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis_object
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: "1.0"
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- John Bragg
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
|
13
|
+
date: 2012-12-15 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
31
16
|
name: redis
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
17
|
prerelease: false
|
40
|
-
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
41
19
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: yajl-ruby
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
54
24
|
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: yajl-ruby
|
55
28
|
prerelease: false
|
56
|
-
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: activesupport
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
65
30
|
none: false
|
66
|
-
requirements:
|
67
|
-
- -
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version:
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
70
35
|
type: :runtime
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: activesupport
|
71
39
|
prerelease: false
|
72
|
-
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
73
41
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version:
|
78
|
-
|
79
|
-
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: "0"
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id003
|
48
|
+
description: ""
|
49
|
+
email:
|
80
50
|
- john@seabrightstudios.com
|
81
51
|
executables: []
|
52
|
+
|
82
53
|
extensions: []
|
54
|
+
|
83
55
|
extra_rdoc_files: []
|
84
|
-
|
85
|
-
|
56
|
+
|
57
|
+
files:
|
86
58
|
- .gitignore
|
87
|
-
- .travis.yml
|
88
59
|
- Gemfile
|
89
60
|
- README.markdown
|
90
61
|
- Rakefile
|
62
|
+
- doc/Object.html
|
63
|
+
- doc/Seabright.html
|
64
|
+
- doc/Seabright/Adapter.html
|
65
|
+
- doc/Seabright/Collection.html
|
66
|
+
- doc/Seabright/Collections.html
|
67
|
+
- doc/Seabright/Collections/ClassMethods.html
|
68
|
+
- doc/Seabright/ExternalIndex.html
|
69
|
+
- doc/Seabright/History.html
|
70
|
+
- doc/Seabright/History/ClassMethods.html
|
71
|
+
- doc/Seabright/Indices.html
|
72
|
+
- doc/Seabright/Indices/ClassMethods.html
|
73
|
+
- doc/Seabright/Keys.html
|
74
|
+
- doc/Seabright/Keys/ClassMethods.html
|
75
|
+
- doc/Seabright/ObjectBase.html
|
76
|
+
- doc/Seabright/ObjectBase/ClassMethods.html
|
77
|
+
- doc/Seabright/RedisObject.html
|
78
|
+
- doc/Seabright/References.html
|
79
|
+
- doc/Seabright/Storage.html
|
80
|
+
- doc/Seabright/Storage/ClassMethods.html
|
81
|
+
- doc/Seabright/Storage/MySQL.html
|
82
|
+
- doc/Seabright/Storage/Redis.html
|
83
|
+
- doc/Seabright/Template.html
|
84
|
+
- doc/Seabright/Template/ClassMethods.html
|
85
|
+
- doc/Seabright/Timestamps.html
|
86
|
+
- doc/Seabright/Timestamps/ClassMethods.html
|
87
|
+
- doc/Seabright/Types.html
|
88
|
+
- doc/Seabright/Types/ClassMethods.html
|
89
|
+
- doc/created.rid
|
90
|
+
- doc/images/add.png
|
91
|
+
- doc/images/brick.png
|
92
|
+
- doc/images/brick_link.png
|
93
|
+
- doc/images/bug.png
|
94
|
+
- doc/images/bullet_black.png
|
95
|
+
- doc/images/bullet_toggle_minus.png
|
96
|
+
- doc/images/bullet_toggle_plus.png
|
97
|
+
- doc/images/date.png
|
98
|
+
- doc/images/delete.png
|
99
|
+
- doc/images/find.png
|
100
|
+
- doc/images/loadingAnimation.gif
|
101
|
+
- doc/images/macFFBgHack.png
|
102
|
+
- doc/images/package.png
|
103
|
+
- doc/images/page_green.png
|
104
|
+
- doc/images/page_white_text.png
|
105
|
+
- doc/images/page_white_width.png
|
106
|
+
- doc/images/plugin.png
|
107
|
+
- doc/images/ruby.png
|
108
|
+
- doc/images/tag_blue.png
|
109
|
+
- doc/images/tag_green.png
|
110
|
+
- doc/images/transparent.png
|
111
|
+
- doc/images/wrench.png
|
112
|
+
- doc/images/wrench_orange.png
|
113
|
+
- doc/images/zoom.png
|
114
|
+
- doc/index.html
|
115
|
+
- doc/js/darkfish.js
|
116
|
+
- doc/js/jquery.js
|
117
|
+
- doc/js/navigation.js
|
118
|
+
- doc/js/search.js
|
119
|
+
- doc/js/search_index.js
|
120
|
+
- doc/js/searcher.js
|
121
|
+
- doc/rdoc.css
|
122
|
+
- doc/table_of_contents.html
|
91
123
|
- lib/redis_object.rb
|
92
124
|
- lib/redis_object/base.rb
|
93
125
|
- lib/redis_object/collection.rb
|
94
126
|
- lib/redis_object/defaults.rb
|
95
|
-
- lib/redis_object/experimental/history.rb
|
96
127
|
- lib/redis_object/ext/benchmark.rb
|
97
128
|
- lib/redis_object/ext/cleaner.rb
|
98
129
|
- lib/redis_object/ext/filters.rb
|
99
|
-
- lib/redis_object/ext/script_cache.rb
|
100
|
-
- lib/redis_object/ext/shardable.rb
|
101
130
|
- lib/redis_object/ext/triggers.rb
|
102
|
-
- lib/redis_object/ext/view_caching.rb
|
103
|
-
- lib/redis_object/ext/views.rb
|
104
131
|
- lib/redis_object/external_index.rb
|
132
|
+
- lib/redis_object/history.rb
|
105
133
|
- lib/redis_object/indices.rb
|
106
|
-
- lib/redis_object/inheritance_tracking.rb
|
107
134
|
- lib/redis_object/keys.rb
|
108
135
|
- lib/redis_object/storage.rb
|
109
136
|
- lib/redis_object/storage/adapter.rb
|
@@ -116,57 +143,35 @@ files:
|
|
116
143
|
- lib/redis_object/validation.rb
|
117
144
|
- lib/redis_object/version.rb
|
118
145
|
- redis_object.gemspec
|
119
|
-
- spec/adapter_spec.rb
|
120
146
|
- spec/base_spec.rb
|
121
|
-
- spec/benchmark_spec.rb
|
122
|
-
- spec/collections_spec.rb
|
123
|
-
- spec/defaults_spec.rb
|
124
|
-
- spec/filters_spec.rb
|
125
|
-
- spec/indices_spec.rb
|
126
|
-
- spec/rename_class_spec.rb
|
127
147
|
- spec/spec_helper.rb
|
128
|
-
|
129
|
-
- spec/trigger_spec.rb
|
130
|
-
- spec/types_spec.rb
|
131
|
-
- spec/view_caching_spec.rb
|
132
|
-
- spec/views_spec.rb
|
133
|
-
homepage: ''
|
148
|
+
homepage: ""
|
134
149
|
licenses: []
|
150
|
+
|
135
151
|
post_install_message:
|
136
152
|
rdoc_options: []
|
137
|
-
|
153
|
+
|
154
|
+
require_paths:
|
138
155
|
- lib
|
139
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
156
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
140
157
|
none: false
|
141
|
-
requirements:
|
142
|
-
- -
|
143
|
-
- !ruby/object:Gem::Version
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
144
161
|
version: 1.9.2
|
145
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
163
|
none: false
|
147
|
-
requirements:
|
148
|
-
- -
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version:
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: "0"
|
151
168
|
requirements: []
|
169
|
+
|
152
170
|
rubyforge_project: redis_object
|
153
|
-
rubygems_version: 1.8.
|
171
|
+
rubygems_version: 1.8.24
|
154
172
|
signing_key:
|
155
173
|
specification_version: 3
|
156
|
-
summary: Maps arbitrary objects to a Redis store with indices and smart retrieval
|
157
|
-
|
158
|
-
test_files:
|
159
|
-
- spec/adapter_spec.rb
|
174
|
+
summary: Maps arbitrary objects to a Redis store with indices and smart retrieval and storage mechanisms.
|
175
|
+
test_files:
|
160
176
|
- spec/base_spec.rb
|
161
|
-
- spec/benchmark_spec.rb
|
162
|
-
- spec/collections_spec.rb
|
163
|
-
- spec/defaults_spec.rb
|
164
|
-
- spec/filters_spec.rb
|
165
|
-
- spec/indices_spec.rb
|
166
|
-
- spec/rename_class_spec.rb
|
167
177
|
- spec/spec_helper.rb
|
168
|
-
- spec/timestamp_spec.rb
|
169
|
-
- spec/trigger_spec.rb
|
170
|
-
- spec/types_spec.rb
|
171
|
-
- spec/view_caching_spec.rb
|
172
|
-
- spec/views_spec.rb
|