class OpenSecret::Export

Export the entire book if no chapter and verse is specified (achieved with a safe close), or the chapter if only the chapter is open (safe shut or safe open <<chapter>>, or the mini-dictionary at the verse if both chapter and verse are open.

Public Instance Methods

execute() click to toggle source
# File lib/usecase/export.rb, line 14
def execute

  return unless ops_key_exists?
  master_db = OpenKey::KeyApi.read_master_db()

  return if unopened_envelope?( master_db )

  chapter_id = ENVELOPE_KEY_PREFIX + master_db[ ENV_PATH ]
  has_chapter = OpenKey::KeyApi.db_envelope_exists?( master_db[ chapter_id ] )

  unless has_chapter
    puts "{}"
    return
  end

  chapter_data = get_chapter_data( master_db[ chapter_id ] )
  puts JSON.pretty_generate( chapter_data )

  return

end
get_chapter_data( chapter_key ) click to toggle source
# File lib/usecase/export.rb, line 10
def get_chapter_data( chapter_key )
  return OpenKey::KeyDb.from_json( OpenKey::KeyApi.content_unlock( chapter_key ) )
end