Sha256: 681456bad063b8da94ee28ae39e05c448d2b7a860dd2381cf9ace35eff10515e

Contents?: true

Size: 755 Bytes

Versions: 7

Compression:

Stored size: 755 Bytes

Contents

require 'rest_client'
require 'rack'

module Sappy
  class Request
    def self.perform(account, action, parameters)
      new(account, action, parameters).perform
    end

    def initialize(account, action, parameters)
      @account, @action, @parameters = account, action, parameters
    end

    def perform
      xml = RestClient.get(uri)
      r = Responses.for(@action)
      r.parse(xml)
    end

    private
      def uri
        @uri ||= "https://siteuptime.com/api/rest/?#{query_string}"
      end

      def query_string
        if @account.authenticated?
          @parameters["AuthKey"] = @account.authkey
        end
        @parameters["method"] = "siteuptime.#{@action}"

        Rack::Utils.build_query(@parameters)
      end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
abcde-sappy-0.1.0 lib/sappy/request.rb
abcde-sappy-0.1.1 lib/sappy/request.rb
sappy-0.1.5 lib/sappy/request.rb
sappy-0.1.4 lib/sappy/request.rb
sappy-0.1.3 lib/sappy/request.rb
sappy-0.1.2 lib/sappy/request.rb
sappy-0.1.1 lib/sappy/request.rb