lib/sub_diff/buildable.rb
module SubDiff
# This module allows classes to accept a {Builder} object as
# an initializer argument and defines an `attr_reader` for it.
#
# It also delegates commonly used methods to the {Builder} instance.
#
# Used internally by {Adapter}, {Differ}, and {Sub}.
#
# @api private
module Buildable
attr_reader :builder
def initialize(builder)
@builder = builder
end
def self.included(base)
base.extend(Forwardable)
base.def_delegators(:builder, :diff_method, :differ, :string)
end
end
end