Sha256: db8125b42190443b879fdfeae542eb37115b39eb8324aca59afc726f42a0aa57

Contents?: true

Size: 530 Bytes

Versions: 123

Compression:

Stored size: 530 Bytes

Contents

require 'tins/xt/string_version'

class Object
  def named(name, method, *args, &named_block)
    extend Module.new {
      define_method(name) do |*rest, &block|
        block = named_block if named_block
        __send__(method, *(args + rest), &block)
      end
    }
  end
end

class Module
  def named(name, method, *args, &named_block)
    include Module.new {
      define_method(name) do |*rest, &block|
        block = named_block if named_block
        __send__(method, *(args + rest), &block)
      end
    }
  end
end

Version data entries

123 entries across 109 versions & 8 rubygems

Version Path
tins-1.38.0 lib/tins/xt/named.rb
tins-1.37.1 lib/tins/xt/named.rb
tins-1.37.0 lib/tins/xt/named.rb
tins-1.36.1 lib/tins/xt/named.rb
tins-1.36.0 lib/tins/xt/named.rb
tins-1.35.0 lib/tins/xt/named.rb
tins-1.34.0 lib/tins/xt/named.rb
tins-1.33.0 lib/tins/xt/named.rb
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/named.rb
tins-1.32.1 lib/tins/xt/named.rb
tins-1.32.0 lib/tins/xt/named.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/named.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/lib/tins/xt/named.rb
tins-1.31.1 lib/tins/xt/named.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/tins-1.31.0/lib/tins/xt/named.rb
tins-1.31.0 lib/tins/xt/named.rb
tins-1.30.0 lib/tins/xt/named.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/tins-1.29.1/lib/tins/xt/named.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/lib/tins/xt/named.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/lib/tins/xt/named.rb