module Scruber::Core::Extensions::MongoOutput::CoreMethods
Public Class Methods
included(base)
click to toggle source
# File lib/scruber/core/extensions/mongo_output.rb, line 69 def self.included(base) Scruber::Core::Crawler.register_method_missing /\Amongo_out_(\w+)\Z/ do |meth, scan_results, args| suffix = scan_results.first.first.to_sym fields, options = args.first fields = {} if fields.nil? Scruber::Core::Crawler.class_eval do define_method "mongo_out_#{suffix}".to_sym do |fields, opts={}| Scruber::Core::Extensions::MongoOutput.mongo_out(self.scraper_name, suffix, fields, opts) end end Scruber::Core::Extensions::MongoOutput.mongo_out(self.scraper_name, suffix, fields, options) end Scruber::Core::Crawler.register_method_missing /\Amongo_find_(\w+)\Z/ do |meth, scan_results, args| suffix = scan_results.first.first.to_sym id = args.first Scruber::Core::Crawler.class_eval do define_method "mongo_find_#{suffix}".to_sym do |id| Scruber::Core::Extensions::MongoOutput.mongo_find(self.scraper_name, suffix, id) end end Scruber::Core::Extensions::MongoOutput.mongo_find(self.scraper_name, suffix, id) end Scruber::Core::Crawler.register_method_missing /\Amongo_(\w+)_collection\Z/ do |meth, scan_results, args| suffix = scan_results.first.first.to_sym Scruber::Core::Crawler.class_eval do define_method "mongo_#{suffix}_collection".to_sym do Scruber::Core::Extensions::MongoOutput.mongo_collection(self.scraper_name, suffix) end end Scruber::Core::Extensions::MongoOutput.mongo_collection(self.scraper_name, suffix) end end
Public Instance Methods
mongo_collection()
click to toggle source
Direct access to mongo collection
@return [Mongo::Collection] Mongo
collection instance
# File lib/scruber/core/extensions/mongo_output.rb, line 65 def mongo_collection Scruber::Core::Extensions::MongoOutput.mongo_collection self.scraper_name, Scruber::Core::Extensions::MongoOutput.default_suffix_name end
mongo_find(id)
click to toggle source
Find mongo document by id
@param id [Object] id of document
@return [Hash] mongo document
# File lib/scruber/core/extensions/mongo_output.rb, line 57 def mongo_find(id) Scruber::Core::Extensions::MongoOutput.mongo_find self.scraper_name, Scruber::Core::Extensions::MongoOutput.default_suffix_name, id end
mongo_out(fields, options={})
click to toggle source
Mongo
out default method. By default it uses suffix _records
@param fields [Hash] Fields to output @param options [Hash] Output options, see docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/
@return [Object] id of writed record
# File lib/scruber/core/extensions/mongo_output.rb, line 47 def mongo_out(fields, options={}) Scruber::Core::Extensions::MongoOutput.mongo_out self.scraper_name, Scruber::Core::Extensions::MongoOutput.default_suffix_name, fields, options end