Module: Lusnoc

Defined in:
lib/lusnoc.rb,
lib/lusnoc/guard.rb,
lib/lusnoc/mutex.rb,
lib/lusnoc/helper.rb,
lib/lusnoc/session.rb,
lib/lusnoc/version.rb,
lib/lusnoc/watcher.rb,
lib/lusnoc/exceptions.rb,
lib/lusnoc/configuration.rb

Defined Under Namespace

Modules: Helper Classes: Configuration, Error, ExpiredError, Guard, Mutex, Session, TimeoutError, Watcher

Constant Summary collapse

VERSION =
'1.0.1'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



14
15
16
# File 'lib/lusnoc.rb', line 14

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



22
23
24
25
# File 'lib/lusnoc.rb', line 22

def configure
  self.configuration ||= Lusnoc::Configuration.new
  yield(configuration)
end

.http_get(url, timeout: Lusnoc.configuration.http_timeout) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/lusnoc.rb', line 27

def http_get(url, timeout: Lusnoc.configuration.http_timeout)
  uri = URI(url)

  with_http(uri, timeout: timeout) do |http|
    req = Net::HTTP::Get.new(uri)

    # configure http and request before send
    yield(http, req) if block_given?
    http.request(req)
  end
end

.http_put(url, value = nil, timeout: Lusnoc.configuration.http_timeout) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/lusnoc.rb', line 39

def http_put(url, value = nil, timeout: Lusnoc.configuration.http_timeout)
  uri = URI(url)
  data = value.is_a?(String) ? value : JSON.generate(value) unless value.nil?

  with_http(uri, timeout: timeout) do |http|
    req = Net::HTTP::Put.new(uri).tap do |r|
      r.body = data
      r['Content-Type'] = 'application/json'
    end

    # configure http and request before send
    yield(http, req) if block_given?
    http.request(req)
  end
end