mack_ruby_core_extensions 0.0.5 → 0.1.1

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.
Files changed (38) hide show
  1. data/doc/classes/Hash.html +41 -41
  2. data/doc/classes/Kernel.html +12 -10
  3. data/doc/classes/Object.html +146 -68
  4. data/doc/created.rid +1 -1
  5. data/doc/files/README.html +1 -1
  6. data/doc/files/lib/extensions/array_rb.html +1 -1
  7. data/doc/files/lib/extensions/class_rb.html +1 -1
  8. data/doc/files/lib/extensions/float_rb.html +1 -1
  9. data/doc/files/lib/extensions/hash_rb.html +8 -1
  10. data/doc/files/lib/extensions/kernel_rb.html +1 -1
  11. data/doc/files/lib/extensions/math_rb.html +1 -1
  12. data/doc/files/lib/extensions/method_not_implemented_rb.html +1 -1
  13. data/doc/files/lib/extensions/module_rb.html +1 -1
  14. data/doc/files/lib/extensions/nil_rb.html +1 -1
  15. data/doc/files/lib/extensions/object_rb.html +1 -1
  16. data/doc/files/lib/extensions/string_rb.html +1 -1
  17. data/doc/files/lib/extensions/symbol_rb.html +1 -1
  18. data/doc/files/lib/mack_ruby_core_extensions_rb.html +1 -1
  19. data/doc/files/lib/utils/inflections_rb.html +1 -1
  20. data/doc/files/lib/utils/inflector_rb.html +1 -1
  21. data/doc/fr_file_index.html +0 -1
  22. data/lib/extensions/hash.rb +3 -2
  23. data/lib/extensions/kernel.rb +6 -2
  24. data/lib/extensions/object.rb +50 -39
  25. data/lib/mack_ruby_core_extensions.rb +1 -1
  26. data/test/extensions/float_test.rb +2 -0
  27. data/test/extensions/hash_test.rb +23 -7
  28. data/test/extensions/kernel_test.rb +9 -6
  29. data/test/extensions/math_test.rb +20 -5
  30. data/test/extensions/module_test.rb +0 -6
  31. data/test/extensions/nil_test.rb +0 -6
  32. data/test/extensions/object_test.rb +30 -6
  33. data/test/test_helper.rb +41 -0
  34. metadata +2 -6
  35. data/doc/files/lib/extensions/logger_rb.html +0 -101
  36. data/lib/extensions/logger.rb +0 -0
  37. data/test/extensions/logger_test.rb +0 -15
  38. data/test/extensions/method_not_implemented_test.rb +0 -15
@@ -1,12 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
2
 
3
3
  class ModuleTest < Test::Unit::TestCase
4
-
5
- def setup
6
- end
7
-
8
- def teardown
9
- end
10
4
 
11
5
  module ConvertMyMethodsPlease
12
6
  def foo
@@ -1,12 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper.rb'
2
2
 
3
3
  class NilTest < Test::Unit::TestCase
4
-
5
- def setup
6
- end
7
-
8
- def teardown
9
- end
10
4
 
11
5
  def test_blank
12
6
  assert nil.blank?
@@ -4,14 +4,38 @@ class ObjectTest < Test::Unit::TestCase
4
4
 
5
5
  needs_method :foo
6
6
 
7
- def setup
7
+ def test_needs_method
8
+ assert_raise(MethodNotImplemented) { foo }
8
9
  end
9
10
 
10
- def teardown
11
+ def test_send_with_chain
12
+ assert Fruit.send_with_chain([:new, :get_citrus, :class]) == Citrus
13
+ assert Fruit.send_with_chain([:new, :get_citrus, :get_orange, :class]) == Orange
11
14
  end
12
-
13
- def test_needs_method
14
- assert_raise(MethodNotImplemented) { foo }
15
+
16
+ def test_ivar_cache
17
+ assert @foo.nil?
18
+ ivar_cache("foo") do
19
+ "hello world"
20
+ end
21
+ assert_equal "hello world", @foo
22
+ o = Orange.new
23
+ assert_equal 10, o.add(3, 7)
24
+ assert_equal 10, o.instance_variable_get("@results")
25
+ assert_equal 10, o.add(33, 17)
26
+ assert_equal 10, o.instance_variable_get("@results")
27
+ o.ivar_cache_clear("results")
28
+ assert o.instance_variable_get("@results").nil?
29
+ assert_equal "hello world", o.say_hi("hello world")
30
+ assert_equal "hello world", o.say_hi("hello world, again")
31
+ assert_equal "hello world", o.instance_variable_get("@say_hi")
15
32
  end
