Sha256: 1482cd542d6352852a1e8f8c17ea504232e9bbbf7b3e804ba1ede75b47717847

Contents?: true

Size: 1.19 KB

Versions: 23

Compression:

Stored size: 1.19 KB

Contents

require 'miasma'

module Miasma
  module Models
    class Orchestration
      class Stack

        # Abstract stack resources collection
        class Resources < Types::Collection

          # @return [Miasma::Models::Orchestration::Stack]
          attr_reader :stack

          # Override to capture originating stack
          #
          # @param stack [Stack]
          def initialize(stack)
            @stack = stack
            super stack.api
          end

          # Return resources matching given filter
          #
          # @param options [Hash] filter options
          # @return [Array<Resources>]
          def filter(options={})
            raise NotImplementedError
          end

          # Build a new resource instance
          #
          # @param args [Hash] creation options
          # @return [Resource]
          def build(args={})
            Resource.new(stack, args.to_smash)
          end

          # @return [Resource] collection item class
          def model
            Resource
          end

          protected

          # @return [Array<Resources>]
          def perform_population
            api.resource_all(stack)
          end

        end

      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
miasma-0.3.2 lib/miasma/models/orchestration/resources.rb
miasma-0.3.0 lib/miasma/models/orchestration/resources.rb
miasma-0.2.38 lib/miasma/models/orchestration/resources.rb
miasma-0.2.36 lib/miasma/models/orchestration/resources.rb
miasma-0.2.34 lib/miasma/models/orchestration/resources.rb
miasma-0.2.32 lib/miasma/models/orchestration/resources.rb
miasma-0.2.30 lib/miasma/models/orchestration/resources.rb
miasma-0.2.28 lib/miasma/models/orchestration/resources.rb
miasma-0.2.26 lib/miasma/models/orchestration/resources.rb
miasma-0.2.24 lib/miasma/models/orchestration/resources.rb
miasma-0.2.22 lib/miasma/models/orchestration/resources.rb
miasma-0.2.20 lib/miasma/models/orchestration/resources.rb
miasma-0.2.18 lib/miasma/models/orchestration/resources.rb
miasma-0.2.16 lib/miasma/models/orchestration/resources.rb
miasma-0.2.14 lib/miasma/models/orchestration/resources.rb
miasma-0.2.12 lib/miasma/models/orchestration/resources.rb
miasma-0.2.10 lib/miasma/models/orchestration/resources.rb
miasma-0.2.8 lib/miasma/models/orchestration/resources.rb
miasma-0.2.6 lib/miasma/models/orchestration/resources.rb
miasma-0.2.4 lib/miasma/models/orchestration/resources.rb