for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
module Koine
module Attributes
module Adapter
class Base
def coerce(*_values)
raise NotImplementedError
end
def default_value
@default_value.respond_to?(:call) &&
@default_value.call ||
@default_value
def with_default_value(value = nil, &block)
@default_value = value
@default_value = block if block
self
protected
# duplicates if possible and freezes object
def secure
value = yield
value = value.dup if value.respond_to?(:dup)
value.freeze