aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshiaki Asai <toshi.alternative@gmail.com>2016-10-22 17:08:14 +0900
committerToshiaki Asai <toshi.alternative@gmail.com>2016-10-22 19:23:19 +0900
commit3ab6ffcc353526c713dcb9af16aa3e94f22029e0 (patch)
tree1cdc3a5e573fd4d4d3d5bae6e2777baebbc3db6d
parentc610da913865e25d4f789014747fd315760a6f9d (diff)
downloadmikutter-3ab6ffcc353526c713dcb9af16aa3e94f22029e0.tar.gz
Retriever::Modelの値を書き換える時、必ずキャストした値を格納する
-rw-r--r--core/lib/retriever/model.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/lib/retriever/model.rb b/core/lib/retriever/model.rb
index 7fbf1d09..0519307a 100644
--- a/core/lib/retriever/model.rb
+++ b/core/lib/retriever/model.rb
@@ -85,7 +85,7 @@ class Retriever::Model
end
define_method("#{field_name}=") do |value|
- @value[field_name] = value
+ @value[field_name] = Retriever::Model.cast(value, type, required)
self.class.store_datum(self)
value
end
@@ -372,7 +372,7 @@ class Retriever::Model
self.class.keys.each{ |column|
key, type, required = *column
begin
- Retriever::Model.cast(self.fetch(key), type, required)
+ @value[key.to_sym] = Retriever::Model.cast(self.fetch(key), type, required)
rescue Retriever::InvalidTypeError=>e
estr = e.to_s + "\nin #{self.fetch(key).inspect} of #{key}"
warn estr