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 CHANGED
@@ -1 +1 @@
1
- 0.7.0
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.columns.map(&:name)
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 a type column to an indirect inheritor of ActiveRecord::Base" do
72
- klass = new_named_class(new_ar_class("Foo"), "Bar")
73
- columns, values = SaveMany::Functions::add_columns(klass, [["foo"]], :columns=>[:foo])
74
- columns.should == [:type, :foo]
75
- values.should == [["Bar", "foo"]]
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 not add a type column if already present" do
79
- klass = new_named_class(new_ar_class("Foo"), "Bar")
80
- columns, values = SaveMany::Functions::add_columns(klass, [["foo", "Baz"]], :columns=>[:foo, :type])
81
- columns.should == [:foo, :type]
82
- values.should == [["foo", "Baz"]]
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
- - 0
9
- version: 0.7.0
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-15 00:00:00 +00:00
17
+ date: 2010-03-17 00:00:00 +00:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency