class MyBitcasa::Connection
Attributes
login_engine[W]
Public Class Methods
new(user: nil, password: nil, multipart: false) { |self| ... }
click to toggle source
Calls superclass method
# File lib/my_bitcasa/connection.rb, line 16 def initialize(user: nil, password: nil, multipart: false) super(:url => 'https://my.bitcasa.com') do |conn| conn.use FaradayMiddleware::FollowRedirects if multipart conn.request :multipart else conn.request :url_encoded end #conn.response :logger conn.response :my_bitcasa conn.adapter Faraday.default_adapter end @headers[:user_agent] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:10.0.2) Gecko/20100101 Firefox/10.0.2" yield self if block_given? login(user, password) if user && password ensure #ObjectSpace.define_finalizer(self) { logout! } end
Private Class Methods
uri_encode(path)
click to toggle source
# File lib/my_bitcasa/connection.rb, line 97 def uri_encode(path) URI.encode(path).gsub("[", "%5B").gsub("]", "%5D") end
Public Instance Methods
loggedin?()
click to toggle source
# File lib/my_bitcasa/connection.rb, line 46 def loggedin? !!@cookie end
login(user, password)
click to toggle source
# File lib/my_bitcasa/connection.rb, line 41 def login(user, password) login_engine.login(user, password) @cookie = login_engine.cookie end
login_engine()
click to toggle source
# File lib/my_bitcasa/connection.rb, line 37 def login_engine @login_engine ||= LoginEngine.autodetect.new end
logout!()
click to toggle source
# File lib/my_bitcasa/connection.rb, line 50 def logout! if loggedin? self.get("/logout") @cookie = nil end end
multipart()
click to toggle source
# File lib/my_bitcasa/connection.rb, line 78 def multipart @multipart ||= self.class.new(multipart: true) @multipart.cookie = self.cookie @multipart end
Private Instance Methods
_after_request(method, res)
click to toggle source
# File lib/my_bitcasa/connection.rb, line 89 def _after_request(method, res) @cookie = res.headers["set-cookie"] || @cookie if @cookie @cookie.sub!(/; Domain=(\.?my)?.bitcasa.com; Path=\//, "") end end
_before_request(method, *args)
click to toggle source
# File lib/my_bitcasa/connection.rb, line 85 def _before_request(method, *args) raise AuthorizationError, "login required" unless loggedin? end