Sha256: 8e2c01e1fae6ead5da5012e618e78aab66fbd2e0e6da5c49ec6a42b0d097dc36
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
# coding:utf-8 # Standard Library require 'cgi' require 'open-uri' require 'json' require 'hashie/mash' require 'parallel' # Scouter Class/Module require 'scouter/base/version' require 'scouter/base/object' require 'scouter/buffer' require 'scouter/facebook' require 'scouter/feedly' require 'scouter/google_plus' require 'scouter/hatena_bookmark' require 'scouter/linkedin' require 'scouter/pinterest' require 'scouter/pocket' require 'scouter/twitter' module Scouter WAIT_SEC = 1 ONE_TIME_URL_MAX = 20 SERVICES = [ Scouter::Buffer, Scouter::Facebook, Scouter::Feedly, Scouter::GooglePlus, Scouter::HatenaBookmark, Scouter::Linkedin, Scouter::Pinterest, Scouter::Pocket, Scouter::Twitter ] # get Social Count By Buffer/Facebook/Feedly/GooglePlus/HatenaBookmark/Linkedin/Pinterest/Pocket/Twitter # @param [String or Array] urls def self.get_count(urls, services = SERVICES) results, errors = [], {} Parallel.each(services, in_threads: services.count) do |service| result, error = service.get_count(urls) errors[service.service_name] = error && next unless error.empty? results << result end results_hash = results_merged_hash(results) return [results_hash, errors] end private def self.results_merged_hash(results) results_hash = {} results.each do |item| item.each do |url, hash| results_hash[url] = (results_hash[url] || {}).merge(hash) end end Hashie::Mash.new(results_hash) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scouter-0.0.3 | lib/scouter.rb |