delegator

Decorates an object and delegates missing methods to it
0.1.0 Latest release released

Delegator

Decorates an object and delegates missing methods to it. Based on the code in this gist by @decors

Installation

Add this to your application's shard.yml:

dependencies:
  delegator:
    github: Schniz/delegator.cr

Usage

require "delegator"

# Given a class
class Person
  property name
  def initialize(@name); end
end

# Create a subclass of Delegator
class PersonDelegator < Delegator(Person)
  def greet
    "Hello, #{name}!"
  end
end

# Use it to decorate objects!

joe = Person.new("Joe")
PersonDelegator.delegate(joe).greet # "Hello Joe!"

Contributing

  1. Fork it ( https://github.com/Schniz/delegator/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • Schniz Gal Schlezinger - creator, maintainer
delegator:
  github: Schniz/delegator.cr
  version: ~> 0.1.0
License MIT
Crystal 0.23.1

Authors

Dependencies 0

Development Dependencies 0

Dependents 1

Last synced .
search fire star recently