Sha256: 9f64f519b303f3bf15990a9759ebf05966f75bcfc7438d95b2650788c72097f1
Contents?: true
Size: 863 Bytes
Versions: 4
Compression:
Stored size: 863 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 # # @api private # def self.included(host) super host.extend(ClassMethods) end end # Delegator end # Mutant
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mutant-0.5.23 | lib/mutant/delegator.rb |
mutant-0.5.22 | lib/mutant/delegator.rb |
mutant-0.5.21 | lib/mutant/delegator.rb |
mutant-0.5.20 | lib/mutant/delegator.rb |