Class: Sofia::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/sofia/client.rb

Constant Summary collapse

HTTP_METHODS =
%w[get post put patch delete].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_url:, adapter:, options: nil) ⇒ Client

: (base_url: untyped, adapter: untyped, ?options: untyped) -> void



9
10
11
12
13
# File 'lib/sofia/client.rb', line 9

def initialize(base_url:, adapter:, options: nil)
  @base_url = Sofia::Types::Client::BaseUrl.new(base_url) #: Sofia::Types::Client::BaseUrl
  @adapter  = Sofia::Types::Client::Adapter.new(adapter) #: Sofia::Types::Client::Adapter
  @options  = Sofia::Types::Client::Options.new(options).value #: Sofia::Options
end

Instance Attribute Details

#optionsObject (readonly)

: Sofia::Options



26
27
28
# File 'lib/sofia/client.rb', line 26

def options
  @options
end

Instance Method Details

#adapterObject

: -> Symbol



21
22
23
# File 'lib/sofia/client.rb', line 21

def adapter
  @adapter.to_sym
end

#base_urlObject

: -> String



16
17
18
# File 'lib/sofia/client.rb', line 16

def base_url
  @base_url.to_s
end

#deleteObject

: ?{ (Request req) -> untyped } -> Response



41
# File 'lib/sofia/client.rb', line 41

def delete(&) = request(:delete, &)

#getObject

: ?{ (Request req) -> untyped } -> Response



29
# File 'lib/sofia/client.rb', line 29

def get(&) = request(:get, &)

#patchObject

: ?{ (Request req) -> untyped } -> Response



38
# File 'lib/sofia/client.rb', line 38

def patch(&) = request(:patch, &)

#postObject

: ?{ (Request req) -> untyped } -> Response



32
# File 'lib/sofia/client.rb', line 32

def post(&) = request(:post, &)

#putObject

: ?{ (Request req) -> untyped } -> Response



35
# File 'lib/sofia/client.rb', line 35

def put(&) = request(:put, &)