Class: BomDB::Import::Verses
- Inherits:
-
Import::Base
- Object
- Import::Base
- BomDB::Import::Verses
- Defined in:
- lib/bomdb/import/verses.rb
Instance Method Summary collapse
-
#import_json(data, **args) ⇒ Object
Expected data format is: [ { "book": String, "chapter": Int, "verses": Int }, ... ].
Instance Method Details
#import_json(data, **args) ⇒ Object
Expected data format is: [ { "book": String, "chapter": Int, "verses": Int }, ... ]
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/bomdb/import/verses.rb', line 18 def import_json(data, **args) data.each do |r| # Create a heading per chapter Models::Verse.new(@db).find_or_create( chapter: r['chapter'], verse: nil, book_name: r['book'], heading: true ) # Create as many verses as is called for per chapter (1..r['verses']).each do |verse_number| Models::Verse.new(@db).find_or_create( chapter: r['chapter'], verse: verse_number, book_name: r['book'] ) end end Import::Result.new(success: true) rescue Sequel::UniqueConstraintViolation => e Import::Result.new(success: false, error: e) end |