Class: Regis::Client

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

Constant Summary collapse

REQUEST_CLASSES =
[ Regis::Endpoint::Section, Regis::Endpoint::Sections ]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = nil) ⇒ Client

Returns a new instance of Client.



18
19
20
21
22
23
24
25
# File 'lib/regis/client.rb', line 18

def initialize(options = nil)
    @configuration = nil
    define_request_methods
    
    unless options.nil?
        @configuration = Configuration.new(options)
    end
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



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

def configuration
  @configuration
end

Instance Method Details

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

Yields:



27
28
29
30
# File 'lib/regis/client.rb', line 27

def configure
    @configuration = Configuration.new
    yield(@configuration)
end

#connectionObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/regis/client.rb', line 32

def connection
    return @connection if instance_variable_defined?(:@connection)
    @connection = Faraday.new(@configuration.url, :ssl => {:verify => false}) do |faraday|
        faraday.basic_auth(@configuration.username, @configuration.password)
        faraday.request :json

        faraday.response :json, :content_type => /\bjson$/
        #faraday.response :logger
        
        faraday.response :caching do
            @configuration.cache
        end
                        
        faraday.use :cookie_jar #preserve the servicestack session
        faraday.adapter Faraday.default_adapter
    end
end