Sha256: 940aeea66129255311a8b3e27cfcfa6c8007b1a903d814992c01bdd66c30d50e

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

require 'json'

module Mulder
  class Instance

    attr_reader :fog_compute_instance

    def initialize(fog_compute_instance)
      @fog_compute_instance = fog_compute_instance
    end

    def id
      @fog_compute_instance.id
    end

    def dns_name
      @fog_compute_instance.dns_name
    end

    def public_ip_address
      @fog_compute_instance.public_ip_address
    end

    def private_ip_address
      @fog_compute_instance.private_ip_address
    end

    def availability_zone
      @fog_compute_instance.availability_zone
    end

    def vpc_id
      @fog_compute_instance.vpc_id
    end

    def created_at
      @fog_compute_instance.created_at
    end

    def as_hash
      @as_hash ||= {
        id: id,
        dns_name: dns_name,
        public_ip_address: public_ip_address,
        private_ip_address: private_ip_address,
        availability_zone: availability_zone,
        vpc_id: vpc_id,
        created_at: created_at
      }.delete_if { |_, value| value == '' || value == nil }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mulder-0.3.2 lib/mulder/instance.rb
mulder-0.3.1 lib/mulder/instance.rb
mulder-0.3.0 lib/mulder/instance.rb
mulder-0.2.1 lib/mulder/instance.rb
mulder-0.2.0 lib/mulder/instance.rb
mulder-0.1.0 lib/mulder/instance.rb
mulder-0.0.5 lib/mulder/instance.rb
mulder-0.0.4 lib/mulder/instance.rb