Class: Redfinger::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(email, uri_template = nil) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
14
15
# File 'lib/redfinger/client.rb', line 9

def initialize(email, uri_template = nil)
  self. = normalize(email)
  self.domain = .split('@').last

  self.xrd_timeout = 10
  self.xrd_open_timeout = 5
end

Instance Attribute Details

#accountObject

Returns the value of attribute account.



7
8
9
# File 'lib/redfinger/client.rb', line 7

def 
  @account
end

#domainObject

Returns the value of attribute domain.



7
8
9
# File 'lib/redfinger/client.rb', line 7

def domain
  @domain
end

#uri_templateObject

Returns the value of attribute uri_template.



7
8
9
# File 'lib/redfinger/client.rb', line 7

def uri_template
  @uri_template
end

#xrd_open_timeoutObject

Returns the value of attribute xrd_open_timeout.



7
8
9
# File 'lib/redfinger/client.rb', line 7

def xrd_open_timeout
  @xrd_open_timeout
end

#xrd_timeoutObject

Returns the value of attribute xrd_timeout.



7
8
9
# File 'lib/redfinger/client.rb', line 7

def xrd_timeout
  @xrd_timeout
end

Instance Method Details

#fingerObject



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

def finger
  self.uri_template ||= retrieve_template_from_xrd
  begin
    return Finger.new self., RestClient.get(swizzle).body
  rescue RestClient::ResourceNotFound
    return Finger.new self., RestClient.get(swizzle()).body
  end
end

#xrd_url(ssl = true) ⇒ Object



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

def xrd_url(ssl = true)
  "http#{'s' if ssl}://#{domain}/.well-known/host-meta"
end