appoxy-simple_record 1.1.12 → 1.1.13
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/README.markdown +4 -4
- data/lib/simple_record.rb +6 -7
- data/test/test_simple_record.rb +1 -1
- metadata +2 -2
data/README.markdown
CHANGED
@@ -51,7 +51,7 @@ NOTE: All objects will automatically have :id, :created, :updated attributes.
|
|
51
51
|
|
52
52
|
Add string attributes.
|
53
53
|
|
54
|
-
class MyModel
|
54
|
+
class MyModel < SimpleRecord::Base
|
55
55
|
has_attributes :name
|
56
56
|
end
|
57
57
|
|
@@ -59,7 +59,7 @@ Add string attributes.
|
|
59
59
|
|
60
60
|
Lets simple_record know that certain attributes defined in has_attributes should be treated as integers, dates or booleans. This is required because SimpleDB only has strings so SimpleRecord needs to know how to convert, pad, offset, etc.
|
61
61
|
|
62
|
-
class MyModel
|
62
|
+
class MyModel < SimpleRecord::Base
|
63
63
|
has_attributes :name
|
64
64
|
has_ints :age, :height
|
65
65
|
has_dates :birthday
|
@@ -70,7 +70,7 @@ Lets simple_record know that certain attributes defined in has_attributes should
|
|
70
70
|
|
71
71
|
Creates a many-to-one relationship. Can only have one per belongs_to call.
|
72
72
|
|
73
|
-
class MyModel
|
73
|
+
class MyModel < SimpleRecord::Base
|
74
74
|
belongs_to :school
|
75
75
|
has_attributes :name
|
76
76
|
has_ints :age, :height
|
@@ -86,7 +86,7 @@ Which requires another class called 'School' or you can specify the class explic
|
|
86
86
|
|
87
87
|
If you want to use a custom domain for a model object, you can specify it with set_table_name (or set_domain_name).
|
88
88
|
|
89
|
-
class SomeModel
|
89
|
+
class SomeModel < SimpleRecord::Base
|
90
90
|
set_table_name :different_model
|
91
91
|
end
|
92
92
|
|
data/lib/simple_record.rb
CHANGED
@@ -261,7 +261,7 @@ module SimpleRecord
|
|
261
261
|
|
262
262
|
def make_dirty(arg, value)
|
263
263
|
# todo: only set dirty if it changed
|
264
|
-
#puts 'making dirty ' + @dirty.inspect
|
264
|
+
#puts 'making dirty arg=' + arg.to_s + ' --- ' + @dirty.inspect
|
265
265
|
@dirty[arg] = get_attribute(arg) # Store old value (not sure if we need it?)
|
266
266
|
#puts 'end making dirty ' + @dirty.inspect
|
267
267
|
end
|
@@ -271,7 +271,7 @@ module SimpleRecord
|
|
271
271
|
defined_attributes[arg] = SimpleRecord::Base::Attribute.new(:string) if defined_attributes[arg].nil?
|
272
272
|
# define reader method
|
273
273
|
arg_s = arg.to_s # to get rid of all the to_s calls
|
274
|
-
send
|
274
|
+
send(:define_method, arg) do
|
275
275
|
ret = nil
|
276
276
|
ret = get_attribute(arg)
|
277
277
|
return nil if ret.nil?
|
@@ -279,16 +279,15 @@ module SimpleRecord
|
|
279
279
|
end
|
280
280
|
|
281
281
|
# define writer method
|
282
|
-
|
283
|
-
send(:define_method, method_name) do |value|
|
282
|
+
send(:define_method, arg_s+"=") do |value|
|
284
283
|
make_dirty(arg_s, value)
|
285
|
-
self[
|
284
|
+
self[arg_s]=value
|
286
285
|
end
|
287
286
|
|
288
287
|
# Now for dirty methods: http://api.rubyonrails.org/classes/ActiveRecord/Dirty.html
|
289
288
|
# define changed? method
|
290
289
|
send(:define_method, arg_s + "_changed?") do
|
291
|
-
|
290
|
+
@dirty.has_key?(arg_s)
|
292
291
|
end
|
293
292
|
|
294
293
|
# define change method
|
@@ -490,7 +489,7 @@ module SimpleRecord
|
|
490
489
|
end
|
491
490
|
|
492
491
|
def []=(attribute, values)
|
493
|
-
|
492
|
+
make_dirty(attribute, values)
|
494
493
|
super
|
495
494
|
end
|
496
495
|
|
data/test/test_simple_record.rb
CHANGED
@@ -178,7 +178,7 @@ class TestSimpleRecord < Test::Unit::TestCase
|
|
178
178
|
|
179
179
|
mms = MyModel.find(:all) # select 2
|
180
180
|
assert mms.size > 0 # select 3
|
181
|
-
assert mms.size == count
|
181
|
+
assert mms.size == count, "size != count! size=" + mms.size.to_s + " count=" + count.to_s
|
182
182
|
assert SimpleRecord.stats.selects == 3, "should have been 3 select, but was actually #{SimpleRecord.stats.selects}" # count should not have been called twice
|
183
183
|
|
184
184
|
count = MyModel.find(:count, :conditions=>["name=?", "Travis"])
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appoxy-simple_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Travis Reeder
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-08-
|
13
|
+
date: 2009-08-23 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|