Sha256: 25e24ac0c971c7090caffe14a2f1bc796ea984bae0ba43ffde04714758ef23c3

Contents?: true

Size: 371 Bytes

Versions: 1

Compression:

Stored size: 371 Bytes

Contents

# frozen_string_literal: true

module Pleiades

  # Util Modules.
  module Util
    class << self
      def define_reader(hash)
        Struct.new(
          *hash.keys.map { |key| key.underscore.to_sym }
        ).new(
          *hash.values.map { |s| Hash === s ? define_reader(s) : s.freeze }
                      .map(&:freeze)
        )
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pleiades-0.1.1 lib/pleiades/core/util.rb