class Noip::Updater

Attributes

credentials[R]
http[R]
request[R]
response[R]

Public Class Methods

new(credentials) click to toggle source
# File lib/noip/updater.rb, line 6
def initialize(credentials)
  @credentials = credentials
  initialize_http_request
end

Public Instance Methods

update() click to toggle source
# File lib/noip/updater.rb, line 11
def update
  @response ||= http.request(request)
end

Private Instance Methods

agent() click to toggle source
# File lib/noip/updater.rb, line 32
def agent
  @agent ||= Noip::Agent.new
end
initialize_http_request() click to toggle source
# File lib/noip/updater.rb, line 19
def initialize_http_request
  @http = Net::HTTP.new('dynupdate.no-ip.com')

  @request = Net::HTTP::Get.new(
    "/nic/update?hostname=#{credentials.host}&ip=#{remote_ip.address}",
    { 'User-Agent' => agent.user_agent }
  )
  @request.basic_auth(
    credentials.username,
    credentials.password
  )
end
remote_ip() click to toggle source
# File lib/noip/updater.rb, line 36
def remote_ip
  @remote_ip ||= Noip::RemoteIp.new
end