Sha256: 408bbb9e90cf91a4528d0b22c0280e1ab6564256b4851bed4112e1838d3b5b45

Contents?: true

Size: 774 Bytes

Versions: 1

Compression:

Stored size: 774 Bytes

Contents

require 'net/http'

module Noip
  class Updater

    def initialize(credentials)
      @credentials = credentials
      initialize_http_request
    end

    def update
      @response ||= http.request(request)
    end

  private

    attr_reader :credentials, :http, :request, :response

    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

    def agent
      @agent ||= Noip::Agent.new
    end

    def remote_ip
      @remote_ip ||= Noip::RemoteIp.new
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
noip-0.2 lib/noip/updater.rb