Sha256: 79b071a4369460b7e23e40b3e88122cd657b89e7b34dcee88909546388b2a43e

Contents?: true

Size: 1.24 KB

Versions: 162

Compression:

Stored size: 1.24 KB

Contents

module Eco
  module API
    class Session
      class Config
        class PostLaunch < BaseConfig
          include Enumerable

          def initialize(config:)
            @postcases = []
            super(config: config)
          end

          def length
            count
          end

          def empty?
            count == 0
          end

          def each(&block)
            return to_enum(:each) unless block
            items.each(&block)
          end

          def items
            @postcases
          end

          def add(name, type: nil)
            @postcases.push({
              name: name,
              type: type
            })
          end

          def select(usecases)
            raise "Required Eco::API::UseCases to select the target post cases" unless usecases.is_a?(Eco::API::UseCases)
            each_with_object([]) do |pc, targets|
              targets.push(usecases.case(pc[:name], type: pc[:type]))
            end
          end

          private

          def by_name
            @postcases.group_by {|pc| pc[:name]}
          end

          def by_type
            @postcases.group_by {|pc| pc[:type]}
          end

        end
      end
    end
  end
end

Version data entries

162 entries across 162 versions & 1 rubygems

Version Path
eco-helpers-3.0.21 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.20 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.19 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.18 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.17 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.16 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.15 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.14 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.13 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.12 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.11 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.10 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.9 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.8 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.7 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.6 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.5 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.4 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.3 lib/eco/api/session/config/post_launch.rb
eco-helpers-3.0.2 lib/eco/api/session/config/post_launch.rb