Module: GarminConnect::Base
- Extended by:
- GarminConnect
- Defined in:
- lib/garmin_connect/base.rb
Defined Under Namespace
Constant Summary
Constants included from GarminConnect
Class Method Summary collapse
- .cookies ⇒ Object
- .cookies=(cookies) ⇒ Object
- .format ⇒ Object
- .format=(format) ⇒ Object
-
.generate(obj) ⇒ Object
this is the only remaining place that the case doesnt work for Hash, Array.
-
.request(base, format = nil, path) ⇒ Object
def auth(p = {}) full = “connect.garmin.com/signin?login=login&login:signInButton=Sign%20In&javax.faces.ViewState=j_id1&login:loginUsernameField=#:user&login:password=#:pass&login:rememberMe=on” url = ‘connect.garmin.com/signin’ self.cookies = (RestClient.get url).cookies if p && p rr = RestClient::Resource.new full r = rr.post(“”, cookies: self.cookies) do |response, request, result, &block| if [301, 302, 307].include? response.code response.follow_redirection(request, result, &block) self.cookies = response.cookies else response.return!(request, result, &block) end end end end.
Class Method Details
.cookies ⇒ Object
84 85 86 |
# File 'lib/garmin_connect/base.rb', line 84 def @@cookies ||= '' end |
.cookies=(cookies) ⇒ Object
87 88 89 |
# File 'lib/garmin_connect/base.rb', line 87 def () @@cookies = end |
.format ⇒ Object
90 91 92 |
# File 'lib/garmin_connect/base.rb', line 90 def format @@format ||= :json end |
.format=(format) ⇒ Object
93 94 95 96 |
# File 'lib/garmin_connect/base.rb', line 93 def format=(format) format = :json unless [:json, :gpx, :tcx].include? format @@format = format end |
.generate(obj) ⇒ Object
this is the only remaining place that the case doesnt work for Hash, Array
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/garmin_connect/base.rb', line 42 def generate(obj) # this is the only remaining place that the case doesnt work for Hash, Array # puts obj.class.inspect # puts Hash === obj case obj when Base::Hash, Base::Array obj when Hash Base::Hash[obj] when Array Base::Array[obj] else obj.class.to_s == 'Hash' ? Base::Hash[obj] : Base::Array[obj] end end |
.request(base, format = nil, path) ⇒ Object
def auth(p = {})
full = "https://connect.garmin.com/signin?login=login&login:signInButton=Sign%20In&javax.faces.ViewState=j_id1&login:loginUsernameField=#{p[:user]}&login:password=#{p[:pass]}&login:rememberMe=on"
url = 'https://connect.garmin.com/signin'
self. = (RestClient.get url).
if p[:user] && p[:pass]
rr = RestClient::Resource.new full
r = rr.post("", cookies: self.) do |response, request, result, &block|
if [301, 302, 307].include? response.code
response.follow_redirection(request, result, &block)
self. = response.
else
response.return!(request, result, &block)
end
end
end
end
72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/garmin_connect/base.rb', line 72 def request(base, format = nil, path) url = base + (format or self.format).to_s + path response = Net::HTTP.get(URI url) # response = RestClient.get(url, :cookies => self.cookies) do |response, request, result, &block| # if [403].include? response.code # puts request.inspect # else # response.return!(request, result, &block) # end # end JSON.parse(response) end |