Sha256: 00ac0e347452dd0393841047195a30a7d027bea89292b140171720ec0dd21b85

Contents?: true

Size: 696 Bytes

Versions: 10

Compression:

Stored size: 696 Bytes

Contents

require 'glare/domain/cf_zones'
require 'glare/errors'

module Glare
  class Domain
    class CfZones
      def self.from_result(api_response)
        result = api_response.result

        zones = result.map do |item|
          CfZone.new(
            id: item['id'],
            name: item['name']
          )
        end

        new(zones)
      end

      def initialize(zones)
        @zones = zones
      end

      def first_id
        raise ::Glare::Errors::NotExistingZoneError.new if @zones.empty?
        @zones.first.id
      end
    end

    class CfZone
      def initialize(id:, name:)
        @id = id
        @name = name
      end
      attr_reader :id, :name
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
glare-1.1.0 lib/glare/domain/cf_zones.rb
glare-1.0.0 lib/glare/domain/cf_zones.rb
glare-0.9.0 lib/glare/domain/cf_zones.rb
glare-0.8.0 lib/glare/domain/cf_zones.rb
glare-0.7.0 lib/glare/domain/cf_zones.rb
glare-0.6.0 lib/glare/domain/cf_zones.rb
glare-0.4.0 lib/glare/domain/cf_zones.rb
glare-0.2.2 lib/glare/domain/cf_zones.rb
glare-0.2.1 lib/glare/domain/cf_zones.rb
glare-0.2.0 lib/glare/domain/cf_zones.rb