Sha256: 449764c63b212da84294670fba762f53a18c08295c8de898add437087ea199ab
Contents?: true
Size: 1013 Bytes
Versions: 7
Compression:
Stored size: 1013 Bytes
Contents
Use `settings` to parameterize an instance of the client. Inside the block you can define both `param`s and `option`s for a client constructor. See [dry-initializer docs][dry-initializer] for detailed description of the methods' syntax. ```ruby require "evil-client" require "dry-types" class CatsClient < Evil::Client settings do param :roor_url option :version, type: Dry::Types["coercible.int"], default: proc { 1 } option :login, type: Dry::Types["strict.string"] # required option :password, type: Dry::Types["strict.string"] # required end end ``` Now you can initialize a client: ```ruby client = CatsClient.new "https://cats.example.com", login: "cats_lover", password: "purr" ``` A container with assigned settings will be passed to blocks declaring [base_url][base_url], [connection][connection], and [operations][operation]. [base_url]: [connection]: [operation]: [dry-initializer]: http://dry-rb.org/gems/dry-initializer
Version data entries
7 entries across 7 versions & 1 rubygems