Project

concord

0.56
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Helper for object composition
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.1.26

Runtime

~> 0.2.0
~> 0.0.9
 Project Readme

concord

[Gem Version][https://rubygems.org/gems/concord] CI

Library to transform this:

class ComposedObject
  include Equalizer.new(:foo, :bar)

  # Return foo
  #
  # @return [Foo]
  #
  # @api private
  #
  attr_reader :foo
  protected :foo

  # Return bar
  #
  # @return [Bar]
  #
  # @api private
  #
  attr_reader :bar
  protected :bar

  # Initialize object
  #
  # @param [Foo] foo
  # @param [Bar] bar
  #
  # @return [undefined]
  #
  # @api private
  #
  def initialize(foo, bar)
    @foo, @bar = foo, bar
  end
end

Into shorter and easier to parse by eyes:

class ComposedObject
  include Concord.new(:foo, :bar)
end

You can still add YARD docs for generated interface.

Rubies

Tested under all >= 1.9 rubies.

Installation

Install the gem concord via your preferred method.

Credits

Contributing

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with Rakefile or version (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

License

See LICENSE