Class: Strict::Attributes::GeneratedMethods
- Inherits:
-
Module
- Object
- Module
- Strict::Attributes::GeneratedMethods
- Defined in:
- lib/strict/attributes/generated_methods.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(configuration, writable:, target:, declared_attributes:) ⇒ GeneratedMethods
constructor
A new instance of GeneratedMethods.
Constructor Details
#initialize(configuration, writable:, target:, declared_attributes:) ⇒ GeneratedMethods
Returns a new instance of GeneratedMethods.
44 45 46 47 48 49 50 51 52 |
# File 'lib/strict/attributes/generated_methods.rb', line 44 def initialize(configuration, writable:, target:, declared_attributes:) super() validate_collisions!(target, declared_attributes, writable: writable) configuration.each do |attribute| define_reader(attribute) define_writer(attribute) if writable end end |
Class Method Details
.install_on(target, writable:) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/strict/attributes/generated_methods.rb', line 11 def install_on(target, writable:) installation = ->(receiver, &definition) { install_attributes_on(receiver, writable, &definition) } target.define_singleton_method(:attributes) do |&definition| installation.call(self, &definition) end end |