Sha256: 2906b7e037012791005d5d4a47ba6dff9b193b8eda4159a420a08ff7b10db2e1

Contents?: true

Size: 857 Bytes

Versions: 9

Compression:

Stored size: 857 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
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
engineyard-cloud-client-1.0.12 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.11 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.10 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.9 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.8 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.7 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.6 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.5 lib/engineyard-cloud-client/models/account.rb
engineyard-cloud-client-1.0.4 lib/engineyard-cloud-client/models/account.rb