Sha256: a5fae679dc2e4bcf4c8f0d43f28fb191216f0572f169e23b9f773f1411605a56
Contents?: true
Size: 1000 Bytes
Versions: 3
Compression:
Stored size: 1000 Bytes
Contents
module Scouter class Pinterest < Scouter::Base::Object END_POINT = 'http://api.pinterest.com/v1'.freeze # get Pinterest Count # @param [String or Array] urls def self.get_count(urls) urls = check_and_trans_url(urls) results, errors = {}, [] urls.each_with_index do |u, idx| sleep(WAIT_SEC) if idx != 0 res, error = get_and_parse_response(u) errors << error && next if error results.merge!(res) end res_hash = Hashie::Mash.new(results) return [res_hash, errors] end private # Build url for api # @param [Hash] json # @return [String] API url def self.api_url(url) "#{END_POINT}/urls/count.json?url=#{url}" end # Parse json data for response # @param [Hash] json # @return [Hash] url & count def self.parse_response(json, url) res = JSON.parse(json.gsub(/(receiveCount\(|\))/, '')) { url => { self.service_name => res['count'] } } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
scouter-0.0.3 | lib/scouter/pinterest.rb |
scouter-0.0.2 | lib/scouter/pinterest.rb |
scouter-0.0.1 | lib/scouter/pinterest.rb |