Sha256: 88908f3c4ac801b216e1e9c7a08592455fd856a7889bb96350213b863fd3df23

Contents?: true

Size: 744 Bytes

Versions: 11

Compression:

Stored size: 744 Bytes

Contents

module Martyr
  class DimensionReference
    attr_reader :dimension_definition
    delegate :name, to: :dimension_definition

    include Martyr::HasLevelCollection

    delegate :lowest_level, :level_above, :find_level, :level_names, :level_objects, :has_level?,
      :has_dimension_level, :register_level, to: :levels

    # For reflection
    def dimension?
      true
    end

    def initialize(dimension_definition, levels_collection_class, &block)
      @dimension_definition = dimension_definition
      @levels = levels_collection_class.new(dimension: self, &block)
    end

    # @param mod [Module]
    def register_element_helper_methods(mod)
      level_objects.each {|l| l.register_element_helper_methods(mod)}
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

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