ruby_ext 0.4.11 → 0.4.12

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 (69) hide show
  1. data/Rakefile +6 -6
  2. data/lib/rake_ext.rb +10 -5
  3. data/lib/rake_ext/project.rb +31 -16
  4. data/lib/rspec_ext.rb +82 -19
  5. data/lib/ruby_ext.rb +1 -52
  6. data/lib/ruby_ext/core.rb +24 -0
  7. data/lib/ruby_ext/{array.rb → core/array.rb} +4 -2
  8. data/lib/ruby_ext/core/basic_object.rb +8 -0
  9. data/lib/ruby_ext/core/class.rb +0 -0
  10. data/lib/ruby_ext/{deep_clone.rb → core/deep_clone.rb} +3 -4
  11. data/lib/ruby_ext/core/enumerable.rb +17 -0
  12. data/lib/ruby_ext/{file.rb → core/file.rb} +5 -2
  13. data/lib/ruby_ext/core/hash.rb +23 -0
  14. data/lib/ruby_ext/{kernel.rb → core/kernel.rb} +0 -0
  15. data/lib/ruby_ext/{micelaneous.rb → core/micelaneous.rb} +0 -0
  16. data/lib/ruby_ext/{module.rb → core/module.rb} +13 -2
  17. data/lib/ruby_ext/{multiple_inheritance.rb → core/multiple_inheritance.rb} +30 -14
  18. data/lib/ruby_ext/{must.rb → core/must.rb} +30 -27
  19. data/lib/ruby_ext/{not_defined.rb → core/not_defined.rb} +0 -0
  20. data/lib/ruby_ext/{object.rb → core/object.rb} +0 -0
  21. data/lib/ruby_ext/{open_object.rb → core/open_object.rb} +21 -16
  22. data/lib/ruby_ext/{string.rb → core/string.rb} +27 -0
  23. data/lib/ruby_ext/{symbol.rb → core/symbol.rb} +0 -0
  24. data/lib/ruby_ext/fixes.rb +6 -0
  25. data/lib/ruby_ext/gems.rb +0 -1
  26. data/lib/ruby_ext/more.rb +11 -0
  27. data/lib/ruby_ext/more/declarative_cache.rb +96 -0
  28. data/lib/ruby_ext/more/micelaneous.rb +7 -0
  29. data/lib/ruby_ext/{observable2.rb → more/observable2.rb} +0 -0
  30. data/lib/ruby_ext/{open_constructor.rb → more/open_constructor.rb} +2 -2
  31. data/lib/ruby_ext/more/safe_hash.rb +214 -0
  32. data/lib/ruby_ext/{synchronize.rb → more/synchronize.rb} +5 -5
  33. data/lib/ruby_ext/{tuple.rb → more/tuple.rb} +0 -0
  34. data/lib/yaml_fix.rb +9 -0
  35. data/readme.md +46 -42
  36. data/spec/core/array_spec.rb +7 -0
  37. data/spec/{deep_clone_spec.rb → core/deep_clone_spec.rb} +2 -3
  38. data/spec/core/enumerable.rb +9 -0
  39. data/spec/{kernel_spec.rb → core/kernel_spec.rb} +4 -6
  40. data/spec/{kernel_spec → core/kernel_spec}/TheNamespace/ClassA.rb +0 -0
  41. data/spec/{kernel_spec → core/kernel_spec}/another_class.rb +0 -0
  42. data/spec/{kernel_spec → core/kernel_spec}/the_namespace/class_b.rb +0 -0
  43. data/spec/{module_spec.rb → core/module_spec.rb} +2 -4
  44. data/spec/{multiple_inheritance_spec.rb → core/multiple_inheritance_spec.rb} +28 -12
  45. data/spec/core/must_spec.rb +32 -0
  46. data/spec/{open_object_spec.rb → core/open_object_spec.rb} +6 -7
  47. data/spec/core/spec_helper.rb +2 -0
  48. data/spec/{declarative_cache_spec.rb → more/declarative_cache_spec.rb} +35 -8
  49. data/spec/{observable2_spec.rb → more/observable2_spec.rb} +3 -4
  50. data/spec/{open_constructor_spec.rb → more/open_constructor_spec.rb} +6 -7
  51. data/spec/more/safe_hash_spec.rb +133 -0
  52. data/spec/more/spec_helper.rb +2 -0
  53. data/spec/{synchronize_spec.rb → more/synchronize_spec.rb} +2 -3
  54. metadata +67 -100
  55. data/lib/ruby_ext/basic_object.rb +0 -22
  56. data/lib/ruby_ext/class.rb +0 -11
  57. data/lib/ruby_ext/declarative_cache.rb +0 -85
  58. data/lib/ruby_ext/extra_blank_slate.rb +0 -17
  59. data/lib/ruby_ext/hash.rb +0 -15
  60. data/lib/ruby_ext/prepare_arguments.rb +0 -105
  61. data/lib/ruby_ext/prototype_inheritance.rb +0 -110
  62. data/lib/ruby_ext/should.rb +0 -166
  63. data/lib/rubyopt.rb +0 -7
  64. data/spec/_prototype_inheritance_spec.rb +0 -190
  65. data/spec/array_spec.rb +0 -8
  66. data/spec/must_spec.rb +0 -29
  67. data/spec/prepare_arguments_spec.rb +0 -46
  68. data/spec/should_spec.rb +0 -24
  69. data/spec/spec_helper.rb +0 -19