16
-
33
+
34
+ def test_namespaces
35
+ dog = Animals::Dog.new
36
+ assert_equal ["Animals"], dog.namespaces
37
+ poodle = Animals::Dog::Poodle.new
38
+ assert_equal ["Animals", "Dog"], poodle.namespaces
39
+ end
40
+
17
41
  end
data/test/test_helper.rb CHANGED
@@ -6,15 +6,56 @@ require "test/unit"
6
6
  require File.join(File.dirname(__FILE__), "..", "lib", "mack_ruby_core_extensions.rb")
7
7
 
8
8
  class Fruit
9
+
10
+ def get_citrus
11
+ Citrus.new
12
+ end
13
+
9
14
  end
10
15
 
11
16
  class Citrus < Fruit
17
+
18
+ def get_orange
19
+ Orange.new
20
+ end
21
+
12
22
  end
13
23
 
14
24
  class Orange < Citrus
25
+
26
+ def add(x, y)
27
+ ivar_cache("results") do
28
+ x + y
29
+ end
30
+ end
31
+
32
+ def say_hi(message)
33
+ ivar_cache do
34
+ message
35
+ end
36
+ end
37
+
15
38
  end
16
39
 
17
40
  module Animals
18
41
  class Dog
42
+ class Poodle
43
+ end
44
+ end
45
+ end
46
+
47
+ class FauxLogger
48
+
49
+ def initialize
50
+ @messages = {:error => [], :warn => [], :fatal => [], :info => [], :debug => []}
51
+ end
52
+
53
+ def method_missing(sym, *args)
54
+ @messages[sym] << args.parse_splat_args
55
+ end
56
+
57
+ def messages
58
+ @messages
19
59
  end
60
+
20
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mack_ruby_core_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-03-25 00:00:00 -04:00
12
+ date: 2008-03-26 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -27,7 +27,6 @@ files:
27
27
  - lib/extensions/float.rb
28
28
  - lib/extensions/hash.rb
29
29
  - lib/extensions/kernel.rb
30
- - lib/extensions/logger.rb
31
30
  - lib/extensions/math.rb
32
31
  - lib/extensions/method_not_implemented.rb
33
32
  - lib/extensions/module.rb
@@ -58,7 +57,6 @@ files:
58
57
  - doc/files/lib/extensions/float_rb.html
59
58
  - doc/files/lib/extensions/hash_rb.html
60
59
  - doc/files/lib/extensions/kernel_rb.html
61
- - doc/files/lib/extensions/logger_rb.html
62
60
  - doc/files/lib/extensions/math_rb.html
63
61
  - doc/files/lib/extensions/method_not_implemented_rb.html
64
62
  - doc/files/lib/extensions/module_rb.html
@@ -114,9 +112,7 @@ test_files:
114
112
  - test/extensions/float_test.rb
115
113
  - test/extensions/hash_test.rb
116
114
  - test/extensions/kernel_test.rb
117
- - test/extensions/logger_test.rb
118
115
  - test/extensions/math_test.rb
119
- - test/extensions/method_not_implemented_test.rb
120
116
  - test/extensions/module_test.rb
121
117
  - test/extensions/nil_test.rb
122
118
  - test/extensions/object_test.rb
@@ -1,101 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>File: logger.rb</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="fileHeader">
50
- <h1>logger.rb</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>lib/extensions/logger.rb
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Fri Mar 14 12:40:30 -0400 2008</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
-
72
-
73
- </div>
74
-
75
-
76
- </div>
77
-
78
-
79
- <!-- if includes -->
80
-
81
- <div id="section">
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
- <!-- if method_list -->
91
-
92
-
93
- </div>
94
-
95
-
96
- <div id="validator-badges">
97
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
98
- </div>
99
-
100
- </body>
101
- </html>
File without changes
@@ -1,15 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper.rb'
2
-
3
- class LoggerTest < Test::Unit::TestCase
4
-
5
- def setup
6
- end
7
-
8
- def teardown
9
- end
10
-
11
- # replace this with tests of your own.
12
- def test_truth
13
- assert true
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- require File.dirname(__FILE__) + '/../test_helper.rb'
2
-
3
- class MethodNotImplementedTest < Test::Unit::TestCase
4
-
5
- def setup
6
- end
7
-
8
- def teardown
9
- end
10
-
11
- # replace this with tests of your own.
12
- def test_truth
13
- assert true
14
- end
15
- end