Module: Sink
- Defined in:
- lib/sink.rb,
lib/sink/tag.rb,
lib/sink/keys.rb,
lib/sink/link.rb,
lib/sink/page.rb,
lib/sink/error.rb,
lib/sink/client.rb,
lib/sink/version.rb
Defined Under Namespace
Modules: Keys
Classes: Client, Configuration, Conflict, ConnectionError, Error, Forbidden, Link, NotFound, Page, RateLimited, ServerError, StorageNotReady, Tag, TimeoutError, Unauthorized, ValidationError
Constant Summary
collapse
- CLIENT_MUTEX =
Mutex.new
- VERSION =
"0.2.1"
Class Method Summary
collapse
Class Method Details
.client ⇒ Object
37
38
39
40
41
|
# File 'lib/sink.rb', line 37
def client
return @client if @client
CLIENT_MUTEX.synchronize { @client ||= Client.new(**configuration.to_h) }
end
|
.configuration ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/sink.rb', line 29
def configuration
return @configuration if @configuration
CLIENT_MUTEX.synchronize do
@configuration ||= Configuration.new(open_timeout: 5, read_timeout: 30)
end
end
|
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/sink.rb', line 17
def configure
configured = configuration.dup
yield configured
CLIENT_MUTEX.synchronize do
@configuration = configured
@client = nil
end
configured
end
|