Module: ActiveRecord::SaveMany::Functions
- Defined in:
- lib/activerecord_save_many/save_many.rb
Class Method Summary collapse
- .add_columns(klass, values, options) ⇒ Object
- .check_options(permitted, options) ⇒ Object
- .disable_async? ⇒ Boolean
- .rails_env ⇒ Object
-
.slice_array(max_length, arr) ⇒ Object
slice an array into smaller arrays with maximum size max_size.
Class Method Details
.add_columns(klass, values, options) ⇒ Object
44 45 46 47 |
# File 'lib/activerecord_save_many/save_many.rb', line 44 def add_columns(klass, values, ) columns = [:columns] || klass.column_names [columns, values] end |
.check_options(permitted, options) ⇒ Object
29 30 31 32 33 |
# File 'lib/activerecord_save_many/save_many.rb', line 29 def (permitted, ) unknown_keys = .keys.to_set - permitted raise "unknown options: #{unknown_keys.to_a.join(", ")}" if !unknown_keys.empty? raise "can't :replace and :ignore||:update||:async" if [:replace] && ([:ignore] || [:update] || [:updates] || [:async]) end |
.disable_async? ⇒ Boolean
23 24 25 26 |
# File 'lib/activerecord_save_many/save_many.rb', line 23 def disable_async? # for predictable tests we disable delayed insert during testing rails_env()=="test" end |
.rails_env ⇒ Object
18 19 20 |
# File 'lib/activerecord_save_many/save_many.rb', line 18 def rails_env RAILS_ENV if defined? RAILS_ENV end |
.slice_array(max_length, arr) ⇒ Object
slice an array into smaller arrays with maximum size max_size
37 38 39 40 41 |
# File 'lib/activerecord_save_many/save_many.rb', line 37 def slice_array(max_length, arr) slices = [] (0..arr.length-1).step( max_length ){ |i| slices << arr.slice(i,max_length) } slices end |