Sha256: dbc1d1b60acc89ba59333bb8197be8c8b7cfa4fb877e22ee74a83bfe8eb1e7ac
Contents?: true
Size: 539 Bytes
Versions: 23
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
23 entries across 23 versions & 2 rubygems