Class: Dumpable::Dumper
- Inherits:
-
Object
- Object
- Dumpable::Dumper
- Defined in:
- lib/dumpable/dumper.rb
Instance Attribute Summary collapse
-
#dumpee ⇒ Object
Returns the value of attribute dumpee.
-
#dumps ⇒ Object
Returns the value of attribute dumps.
-
#id_padding ⇒ Object
Returns the value of attribute id_padding.
-
#options ⇒ Object
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #dump ⇒ Object
-
#initialize(dumpee, options = {}) ⇒ Dumper
constructor
A new instance of Dumper.
Constructor Details
#initialize(dumpee, options = {}) ⇒ Dumper
Returns a new instance of Dumper.
5 6 7 8 9 10 11 |
# File 'lib/dumpable/dumper.rb', line 5 def initialize(dumpee, ={}) @dumpee = dumpee @options = Dumpable.config.merge( || {}) @id_padding = @options[:id_padding] || (@dumpee.class.respond_to?(:dumpable_options) && @dumpee.class.[:id_padding]) || Dumpable.config.id_padding @dumps = @options[:dumps] || (@dumpee.class.respond_to?(:dumpable_options) && @dumpee.class.[:dumps]) @lines = [] end |
Instance Attribute Details
#dumpee ⇒ Object
Returns the value of attribute dumpee.
3 4 5 |
# File 'lib/dumpable/dumper.rb', line 3 def dumpee @dumpee end |
#dumps ⇒ Object
Returns the value of attribute dumps.
3 4 5 |
# File 'lib/dumpable/dumper.rb', line 3 def dumps @dumps end |
#id_padding ⇒ Object
Returns the value of attribute id_padding.
3 4 5 |
# File 'lib/dumpable/dumper.rb', line 3 def id_padding @id_padding end |
#options ⇒ Object
Returns the value of attribute options.
3 4 5 |
# File 'lib/dumpable/dumper.rb', line 3 def @options end |
Class Method Details
.dump(*records_and_collections) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/dumpable/dumper.rb', line 18 def self.dump(*records_and_collections) = records_and_collections. lines = [] records_and_collections.each do |record_or_collection| if record_or_collection.is_a?(Array) || record_or_collection.is_a?(ActiveRecord::Relation) || (record_or_collection.is_a?(Class) && record_or_collection.ancestors.include?(ActiveRecord::Base)) record_or_collection = record_or_collection.all if record_or_collection.is_a?(Class) && record_or_collection.ancestors.include?(ActiveRecord::Base) record_or_collection.each do |object| lines << new(object, ).dump end else lines << new(record_or_collection, ).dump end end Dumpable::FileWriter.write(lines.flatten.compact, ) end |
Instance Method Details
#dump ⇒ Object
13 14 15 16 |
# File 'lib/dumpable/dumper.rb', line 13 def dump recursive_dump(@dumpee, @dumps) @lines << generate_insert_query(@dumpee) end |