Module: BtCommunicator
Instance Method Summary collapse
- #cookies ⇒ Object
- #generate_secret ⇒ Object
- #path(action_name) ⇒ Object
- #port ⇒ Object
- #request_token(force = false) ⇒ Object
- #root_url ⇒ Object
- #token(force = false) ⇒ Object
- #uri ⇒ Object
Instance Method Details
#cookies ⇒ Object
24 25 26 |
# File 'lib/btsync/communicator.rb', line 24 def @cookies ||= request_token.headers["set-cookie"].split("; ")[0] end |
#generate_secret ⇒ Object
4 5 6 7 |
# File 'lib/btsync/communicator.rb', line 4 def generate_secret res = self.class.get(path('generatesecret'), :headers => {"Cookie" => }) res.parsed_response["secret"] end |
#path(action_name) ⇒ Object
38 39 40 |
# File 'lib/btsync/communicator.rb', line 38 def path action_name "#{root_url}gui/?token=#{token}&action=#{action_name}" end |
#port ⇒ Object
8 9 10 |
# File 'lib/btsync/communicator.rb', line 8 def port @port end |
#request_token(force = false) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/btsync/communicator.rb', line 30 def request_token force = false if @request_token.nil? || force @request_token = self.class.get("#{root_url}gui/token.html", :query => {:output => :text}) else @request_token end end |
#root_url ⇒ Object
27 28 29 |
# File 'lib/btsync/communicator.rb', line 27 def root_url "#{uri}:#{port}/" end |
#token(force = false) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/btsync/communicator.rb', line 14 def token force = false @token_cache ||= 0 time = DateTime.now.strftime("%s").to_i if time > @token_cache + 600 || force @token = request_token(force).gsub('</div></html>', '').gsub("<html><div id='token' style='display:none;'>", '') @token_cache = time end @cookies = nil if force @token end |
#uri ⇒ Object
11 12 13 |
# File 'lib/btsync/communicator.rb', line 11 def uri @uri end |