robsharp-extlib 0.9.15

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 (73) hide show
  1. data/.autotest +21 -0
  2. data/.document +5 -0
  3. data/.gitignore +22 -0
  4. data/LICENSE +47 -0
  5. data/README.rdoc +17 -0
  6. data/Rakefile +28 -0
  7. data/VERSION +1 -0
  8. data/extlib.gemspec +147 -0
  9. data/lib/extlib.rb +50 -0
  10. data/lib/extlib/array.rb +38 -0
  11. data/lib/extlib/assertions.rb +8 -0
  12. data/lib/extlib/blank.rb +89 -0
  13. data/lib/extlib/boolean.rb +11 -0
  14. data/lib/extlib/byte_array.rb +6 -0
  15. data/lib/extlib/class.rb +179 -0
  16. data/lib/extlib/datetime.rb +29 -0
  17. data/lib/extlib/dictionary.rb +433 -0
  18. data/lib/extlib/hash.rb +450 -0
  19. data/lib/extlib/hook.rb +407 -0
  20. data/lib/extlib/inflection.rb +442 -0
  21. data/lib/extlib/lazy_array.rb +453 -0
  22. data/lib/extlib/lazy_module.rb +18 -0
  23. data/lib/extlib/logger.rb +198 -0
  24. data/lib/extlib/mash.rb +157 -0
  25. data/lib/extlib/module.rb +51 -0
  26. data/lib/extlib/nil.rb +5 -0
  27. data/lib/extlib/numeric.rb +5 -0
  28. data/lib/extlib/object.rb +178 -0
  29. data/lib/extlib/object_space.rb +13 -0
  30. data/lib/extlib/pathname.rb +20 -0
  31. data/lib/extlib/pooling.rb +235 -0
  32. data/lib/extlib/rubygems.rb +38 -0
  33. data/lib/extlib/simple_set.rb +66 -0
  34. data/lib/extlib/string.rb +176 -0
  35. data/lib/extlib/struct.rb +17 -0
  36. data/lib/extlib/symbol.rb +21 -0
  37. data/lib/extlib/time.rb +44 -0
  38. data/lib/extlib/try_dup.rb +44 -0
  39. data/lib/extlib/virtual_file.rb +10 -0
  40. data/spec/array_spec.rb +40 -0
  41. data/spec/blank_spec.rb +86 -0
  42. data/spec/byte_array_spec.rb +8 -0
  43. data/spec/class_spec.rb +158 -0
  44. data/spec/datetime_spec.rb +22 -0
  45. data/spec/hash_spec.rb +536 -0
  46. data/spec/hook_spec.rb +1235 -0
  47. data/spec/inflection/plural_spec.rb +565 -0
  48. data/spec/inflection/singular_spec.rb +498 -0
  49. data/spec/inflection_extras_spec.rb +111 -0
  50. data/spec/lazy_array_spec.rb +1961 -0
  51. data/spec/lazy_module_spec.rb +38 -0
  52. data/spec/mash_spec.rb +312 -0
  53. data/spec/module_spec.rb +71 -0
  54. data/spec/object_space_spec.rb +10 -0
  55. data/spec/object_spec.rb +114 -0
  56. data/spec/pooling_spec.rb +511 -0
  57. data/spec/rcov.opts +6 -0
  58. data/spec/simple_set_spec.rb +58 -0
  59. data/spec/spec.opts +4 -0
  60. data/spec/spec_helper.rb +7 -0
  61. data/spec/string_spec.rb +222 -0
  62. data/spec/struct_spec.rb +13 -0
  63. data/spec/symbol_spec.rb +9 -0
  64. data/spec/time_spec.rb +31 -0
  65. data/spec/try_call_spec.rb +74 -0
  66. data/spec/try_dup_spec.rb +46 -0
  67. data/spec/virtual_file_spec.rb +22 -0
  68. data/tasks/ci.rake +1 -0
  69. data/tasks/metrics.rake +36 -0
  70. data/tasks/spec.rake +25 -0
  71. data/tasks/yard.rake +9 -0
  72. data/tasks/yardstick.rake +19 -0
  73. metadata +198 -0
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+ require 'extlib/virtual_file'
3
+
4
+ describe VirtualFile do
5
+ it 'inherits from StringIO' do
6
+ VirtualFile.superclass.should == StringIO
7
+ end
8
+
9
+ it 'has path reader' do
10
+ @vf = VirtualFile.new("virtual", "elvenpath")
11
+
12
+ # =~ /#{Dir::tmpdir}/ causes RegExp to fail with nested *?+ on 1.8.6
13
+ @vf.path.should == "elvenpath"
14
+ end
15
+
16
+ it 'has path writer' do
17
+ @vf = VirtualFile.new("virtual", "elvenpath")
18
+
19
+ @vf.path = "newbase"
20
+ @vf.path.should == "newbase"
21
+ end
22
+ end
@@ -0,0 +1 @@
1
+ task :ci => [ :verify_measurements, 'metrics:all' ]
@@ -0,0 +1,36 @@
1
+ begin
2
+ require 'metric_fu'
3
+ rescue LoadError
4
+ namespace :metrics do
5
+ task :all do
6
+ abort 'metric_fu is not available. In order to run metrics:all, you must: gem install metric_fu'
7
+ end
8
+ end
9
+ end
10
+
11
+ begin
12
+ require 'reek/adapters/rake_task'
13
+
14
+ Reek::RakeTask.new do |t|
15
+ t.fail_on_error = true
16
+ t.verbose = false
17
+ t.source_files = 'lib/**/*.rb'
18
+ end
19
+ rescue LoadError
20
+ task :reek do
21
+ abort 'Reek is not available. In order to run reek, you must: gem install reek'
22
+ end
23
+ end
24
+
25
+ begin
26
+ require 'roodi'
27
+ require 'roodi_task'
28
+
29
+ RoodiTask.new do |t|
30
+ t.verbose = false
31
+ end
32
+ rescue LoadError
33
+ task :roodi do
34
+ abort 'Roodi is not available. In order to run roodi, you must: gem install roodi'
35
+ end
36
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec/rake/spectask'
2
+ require 'spec/rake/verify_rcov'
3
+
4
+ spec_defaults = lambda do |spec|
5
+ spec.pattern = 'spec/**/*_spec.rb'
6
+ spec.libs << 'lib' << 'spec'
7
+ spec.spec_opts << '--options' << 'spec/spec.opts'
8
+ end
9
+
10
+ Spec::Rake::SpecTask.new(:spec, &spec_defaults)
11
+
12
+ Spec::Rake::SpecTask.new(:rcov) do |rcov|
13
+ spec_defaults.call(rcov)
14
+ rcov.rcov = true
15
+ rcov.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
16
+ end
17
+
18
+ RCov::VerifyTask.new(:verify_rcov => :rcov) do |rcov|
19
+ rcov.threshold = 100
20
+ end
21
+
22
+ task :spec => :check_dependencies
23
+ task :rcov => :check_dependencies
24
+
25
+ task :default => :spec
@@ -0,0 +1,9 @@
1
+ begin
2
+ require 'yard'
3
+
4
+ YARD::Rake::YardocTask.new
5
+ rescue LoadError
6
+ task :yard do
7
+ abort 'YARD is not available. In order to run yard, you must: gem install yard'
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ begin
2
+ require 'pathname'
3
+ require 'yardstick/rake/measurement'
4
+ require 'yardstick/rake/verify'
5
+
6
+ # yardstick_measure task
7
+ Yardstick::Rake::Measurement.new
8
+
9
+ # verify_measurements task
10
+ Yardstick::Rake::Verify.new do |verify|
11
+ verify.threshold = 100
12
+ end
13
+ rescue LoadError
14
+ %w[ yardstick_measure verify_measurements ].each do |name|
15
+ task name.to_s do
16
+ abort "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,198 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: robsharp-extlib
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 15
9
+ version: 0.9.15
10
+ platform: ruby
11
+ authors:
12
+ - Dan Kubb
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-02-04 00:00:00 +10:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: json_pure
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 2
30
+ - 0
31
+ version: 1.2.0
32
+ type: :development
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: rspec
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 3
44
+ version: "1.3"
45
+ type: :development
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: yard
49
+ prerelease: false
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ - 5
57
+ version: "0.5"
58
+ type: :development
59
+ version_requirements: *id003
60
+ description: Support library for DataMapper and Merb (Next Branch)
61
+ email: dan.kubb@gmail.com
62
+ executables: []
63
+
64
+ extensions: []
65
+
66
+ extra_rdoc_files:
67
+ - LICENSE
68
+ - README.rdoc
69
+ files:
70
+ - .autotest
71
+ - .document
72
+ - .gitignore
73
+ - LICENSE
74
+ - README.rdoc
75
+ - Rakefile
76
+ - VERSION
77
+ - extlib.gemspec
78
+ - lib/extlib.rb
79
+ - lib/extlib/array.rb
80
+ - lib/extlib/assertions.rb
81
+ - lib/extlib/blank.rb
82
+ - lib/extlib/boolean.rb
83
+ - lib/extlib/byte_array.rb
84
+ - lib/extlib/class.rb
85
+ - lib/extlib/datetime.rb
86
+ - lib/extlib/dictionary.rb
87
+ - lib/extlib/hash.rb
88
+ - lib/extlib/hook.rb
89
+ - lib/extlib/inflection.rb
90
+ - lib/extlib/lazy_array.rb
91
+ - lib/extlib/lazy_module.rb
92
+ - lib/extlib/logger.rb
93
+ - lib/extlib/mash.rb
94
+ - lib/extlib/module.rb
95
+ - lib/extlib/nil.rb
96
+ - lib/extlib/numeric.rb
97
+ - lib/extlib/object.rb
98
+ - lib/extlib/object_space.rb
99
+ - lib/extlib/pathname.rb
100
+ - lib/extlib/pooling.rb
101
+ - lib/extlib/rubygems.rb
102
+ - lib/extlib/simple_set.rb
103
+ - lib/extlib/string.rb
104
+ - lib/extlib/struct.rb
105
+ - lib/extlib/symbol.rb
106
+ - lib/extlib/time.rb
107
+ - lib/extlib/try_dup.rb
108
+ - lib/extlib/virtual_file.rb
109
+ - spec/array_spec.rb
110
+ - spec/blank_spec.rb
111
+ - spec/byte_array_spec.rb
112
+ - spec/class_spec.rb
113
+ - spec/datetime_spec.rb
114
+ - spec/hash_spec.rb
115
+ - spec/hook_spec.rb
116
+ - spec/inflection/plural_spec.rb
117
+ - spec/inflection/singular_spec.rb
118
+ - spec/inflection_extras_spec.rb
119
+ - spec/lazy_array_spec.rb
120
+ - spec/lazy_module_spec.rb
121
+ - spec/mash_spec.rb
122
+ - spec/module_spec.rb
123
+ - spec/object_space_spec.rb
124
+ - spec/object_spec.rb
125
+ - spec/pooling_spec.rb
126
+ - spec/rcov.opts
127
+ - spec/simple_set_spec.rb
128
+ - spec/spec.opts
129
+ - spec/spec_helper.rb
130
+ - spec/string_spec.rb
131
+ - spec/struct_spec.rb
132
+ - spec/symbol_spec.rb
133
+ - spec/time_spec.rb
134
+ - spec/try_call_spec.rb
135
+ - spec/try_dup_spec.rb
136
+ - spec/virtual_file_spec.rb
137
+ - tasks/ci.rake
138
+ - tasks/metrics.rake
139
+ - tasks/spec.rake
140
+ - tasks/yard.rake
141
+ - tasks/yardstick.rake
142
+ has_rdoc: true
143
+ homepage: http://github.com/datamapper/extlib
144
+ licenses: []
145
+
146
+ post_install_message:
147
+ rdoc_options:
148
+ - --charset=UTF-8
149
+ require_paths:
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ segments:
156
+ - 0
157
+ version: "0"
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ segments:
163
+ - 0
164
+ version: "0"
165
+ requirements: []
166
+
167
+ rubyforge_project: extlib
168
+ rubygems_version: 1.3.6
169
+ signing_key:
170
+ specification_version: 3
171
+ summary: Support library for DataMapper and Merb
172
+ test_files:
173
+ - spec/array_spec.rb
174
+ - spec/blank_spec.rb
175
+ - spec/byte_array_spec.rb
176
+ - spec/class_spec.rb
177
+ - spec/datetime_spec.rb
178
+ - spec/hash_spec.rb
179
+ - spec/hook_spec.rb
180
+ - spec/inflection/plural_spec.rb
181
+ - spec/inflection/singular_spec.rb
182
+ - spec/inflection_extras_spec.rb
183
+ - spec/lazy_array_spec.rb
184
+ - spec/lazy_module_spec.rb
185
+ - spec/mash_spec.rb
186
+ - spec/module_spec.rb
187
+ - spec/object_space_spec.rb
188
+ - spec/object_spec.rb
189
+ - spec/pooling_spec.rb
190
+ - spec/simple_set_spec.rb
191
+ - spec/spec_helper.rb
192
+ - spec/string_spec.rb
193
+ - spec/struct_spec.rb
194
+ - spec/symbol_spec.rb
195
+ - spec/time_spec.rb
196
+ - spec/try_call_spec.rb
197
+ - spec/try_dup_spec.rb
198
+ - spec/virtual_file_spec.rb