Sha256: b6dfd07f4ff7b4962a3b9425d76ae17e0ab9da443090565793ba4b9a04f1a5c8

Contents?: true

Size: 446 Bytes

Versions: 1

Compression:

Stored size: 446 Bytes

Contents

# frozen_string_literal: true

module RenamedDelegate
  include Forwardable

  def renamed_delegate_to(getter, methods, renamings)
    methods.each do |method|
      method_name = method.to_s
      renamed_method_name = renamings.inject(method_name) do |name, (word, sub)|
        name.gsub word, sub
      end
      if renamed_method_name != method_name
        def_delegator getter, method_name, renamed_method_name
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-core-4.0.0.rc1 lib/shoes/renamed_delegate.rb