Class: CryptopusAdapter
- Inherits:
-
Object
- Object
- CryptopusAdapter
- Defined in:
- lib/adapters/cryptopus_adapter.rb
Instance Method Summary collapse
- #find_account_by_name(name) ⇒ Object
- #get(path) ⇒ Object
- #patch(path, body) ⇒ Object
- #post(path, body) ⇒ Object
- #renewed_auth_token ⇒ Object
- #root_url ⇒ Object
- #save_secret(secret) ⇒ Object
Instance Method Details
#find_account_by_name(name) ⇒ Object
49 50 51 52 53 54 55 |
# File 'lib/adapters/cryptopus_adapter.rb', line 49 def find_account_by_name(name) secret_account = Account.find_by_name_and_folder_id(name, session_adapter.selected_folder.id) raise CryptopusAccountNotFoundError unless secret_account secret_account end |
#get(path) ⇒ Object
16 17 18 19 20 |
# File 'lib/adapters/cryptopus_adapter.rb', line 16 def get(path) uri = URI("#{root_url}/#{path}") request = new_request(:get, uri) send_request(request, uri) end |
#patch(path, body) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/adapters/cryptopus_adapter.rb', line 29 def patch(path, body) uri = URI("#{root_url}/#{path}") request = new_request(:patch, uri) request.body = body send_request(request, uri) end |
#post(path, body) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/adapters/cryptopus_adapter.rb', line 22 def post(path, body) uri = URI("#{root_url}/#{path}") request = new_request(:post, uri) request.body = body send_request(request, uri) end |
#renewed_auth_token ⇒ Object
57 58 59 60 |
# File 'lib/adapters/cryptopus_adapter.rb', line 57 def renewed_auth_token json = get("api_users/#{current_user_id}/token") JSON.parse(json)['token'] end |
#root_url ⇒ Object
10 11 12 13 14 |
# File 'lib/adapters/cryptopus_adapter.rb', line 10 def root_url raise SessionMissingError unless session_adapter.session_data[:url] @root_url ||= "#{session_adapter.session_data[:url]}/api" end |
#save_secret(secret) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/adapters/cryptopus_adapter.rb', line 36 def save_secret(secret) secret_account = secret.to_account secret_account.folder = session_adapter.selected_folder.id persisted_secret = Account.find_by_name_and_folder_id(secret.name, session_adapter.selected_folder.id) if persisted_secret patch("accounts/#{persisted_secret.id}", secret_account.to_json) else post('accounts', secret_account.to_json) end end |