module Tainbox::ClassMethods

Attributes

tainbox_initializer_suppressed[RW]

Public Instance Methods

inherited(subclass) click to toggle source
# File lib/tainbox/class_methods.rb, line 6
def inherited(subclass)
  subclass.tainbox_attributes = tainbox_attributes.dup
  subclass.tainbox_initializer_suppressed = tainbox_initializer_suppressed
end
tainbox_initializer_suppressed?() click to toggle source
# File lib/tainbox/class_methods.rb, line 11
def tainbox_initializer_suppressed?
  !!tainbox_initializer_suppressed
end

Private Instance Methods

attribute(name, type = nil, **args) click to toggle source
# File lib/tainbox/class_methods.rb, line 23
def attribute(name, type = nil, **args)
  args = args.dup
  define_reader = args.fetch(:reader, true)
  define_writer = args.fetch(:writer, true)

  definer = Tainbox::AttributeDefiner.new(self, name, type, args)
  definer.define_getter if define_reader
  definer.define_setter if define_writer
end
suppress_tainbox_initializer!() click to toggle source
# File lib/tainbox/class_methods.rb, line 33
def suppress_tainbox_initializer!
  self.tainbox_initializer_suppressed = true
end