module NeverBounce::API::Feature::Oattrs::ClassMethods
Public Instance Methods
oattr(name, type)
click to toggle source
Declare an OTF attribute.
class Klass oattr :first_name, :writer oattr :goods, :custom def first_name @first_name ||= ENV["FIRST_NAME"] end def goods @goods ||= ... def goods=(ar) @goods = ar ...
@return [Symbol] name
. @see InstanceMethods#touch
# File lib/never_bounce/api/feature/oattrs.rb, line 53 def oattr(name, type) case type when :custom # Do nothing, just register attr below. when :writer attr_writer name else raise ArgumentError, "Unknown type: #{type.inspect}" end # Register and return. name.tap { oattrs << name} end
oattrs()
click to toggle source
Return oattrs declared so far, recurse all superclasses.
oattrs # => [:first_name, :last_name]
@!attribute oattrs @return [Array]
# File lib/never_bounce/api/feature/oattrs.rb, line 22 def oattrs @attrs ||= if superclass.respond_to?(m = :oattrs) superclass.send(m).dup else [] end end
oattrs=(ar)
click to toggle source
# File lib/never_bounce/api/feature/oattrs.rb, line 30 def oattrs=(ar) @oattrs = ar end