ruby_ext 0.4.11 → 0.4.12

Sign up to get free protection for your applications and to get access to all the features.
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}"}