Sha256: b93078d5a4ad4db0b12aab7cc8bce47818dabc3f9fc7b105ddab8e12d4ebed5f
Contents?: true
Size: 539 Bytes
Versions: 5
Compression:
Stored size: 539 Bytes
Contents
# frozen_string_literal: true module EacRubyUtils module ActsAsImmutable module ClassMethods def immutable_accessor(*accessors) options = accessors.extract_options! options[:type] ||= const_get('TYPE_COMMON') accessors.each do |name| class_name = "#{options.fetch(:type).to_s.camelize}Accessor" ::EacRubyUtils::ActsAsImmutable.const_get(class_name).new(name).apply(self) end end private def imutable_single_accessor(name, options); end end end end
Version data entries
5 entries across 5 versions & 2 rubygems