Sha256: 6b7833151a2c3fb01de8fadb919fb2a5056ac1b3570b426de81646f9d468313d

Contents?: true

Size: 708 Bytes

Versions: 37

Compression:

Stored size: 708 Bytes

Contents

module Onoma
  class Relation < Array
    attr_reader :nomenclature

    alias find_each each

    def initialize(nomenclature, *args)
      super(*args)
      @nomenclature = nomenclature
    end

    %w[drop drop_while select reject reverse slice_after slice_before slice_when sort].each do |meth|
      define_method meth do |*args, &block|
        self.class.new(@nomenclature, super(*args, &block))
      end
    end

    def selection(sorted = true)
      unit_selec = collect do |item|
        [item.human_name, item.name.to_s]
      end
      if sorted
        unit_selec.sort! do |a, b|
          a.first.lower_ascii <=> b.first.lower_ascii
        end
      end

      unit_selec
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
onoma-0.9.3 lib/onoma/relation.rb
onoma-0.9.2 lib/onoma/relation.rb
onoma-0.9.1 lib/onoma/relation.rb
onoma-0.9.0 lib/onoma/relation.rb
onoma-0.8.9 lib/onoma/relation.rb
onoma-0.8.8 lib/onoma/relation.rb
onoma-0.8.7 lib/onoma/relation.rb
onoma-0.8.6 lib/onoma/relation.rb
onoma-0.8.5 lib/onoma/relation.rb
onoma-0.8.4 lib/onoma/relation.rb
onoma-0.8.3 lib/onoma/relation.rb
onoma-0.8.2 lib/onoma/relation.rb
onoma-0.8.1 lib/onoma/relation.rb
onoma-0.8.0 lib/onoma/relation.rb
onoma-0.7.0 lib/onoma/relation.rb
onoma-0.6.4 lib/onoma/relation.rb
onoma-0.6.3 lib/onoma/relation.rb
onoma-0.6.2 lib/onoma/relation.rb
onoma-0.6.0 lib/onoma/relation.rb
onoma-0.5.6 lib/onoma/relation.rb