Sha256: 6cdeb9596451a0ede355fb32755a1633f8c30230fd7ad7ca2e99c8174ceaf249
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
require 'curb' module ShareChecker class Provider attr_reader :name def initialize(link, name = "noname", options = {}) @link = link @name = name @options = options.symbolize_keys end def check response = self.class.get([url, @link].join) return nil unless response parse(response) end def parse(response) raise NotImplementedError, "Must be overwritten in subclasses" end def url raise NotImplementedError, "Must be overwritten in subclasses" end def method_missing(method_name, *args, &block) if @options.key?(method_name.to_sym) @options[method_name.to_sym] else super end end class << self def get(url) c = Curl::Easy.new(url) do |curl| curl.headers["User-Agent"] = "Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/6.0.0" curl.verbose = false end c.perform c.body_str end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
share_checker-0.1.1 | lib/share_checker/provider.rb |
share_checker-0.1.0 | lib/share_checker/provider.rb |