class Scruber::Helpers::FetcherAgentAdapters::Mongo
Public Class Methods
agents_collection_name()
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 42 def agents_collection_name [Scruber::Mongo.configuration.options['collections_prefix'], 'fetcher_agents'].join('_') end
delete(fetcher_agent)
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 58 def delete(fetcher_agent) mongo_collection.find({_id: fetcher_agent.id}).delete_one end
find(id)
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 33 def find(id) obj = mongo_collection.find({_id: id}).first obj.nil? ? nil : new(obj) end
mongo_collection()
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 38 def mongo_collection Scruber::Mongo.client[agents_collection_name] end
new(options={})
click to toggle source
Calls superclass method
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 5 def initialize(options={}) options = options.with_indifferent_access super(options) @id = options.fetch(:_id){ options.fetch(:id){ nil } } end
store(fetcher_agent, options={})
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 46 def store(fetcher_agent, options={}) if fetcher_agent.id.blank? mongo_collection.insert_one(fetcher_agent.attrs).inserted_id else mongo_collection.find_one_and_update( {"_id" => fetcher_agent.id }, {'$set' => fetcher_agent.attrs }, {return_document: :after, upsert: true}.merge(options) )[:_id] end end
Public Instance Methods
attrs()
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 11 def attrs serialize_cookies { user_agent: @user_agent, proxy_id: @proxy_id, headers: @headers, cookie_jar: @cookie_jar, disable_proxy: @disable_proxy, updated_at: @updated_at, created_at: @created_at, }.merge((id.present? ? {_id: id} : {})) end
delete()
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 28 def delete Scruber::Helpers::FetcherAgentAdapters::Mongo.delete(self) end
save()
click to toggle source
# File lib/scruber/helpers/fetcher_agent_adapters/mongo.rb, line 24 def save @id = Scruber::Helpers::FetcherAgentAdapters::Mongo.store(self) end