Sha256: 086d9555fb5550d2e4e0d1713230d457d6eee28ffab545cdcf91f9cb9bdde3ea

Contents?: true

Size: 562 Bytes

Versions: 11

Compression:

Stored size: 562 Bytes

Contents

module Martyr
  class LevelDefinitionsByDimension

    attr_reader :dimensions

    # @param levels [Martyr::Level, Array<Martyr::Level>]
    def initialize(levels = nil)
      @dimensions = {}
      Array.wrap(levels).each{|x| add_level(x)}
    end

    # @param level [Martyr::Level]
    def add_level(level)
      @dimensions[level.dimension_name] ||= {}
      @dimensions[level.dimension_name][level.id] = level
    end

    def lowest_levels
      dimensions.values.map do |levels_hash|
        levels_hash.values.max_by(&:to_i)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
martyr-0.1.85.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.84.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.82.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.81.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.80.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.79.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.78.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.77.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.76.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.75.pre lib/martyr/level_concern/level_definitions_by_dimension.rb
martyr-0.1.74.pre lib/martyr/level_concern/level_definitions_by_dimension.rb