Sha256: ee1962123df223aed39fec199a0c26fa8ba93faec47e0d07f35ce2ed9e2ae3f0
Contents?: true
Size: 817 Bytes
Versions: 8
Compression:
Stored size: 817 Bytes
Contents
# frozen_string_literal: true module RubyLokaliseApi module Concerns # Allows to set supported attributes for classes module AttrsLoadable class << self def extended(klass) klass.class_exec do define_method :supported_attrs do that_klass = self.class that_klass.const_defined?(:ATTRS) ? that_klass.const_get(:ATTRS) : [] end end end end def inherited(subclass) klass_attributes = attributes_for subclass, const_get(:ATTRS_FILENAME) if klass_attributes&.any? subclass.class_exec do const_set :ATTRS, klass_attributes attr_reader(*klass_attributes) end end super end end end end
Version data entries
8 entries across 8 versions & 1 rubygems