Class: Daylife::Request
- Inherits:
-
Object
- Object
- Daylife::Request
- Defined in:
- lib/daylife/base.rb
Constant Summary collapse
- BASE_URL =
'http://freeapi.daylife.com/xmlrest/publicapi/4.3/'
Instance Method Summary collapse
- #get(parameters) ⇒ Object
-
#initialize(method) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(method) ⇒ Request
Returns a new instance of Request.
72 73 74 |
# File 'lib/daylife/base.rb', line 72 def initialize(method) @method = method end |
Instance Method Details
#get(parameters) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/daylife/base.rb', line 76 def get(parameters) # Create the signature parameters[:signature] = create_signature(@method.split("_").first, parameters) unless parameters[:signature] parameters.delete_if { |key, value| key == :shared_secret } # Convert Time objects to strings with correct format parameters[:start_time] = parameters[:start_time].strftime("%Y-%m-%d %H:%M:%S") if (parameters[:start_time] && parameters[:start_time].kind_of?(Time)) parameters[:end_time] = parameters[:end_time].strftime("%Y-%m-%d %H:%M:%S") if (parameters[:end_time] && parameters[:end_time].kind_of?(Time)) # Build the URL query_string = "#{@method}?" << build_params(parameters) url = URI.parse(BASE_URL + query_string) puts url response = Net::HTTP.get_response(url) if response.kind_of?(Net::HTTPSuccess) return Response.new(response.body) else raise Daylife::BadRequest, "Failed with message: #{response.code}" end end |