Class: Pinata::Client
- Inherits:
-
Object
- Object
- Pinata::Client
- Defined in:
- lib/pinata/client.rb
Constant Summary collapse
- API_VERSION =
"v3"- BASE_DOMAIN =
"pinata.cloud"- API_BASE_URL =
"https://api.#{BASE_DOMAIN}/"- API_URL =
"#{API_BASE_URL}#{API_VERSION}/"- UPLOADS_URL =
"https://uploads.#{BASE_DOMAIN}/#{API_VERSION}/"
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
-
#pinata_jwt ⇒ Object
readonly
Returns the value of attribute pinata_jwt.
Instance Method Summary collapse
- #api_connection ⇒ Object
- #authentication ⇒ Object
- #files ⇒ Object
- #groups ⇒ Object
-
#initialize(pinata_jwt:, adapter: Faraday.default_adapter, stubs: nil) ⇒ Client
constructor
A new instance of Client.
- #inspect ⇒ Object
- #test_connection ⇒ Object
- #upload_connection ⇒ Object
Constructor Details
#initialize(pinata_jwt:, adapter: Faraday.default_adapter, stubs: nil) ⇒ Client
Returns a new instance of Client.
13 14 15 16 17 18 19 |
# File 'lib/pinata/client.rb', line 13 def initialize(pinata_jwt:, adapter: Faraday.default_adapter, stubs: nil) @pinata_jwt = pinata_jwt @adapter = adapter # Test stubs for requests @stubs = stubs end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
11 12 13 |
# File 'lib/pinata/client.rb', line 11 def adapter @adapter end |
#pinata_jwt ⇒ Object (readonly)
Returns the value of attribute pinata_jwt.
11 12 13 |
# File 'lib/pinata/client.rb', line 11 def pinata_jwt @pinata_jwt end |
Instance Method Details
#api_connection ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/pinata/client.rb', line 51 def api_connection @api_connection ||= Faraday.new(url: API_URL) do |conn| conn.request :authorization, :Bearer, pinata_jwt conn.request :json conn.response :json, content_type: "application/json" conn.adapter adapter, @stubs end end |
#authentication ⇒ Object
21 22 23 |
# File 'lib/pinata/client.rb', line 21 def authentication AuthenticationResource.new(self) end |
#files ⇒ Object
25 26 27 |
# File 'lib/pinata/client.rb', line 25 def files FilesResource.new(self) end |
#groups ⇒ Object
29 30 31 |
# File 'lib/pinata/client.rb', line 29 def groups GroupsResource.new(self) end |
#inspect ⇒ Object
60 61 62 |
# File 'lib/pinata/client.rb', line 60 def inspect "#<Pinata::Client>" end |
#test_connection ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/pinata/client.rb', line 33 def test_connection @test_connection ||= Faraday.new(url: API_BASE_URL) do |conn| conn.request :authorization, :Bearer, pinata_jwt conn.response :json, content_type: "application/json" conn.adapter adapter, @stubs end end |
#upload_connection ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/pinata/client.rb', line 41 def upload_connection @upload_connection ||= Faraday.new(url: UPLOADS_URL) do |conn| conn.request :authorization, :Bearer, pinata_jwt conn.request :multipart conn.request :json conn.response :json, content_type: "application/json" conn.adapter adapter, @stubs end end |