trabajo-afectivo/lib/sequencer/unit/common/provider/named.rb

31 lines
657 B
Ruby

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
class Sequencer
class Unit
module Common
module Provider
class Named < Sequencer::Unit::Common::Provider::Attribute
module ClassMethods
def named_provide
name.demodulize.underscore.to_sym
end
end
def self.inherited(base)
super
base.extend(ClassMethods)
base.provides(base.named_provide)
base.extend(Forwardable)
end
def provides
self.class.named_provide
end
end
end
end
end
end