<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/delegate.rb, branch v2_4_0_preview2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Add frozen_string_literal: false for all files</title>
<updated>2015-12-16T05:07:31+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-12-16T05:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3e92b635fb5422207b7bbdc924e292e51e21f040'/>
<id>3e92b635fb5422207b7bbdc924e292e51e21f040</id>
<content type='text'>
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: Remove backtrace cleaning for delegated methods</title>
<updated>2015-09-09T02:12:52+00:00</updated>
<author>
<name>zzak</name>
<email>zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-09-09T02:12:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0a4129cb7a4e46b810046ccf04e73ec5db6166a8'/>
<id>0a4129cb7a4e46b810046ccf04e73ec5db6166a8</id>
<content type='text'>
  This patch was provided by Rafael França and greatly improves
  performance when an exception is raised. [Bug #11461]

  Before:
    Calculating -------------------------------------
             default    86.209k i/100ms
     default raising     2.209k i/100ms
    -------------------------------------------------
             default      1.953M (±11.0%) i/s -      9.655M
     default raising     21.826k (±13.5%) i/s -    108.241k

  After:
    Calculating -------------------------------------
             default    72.211k i/100ms
     default raising    34.288k i/100ms
    -------------------------------------------------
             default      2.013M (±18.7%) i/s -      9.460M
     default raising    623.950k (± 9.7%) i/s -      3.120M

  Benchmark:
    require 'delegate'
    require 'benchmark/ips'

    class Foo
      def name
        'foo'
      end

      def bla
        raise
      end
    end

    class Bar &lt; DelegateClass(Foo)
    end

    bar = Bar.new(Foo.new)

    Benchmark.ips do |b|
      b.report('default') { bar.name }
      b.report('default raising') { bar.bla rescue nil }
    end


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  This patch was provided by Rafael França and greatly improves
  performance when an exception is raised. [Bug #11461]

  Before:
    Calculating -------------------------------------
             default    86.209k i/100ms
     default raising     2.209k i/100ms
    -------------------------------------------------
             default      1.953M (±11.0%) i/s -      9.655M
     default raising     21.826k (±13.5%) i/s -    108.241k

  After:
    Calculating -------------------------------------
             default    72.211k i/100ms
     default raising    34.288k i/100ms
    -------------------------------------------------
             default      2.013M (±18.7%) i/s -      9.460M
     default raising    623.950k (± 9.7%) i/s -      3.120M

  Benchmark:
    require 'delegate'
    require 'benchmark/ips'

    class Foo
      def name
        'foo'
      end

      def bla
        raise
      end
    end

    class Bar &lt; DelegateClass(Foo)
    end

    bar = Bar.new(Foo.new)

    Benchmark.ips do |b|
      b.report('default') { bar.name }
      b.report('default raising') { bar.bla rescue nil }
    end


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]</title>
<updated>2015-06-13T19:17:19+00:00</updated>
<author>
<name>eregon</name>
<email>eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-06-13T19:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3f2d575f8c2f9b503afe733010041a55fd8baf37'/>
<id>3f2d575f8c2f9b503afe733010041a55fd8baf37</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: fix a typo.</title>
<updated>2015-04-23T01:01:44+00:00</updated>
<author>
<name>hsbt</name>
<email>hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-04-23T01:01:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bd29cec6bbd9e2c0a1159694bed0cd4e25bc7c71'/>
<id>bd29cec6bbd9e2c0a1159694bed0cd4e25bc7c71</id>
<content type='text'>
  [fix GH-881][ci skip] Patch by @Zorbash

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  [fix GH-881][ci skip] Patch by @Zorbash

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: split executable code into sample directory.</title>
<updated>2014-07-26T17:11:56+00:00</updated>
<author>
<name>hsbt</name>
<email>hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-07-26T17:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6d6bd262704323f20064cf7ba2f30387d5a10029'/>
<id>6d6bd262704323f20064cf7ba2f30387d5a10029</id>
<content type='text'>
* sample/delegate.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sample/delegate.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: [DOC] Document raise in Delegator class</title>
<updated>2014-05-30T18:52:30+00:00</updated>
<author>
<name>zzak</name>
<email>zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-05-30T18:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cfe2cbda54de9b9b64de42dcd091f8e0b2bbdcee'/>
<id>cfe2cbda54de9b9b64de42dcd091f8e0b2bbdcee</id>
<content type='text'>
  Patch by @lucasmazza. [Fixes GH-621]
  https://github.com/ruby/ruby/pull/621


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Patch by @lucasmazza. [Fixes GH-621]
  https://github.com/ruby/ruby/pull/621


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/delegate.rb: Fix example of using delegator.</title>
<updated>2014-05-08T19:02:36+00:00</updated>
<author>
<name>ayumin</name>
<email>ayumin@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-05-08T19:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2ff10784e48e4784ed1b03244e556092a54ead11'/>
<id>2ff10784e48e4784ed1b03244e556092a54ead11</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>delegate.rb: keep special methods</title>
<updated>2014-01-17T11:05:03+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-01-17T11:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bcaec55695c0592b911d361750834ef0c1a7842f'/>
<id>bcaec55695c0592b911d361750834ef0c1a7842f</id>
<content type='text'>
* lib/delegate.rb (Delegator): keep source information methods
  which start and end with '__'.  [ruby-core:58572] [Bug #9155]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/delegate.rb (Delegator): keep source information methods
  which start and end with '__'.  [ruby-core:58572] [Bug #9155]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>delegate.rb: ignore unset target</title>
<updated>2013-12-04T03:47:57+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-04T03:47:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fc4de12302ab0e83e2bd0c76b9c3d4e7b3cbfee8'/>
<id>fc4de12302ab0e83e2bd0c76b9c3d4e7b3cbfee8</id>
<content type='text'>
* lib/delegate.rb (Delegator#method_missing): ignore the target if not
  set, and delegate to global methods.  [ruby-core:58572] [Bug #9155]
* lib/delegate.rb (Delegator#respond_to_missing): ditto.
* lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if
  not delegated but a block is given, like as Hash#fetch.
* lib/delegate.rb (DelegateClass#__getobj__): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/delegate.rb (Delegator#method_missing): ignore the target if not
  set, and delegate to global methods.  [ruby-core:58572] [Bug #9155]
* lib/delegate.rb (Delegator#respond_to_missing): ditto.
* lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if
  not delegated but a block is given, like as Hash#fetch.
* lib/delegate.rb (DelegateClass#__getobj__): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>delegate.rb: check if target is set</title>
<updated>2013-11-21T09:47:31+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-21T09:47:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bb6607404a993c98d1ede9560b0f34c7551bf0f5'/>
<id>bb6607404a993c98d1ede9560b0f34c7551bf0f5</id>
<content type='text'>
* lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set.
* lib/delegate.rb (DelegateClass#__getobj__): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/delegate.rb (SimpleDelegator#__getobj__): target object must be set.
* lib/delegate.rb (DelegateClass#__getobj__): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
