Class: Tachyon
- Inherits:
-
Object
- Object
- Tachyon
- Defined in:
- lib/tachyon.rb,
lib/tachyon/version.rb
Constant Summary collapse
- VERSION =
"0.1.4"
Class Method Summary collapse
- .insert(klass, data) ⇒ Object
- .insert_record(klass, data) ⇒ Object
- .insert_records(klass, data) ⇒ Object
Class Method Details
.insert(klass, data) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/tachyon.rb', line 4 def self.insert(klass, data) raise ArgumentError, "data must be a hash or array" unless data.is_a?(Array) || data.is_a?(Hash) raise ArgumentError, "klass must inherit from ActiveRecord::Base" unless klass < ActiveRecord::Base if data.is_a?(Array) self.insert_records(klass, data) elsif data.is_a?(Hash) self.insert_record(klass, data) end end |
.insert_record(klass, data) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/tachyon.rb', line 15 def self.insert_record(klass, data) begin klass.new(data).save(validate: false) rescue ActiveRecord::RecordNotUnique end end |
.insert_records(klass, data) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/tachyon.rb', line 22 def self.insert_records(klass, data) klass.connection.transaction do data.each do |record| self.insert_record(klass, record) end end end |