Sha256: bef7b5300d2b1101b2d0d4b8757a0a2556426b32113a1bf5053fa97435bc1723

Contents?: true

Size: 920 Bytes

Versions: 7

Compression:

Stored size: 920 Bytes

Contents

require 'engineyard-cloud-client/models/api_struct'

module EY
  class CloudClient
    class Account < ApiStruct.new(:id, :name)

      def self.all(api)
        self.from_array(api, api.get("/accounts")["accounts"])
      end

      def add_app(app)
        @apps ||= []
        existing_app = @apps.detect { |a| app.id == a.id }
        unless existing_app
          @apps << app
        end
        existing_app || app
      end

      def apps
        @apps ||= []
      end

      def add_environment(environment)
        @environments ||= []
        existing_environment = @environments.detect { |env| environment.id == env.id }
        unless existing_environment
          @environments << environment
        end
        existing_environment || environment
      end

      def environments
        @environments ||= []
      end

      def sort_attributes
        sort_string(name)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
engineyard-cloud-client-2.1.1 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-2.1.0 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.16 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-2.0.1 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-2.0.0 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.15 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.14 lib/engineyard-cloud-client/models/account.rb