Sha256: 31f2f270456bd1c170639ac8c195ff00a4c89d71990f7f4ba5eaf2346ce6893d
Contents?: true
Size: 895 Bytes
Versions: 1
Compression:
Stored size: 895 Bytes
Contents
module Mutant # A simple delegator with opinions module Delegator # Class level mixins module ClassMethods private # Create delegators to object # # @return [undefined] # # @api private # def delegate(*names) names.each(&method(:define_delegator)) end # Create delegator to object # # @param [Symbol] name # # @return [undefined] # # @api private # def define_delegator(name) define_method(name) do object.public_send(name) end private name end end # ClassMethods # Hook called when module is included # # @param [Class,Module] host # # @return [undefined] # # @api private # def self.included(host) super host.extend(ClassMethods) end end # Delegator end # Mutant
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mutant-0.5.24 | lib/mutant/delegator.rb |