activerecord_save_many 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/activerecord_save_many/save_many.rb +1 -8
- data/spec/activerecord_save_many_spec.rb +11 -17
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.1
|
@@ -42,14 +42,7 @@ module ActiveRecord
|
|
42
42
|
module_function :slice_array
|
43
43
|
|
44
44
|
def add_columns(klass, values, options)
|
45
|
-
columns = options[:columns] || klass.
|
46
|
-
|
47
|
-
# add a :type column automatically for STI, if not already present
|
48
|
-
if klass.superclass!=ActiveRecord::Base && !columns.include?(:type)
|
49
|
-
columns = [:type, *columns]
|
50
|
-
values = values.map{|vals| [klass.to_s, *vals]}
|
51
|
-
end
|
52
|
-
|
45
|
+
columns = options[:columns] || klass.column_names
|
53
46
|
[columns, values]
|
54
47
|
end
|
55
48
|
module_function :add_columns
|
@@ -68,25 +68,18 @@ module ActiveRecord
|
|
68
68
|
end
|
69
69
|
|
70
70
|
describe "add_columns" do
|
71
|
-
it "should add
|
72
|
-
klass =
|
73
|
-
columns, values = SaveMany::Functions::add_columns(klass, [["
|
74
|
-
columns.should == [
|
75
|
-
values.should == [["
|
71
|
+
it "should add the class columns if no explicit columns are given" do
|
72
|
+
klass = new_ar_class("Foo") { class << self ; def column_names() ; ["foo"] ; end ; end }
|
73
|
+
columns, values = SaveMany::Functions::add_columns(klass, [["foodata"]], {})
|
74
|
+
columns.should == ["foo"]
|
75
|
+
values.should == [["foodata"]]
|
76
76
|
end
|
77
77
|
|
78
|
-
it "should
|
79
|
-
klass =
|
80
|
-
columns, values = SaveMany::Functions::add_columns(klass, [["
|
81
|
-
columns.should == [:foo, :
|
82
|
-
values.should == [["
|
83
|
-
end
|
84
|
-
|
85
|
-
it "should not add a type column to a direct inheritor of ActiveRecord::Base" do
|
86
|
-
klass = new_ar_class("Foo")
|
87
|
-
columns, values = SaveMany::Functions::add_columns(klass, [["foo"]], :columns=>[:foo])
|
88
|
-
columns.should == [:foo]
|
89
|
-
values.should == [["foo"]]
|
78
|
+
it "should use the explicitly given columns if given" do
|
79
|
+
klass = new_ar_class("Foo") { class << self ; def column_names() ; ["foo"] ; end ; end }
|
80
|
+
columns, values = SaveMany::Functions::add_columns(klass, [["foodata", "bardata"]], {:columns=>[:foo, :bar]})
|
81
|
+
columns.should == [:foo, :bar]
|
82
|
+
values.should == [["foodata", "bardata"]]
|
90
83
|
end
|
91
84
|
end
|
92
85
|
end
|
@@ -121,6 +114,7 @@ module ActiveRecord
|
|
121
114
|
stub(k).table_name{tablename}
|
122
115
|
cns = column_names.map{|cn| col=Object.new ; stub(col).name{cn} ; col}
|
123
116
|
stub(k).columns{cns}
|
117
|
+
stub(k).column_names{column_names}
|
124
118
|
stub(k).quote_value{|v| "'#{v}'"}
|
125
119
|
connection = ActiveRecord::ConnectionAdapters::MysqlAdapter.new
|
126
120
|
stub(connection).execute_raw{|sql|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 7
|
8
|
-
-
|
9
|
-
version: 0.7.
|
8
|
+
- 1
|
9
|
+
version: 0.7.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- mccraigmccraig
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-17 00:00:00 +00:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|