class Foxit::ETL
Attributes
client[R]
kitsu[R]
Public Class Methods
new(db_name: 'kitsu', host: ['127.0.0.1:27017'])
click to toggle source
# File lib/foxit/etl.rb, line 13 def initialize db_name: 'kitsu', host: ['127.0.0.1:27017'] @kitsu = API.new() @client = Mongo::Client.new(host, {database: db_name}) end
Public Instance Methods
get_anime(media_ids)
click to toggle source
# File lib/foxit/etl.rb, line 36 def get_anime media_ids docs = @kitsu.get_anime_documents(media_ids) insert_many_docs('anime', docs) end
get_libraries(user_ids)
click to toggle source
# File lib/foxit/etl.rb, line 30 def get_libraries user_ids docs = @kitsu.batch_get_libraries_docs(user_ids) insert_many_docs('library', docs) end
insert_many_docs(collection_name, docs)
click to toggle source
# File lib/foxit/etl.rb, line 18 def insert_many_docs collection_name, docs begin puts "inserting..." result = @client[collection_name].insert_many(docs) puts "records inserted: #{result.inserted_count}" rescue StandardError => e puts "error: #{e}" end puts "complete.\n" end