activerecord_save_many 0.7.0 → 0.7.1

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/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