Sha256: 4c07b5d9f46bde1c05a98b0dd0ed5d6505e9080f8c99f027ebb712f03efccda1

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

require 'csv'
require 'net/http'
require 'savon'
require 'savon_model'
require 'affiliate-window/version'
require 'affiliate-window/helpers/account'
require 'affiliate-window/helpers/client'
require 'affiliate-window/helpers/csv'
require 'affiliate-window/account'
require 'affiliate-window/clients/category'
require 'affiliate-window/clients/merchant'
require 'affiliate-window/clients/affiliate_service'
require 'affiliate-window/clients/shop_window'
require 'affiliate-window/models/transaction'

module AffiliateWindow
  
  DEFAULT_USER_AGENT = "AffiliateWindow rubygem v#{Version::STRING} (http://github.com/andyt/affiliate-window)"

  def self.account
    @account
  end

  def self.account=(account)
    @account = account
  end

  def self.user_agent
    @user_agent || DEFAULT_USER_AGENT
  end

  def self.user_agent=(string)
    @user_agent = string
  end

  def self.fetch(uri, target = Tempfile.new('awin').path)
    uri = URI(uri)

    Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
      request = Net::HTTP::Get.new uri.request_uri, {'User-Agent' => self.user_agent}

      http.request request do |response|
        open target, 'wb' do |io|
          response.read_body do |chunk|
            io.write chunk
          end
        end
      end
    end
    target
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
affiliate-window-0.2.1.pre1 lib/affiliate-window.rb
affiliate-window-0.2.0.pre1 lib/affiliate-window.rb