[][https://rubygems.org/gems/concord]
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.
Tested under all >= 1.9 rubies.
Install the gem concord
via your preferred method.
See LICENSE