data/spec/array_spec.rb DELETED
@@ -1,8 +0,0 @@
1
- require "spec_helper"
2
- require "ruby_ext/array"
3
-
4
- describe 'Array' do
5
- it 'sfilter' do
6
- %w{alfa betta gamma}.sfilter('lfa', /et/).should == ['gamma']
7
- end
8
- end
data/spec/must_spec.rb DELETED
@@ -1,29 +0,0 @@
1
- require "spec_helper"
2
- require "ruby_ext/array"
3
- require "ruby_ext/must"
4
-
5
- describe 'Assert' do
6
- it 'must & must_not' do
7
- lambda{must_be.never_called}.should raise_error(/ever/)
8
- lambda{nil.must_not_be.nil}.should raise_error(/nil/)
9
- 1.must_not_be.nil
10
- 1.must_be.== 1
11
- lambda{1.must_be.== 2}.should raise_error(%r{==})
12
- 1.must_be.in 1, 2
13
- 0.must_be.in 0..1
14
- "".must_be.a String
15
- 1.must_be.< 2
16
- end
17
-
18
- it 'must_be & must_not_be' do
19
- [].must_be.empty
20
- [''].must_not_be.empty
21
-
22
- lambda{[''].must_be.empty}.should raise_error(/must be/)
23
- lambda{[].must_not_be.empty}.should raise_error(/must not be/)
24
- end
25
-
26
- it "should return result" do
27
- [].must_be.empty.should == []
28
- end
29
- end
@@ -1,46 +0,0 @@
1
- require "spec_helper"
2
- require "ruby_ext/prepare_arguments"
3
-
4
- describe "Prepare Arguments" do
5
-
6
- it "basic parsing" do
7
- ArgumentsParser.register :m, [:object, :array, :hash]
8
- ArgumentsParser.parse_arguments_for(:m, :o, 1).should == [:o, [1], {}]
9
- end
10
-
11
- it "basic method wrapping" do
12
- class BMWTest
13
- def add content, options
14
- :ok
15
- end
16
- prepare_arguments_for :add, {:type => :object, :required => true}, :hash
17
- end
18
-
19
- BMWTest.new.add('text').should == :ok
20
- end
21
-
22
- it "except_last_hash for array" do
23
- ArgumentsParser.register :m, [{:type => :array, :range => :except_last_hash}, :hash]
24
- ArgumentsParser.parse_arguments_for(:m, 1, 2, 3, :a => :b).should == [[1, 2, 3], {:a => :b}]
25
- ArgumentsParser.parse_arguments_for(:m, :a => :b).should == [[], {:a => :b}]
26
- ArgumentsParser.parse_arguments_for(:m, 1, 2, 3).should == [[1, 2, 3], {}]
27
- end
28
-
29
- it "except_last_hash for object" do
30
- ArgumentsParser.register :m, [{:type => :object, :range => :except_last_hash}, :hash]
31
- ArgumentsParser.parse_arguments_for(:m, 1, :a => :b).should == [1, {:a => :b}]
32
- ArgumentsParser.parse_arguments_for(:m, :a => :b).should == [nil, {:a => :b}]
33
- ArgumentsParser.parse_arguments_for(:m, 1).should == [1, {}]
34
- end
35
-
36
- it "default value" do
37
- ArgumentsParser.register :m, [{:type => :object, :default => ""}]
38
- ArgumentsParser.parse_arguments_for(:m).should == [""]
39
- end
40
-
41
- it "string" do
42
- ArgumentsParser.register :m, [:string]
43
- ArgumentsParser.parse_arguments_for(:m).should == [""]
44
- end
45
-
46
- end
data/spec/should_spec.rb DELETED
@@ -1,24 +0,0 @@
1
- require "spec_helper"
2
- require "ruby_ext/should"
3
-
4
- describe 'Assert' do
5
- it 'should! & should_not!' do
6
- lambda{should! :be_never_called}.should raise_error(/ever/)
7
- lambda{nil.should_not! :be_nil}.should raise_error(/nil/)
8
- 1.should_not! :be_nil
9
- 1.should! :==, 1
10
- lambda{1.should! :==, 2}.should raise_error(%r{==})
11
- 1.should! :be_in, [1, 2]
12
- "".should! :be_a, String
13
- String.should! :be, String
14
- 1.should! :<, 2
15
- end
16
-
17
- it 'should_be! & should_not_be!' do
18
- [].should_be! :empty
19
- [''].should_not_be! :empty
20
-
21
- lambda{[''].should_be! :empty}.should raise_error(/should be/)
22
- lambda{[].should_not_be! :empty}.should raise_error(/should not be/)
23
- end
24
- end
data/spec/spec_helper.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'rspec_ext'
2
-
3
- ruby_ext_dir = File.expand_path("#{File.dirname(__FILE__)}/../..")
4
- $LOAD_PATH << "#{ruby_ext_dir}/lib"
5
-
6
- %w{
7
- file
8
- kernel
9
- open_object
10
- module
11
- not_defined
12
- object
13
- class
14
- string
15
- symbol
16
- extra_blank_slate
17
- must
18
- deep_clone
19
- }.each{|f| require "ruby_ext/#{f}"}