kagemusha 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.ja.txt ADDED
@@ -0,0 +1,22 @@
1
+
2
+ == 0.0.5 2008-07-16
3
+
4
+ * Kernelモジュールのメソッドの復元に失敗する不具合を修正
5
+
6
+ == 0.0.4 2008-07-09
7
+
8
+ * インスタンスメソッド、クラスメソッドの復元に失敗する不具合を修正
9
+ * newgem 0.25.0で生成したパッケージに変更
10
+
11
+ == 0.0.3 2007-09-10
12
+
13
+ * インスタンスメソッド、クラスメソッドの追加/削除機能を追加
14
+
15
+ == 0.0.2 2007-08-27
16
+
17
+ * ブロックによる初期化機能を追加
18
+ * 各種スタイルでの記述例を追加
19
+
20
+ == 0.0.1 2007-08-15
21
+
22
+ * 初版
data/History.txt CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ == 0.0.5 2008-07-16
3
+
4
+ ...
5
+
2
6
  == 0.0.4 2008-07-09
3
7
 
4
8
  ...
data/Manifest.txt CHANGED
@@ -1,3 +1,4 @@
1
+ History.ja.txt
1
2
  History.txt
2
3
  License.txt
3
4
  Manifest.txt
@@ -1,6 +1,6 @@
1
1
 
2
2
  #==============================================================================#
3
- # $Id: core.rb 58 2008-07-09 07:02:25Z yuyakato $
3
+ # $Id: core.rb 67 2008-07-16 04:15:10Z yuyakato $
4
4
  #==============================================================================#
5
5
 
6
6
  class Kagemusha #:nodoc:
@@ -73,7 +73,11 @@ class Kagemusha #:nodoc:
73
73
  begin
74
74
  # replace method
75
75
  method = @klass.instance_method(name)
76
- method = :remove unless @klass.instance_methods(false).include?(name.to_s)
76
+ if @klass == Kernel
77
+ method = :remove unless @klass.methods(false).include?(name.to_s)
78
+ else
79
+ method = :remove unless @klass.instance_methods(false).include?(name.to_s)
80
+ end
77
81
  @klass.instance_eval { define_method(name, proc) }
78
82
  original_instance_methods[name] = method
79
83
  rescue NameError
@@ -1,13 +1,13 @@
1
1
 
2
2
  #==============================================================================#
3
- # $Id: version.rb 48 2008-07-09 02:41:13Z yuyakato $
3
+ # $Id: version.rb 69 2008-07-16 04:18:55Z yuyakato $
4
4
  #==============================================================================#
5
5
 
6
6
  class Kagemusha #:nodoc:
7
7
  module VERSION #:nodoc:
8
8
  MAJOR = 0
9
9
  MINOR = 0
10
- TINY = 4
10
+ TINY = 5
11
11
 
12
12
  STRING = [MAJOR, MINOR, TINY].join('.')
13
13
  end
data/test/test_bugs.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  #==============================================================================#
3
- # $Id: test_bugs.rb 52 2008-07-09 05:24:17Z yuyakato $
3
+ # $Id: test_bugs.rb 66 2008-07-16 03:04:32Z yuyakato $
4
4
  #==============================================================================#
5
5
 
6
6
  require File.dirname(__FILE__) + "/test_helper.rb"
@@ -87,6 +87,20 @@ class TestBugs < Test::Unit::TestCase
87
87
 
88
88
  assert_equal(:original, child_c.target)
89
89
  end
90
+
91
+ def test_report02
92
+ musha = Kagemusha.new(Kernel)
93
+ musha.def(:Integer) { :replaced }
94
+
95
+ assert(1, Integer("1"))
96
+
97
+ musha.swap {
98
+ assert_equal(:replaced, Integer("1"))
99
+ }
100
+
101
+ # NoMethodError: undefined method `Integer' for #<TestBugs:0x.......>
102
+ assert(1, Integer("1"))
103
+ end
90
104
  end
91
105
 
92
106
  #==============================================================================#
data/test/test_rand.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  #==============================================================================#
3
- # $Id: test_rand.rb 37 2007-08-27 13:02:39Z yuyakato $
3
+ # $Id: test_rand.rb 68 2008-07-16 04:17:33Z yuyakato $
4
4
  #==============================================================================#
5
5
 
6
6
  require File.dirname(__FILE__) + "/test_helper.rb"
@@ -15,6 +15,9 @@ class TestKagemushaRand < Test::Unit::TestCase
15
15
  def test_always
16
16
  musha = Kagemusha::Rand.always(1)
17
17
  assert_equal(Kernel, musha.instance_eval { @klass })
18
+
19
+ assert_equal([0, 1, 2], (1..100).map { rand(3) }.sort.uniq)
20
+
18
21
  musha.swap {
19
22
  assert_equal(1, rand)
20
23
  assert_equal(1, rand(2))
@@ -22,6 +25,8 @@ class TestKagemushaRand < Test::Unit::TestCase
22
25
  assert_equal(1, rand(4))
23
26
  assert_equal(1, rand(5))
24
27
  }
28
+
29
+ assert_equal([0, 1, 2], (1..100).map { rand(3) }.sort.uniq)
25
30
  end
26
31
 
27
32
  def test_always_with_block
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kagemusha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuya Kato
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-10 00:00:00 +09:00
12
+ date: 2008-07-16 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,6 +30,7 @@ executables: []
30
30
  extensions: []
31
31
 
32
32
  extra_rdoc_files:
33
+ - History.ja.txt
33
34
  - History.txt
34
35
  - License.txt
35
36
  - Manifest.txt
@@ -37,6 +38,7 @@ extra_rdoc_files:
37
38
  - README.txt
38
39
  - website/index.txt
39
40
  files:
41
+ - History.ja.txt
40
42
  - History.txt
41
43
  - License.txt
42
44
  - Manifest.txt