dupe 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/dupe/dupe.rb +1 -0
- data/spec/lib_specs/dupe_spec.rb +15 -0
- metadata +1 -1
data/lib/dupe/dupe.rb
CHANGED
@@ -222,6 +222,7 @@ class Dupe
|
|
222
222
|
def create(model_name, records={})
|
223
223
|
model_name = model_name.to_s.singularize.to_sym
|
224
224
|
define model_name unless model_exists(model_name)
|
225
|
+
records = records.kind_of?(Array) ? records.map {|r| r.symbolize_keys} : records.symbolize_keys!
|
225
226
|
create_and_insert records, :into => model_name
|
226
227
|
end
|
227
228
|
|
data/spec/lib_specs/dupe_spec.rb
CHANGED
@@ -180,6 +180,21 @@ describe Dupe do
|
|
180
180
|
Dupe.database.tables[:book].first.should == @books.first
|
181
181
|
Dupe.database.tables[:book].last.should == @books.last
|
182
182
|
end
|
183
|
+
|
184
|
+
it "should symbolize hash keys to keep from duplicating column names" do
|
185
|
+
b = Dupe.create :book, 'title' => 'War And Peace', :title => 'War And Peace'
|
186
|
+
b.title.should == 'War And Peace'
|
187
|
+
b[:title].should == 'War And Peace'
|
188
|
+
b['title'].should == nil
|
189
|
+
|
190
|
+
bs = Dupe.create :books, [{:test => 2, 'test' => 2}, {:test => 4, 'test' => 4}]
|
191
|
+
bs.first.test.should == 2
|
192
|
+
bs.first[:test].should == 2
|
193
|
+
bs.first['test'].should == nil
|
194
|
+
bs.last.test.should == 4
|
195
|
+
bs.last[:test].should == 4
|
196
|
+
bs.last['test'].should == nil
|
197
|
+
end
|
183
198
|
end
|
184
199
|
|
185
200
|
describe "find" do
|