classx 0.0.2 → 0.0.3

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 (36) hide show
  1. data/ChangeLog +84 -0
  2. data/README +4 -2
  3. data/Rakefile +1 -1
  4. data/bench/attribute_set.rb +56 -0
  5. data/bench/initialize.rb +59 -0
  6. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +1 -1
  7. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +1 -1
  8. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +1 -1
  9. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +1 -1
  10. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +1 -1
  11. data/doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1 -1
  12. data/doc/output/coverage/index.html +27 -27
  13. data/doc/output/coverage/lib-classx-attribute_rb.html +82 -75
  14. data/doc/output/coverage/lib-classx-attributes_rb.html +101 -94
  15. data/doc/output/coverage/lib-classx-validate_rb.html +14 -11
  16. data/doc/output/coverage/lib-classx_rb.html +75 -65
  17. data/example/commandable.rb +9 -3
  18. data/lib/classx.rb +12 -2
  19. data/lib/classx/attribute.rb +10 -3
  20. data/lib/classx/attributes.rb +10 -3
  21. data/lib/classx/commandable.rb +27 -7
  22. data/lib/classx/declare.rb +12 -0
  23. data/lib/classx/role/logger.rb +70 -0
  24. data/lib/classx/validate.rb +6 -3
  25. data/spec/classx/default_option_spec.rb +16 -12
  26. data/spec/classx/handles_spec.rb +5 -2
  27. data/spec/classx/with_coerce.rb +12 -4
  28. data/spec/classx/with_extend.rb +3 -1
  29. data/spec/classx/with_include.rb +3 -1
  30. data/spec/classx/with_multiple_class_spec.rb +4 -2
  31. data/spec/classx/without_accessor_spec.rb +2 -1
  32. data/spec/classx/without_anyoption_spec.rb +3 -1
  33. data/spec/classx/writable_option_spec.rb +8 -4
  34. data/spec/classx_attributes_spec.rb +6 -1
  35. data/tasks/basic_config.rake +1 -1
  36. metadata +7 -2
@@ -5,7 +5,7 @@ describe ClassX do
5
5
  describe '#has' do
6
6
  describe 'with include' do
7
7
  before do
8
- @class = Class.new(ClassX)
8
+ @class = Class.new
9
9
  mod = Module.new
10
10
  mod.module_eval do
11
11
  define_method :test do
@@ -13,6 +13,8 @@ describe ClassX do
13
13
  end
14
14
  end
15
15
  @class.class_eval do
16
+ include ClassX
17
+
16
18
  has :x, :include => mod
17
19
  end
18
20
  end
@@ -5,12 +5,14 @@ describe ClassX do
5
5
  describe '#has' do
6
6
  describe 'with multiple class' do
7
7
  before do
8
- @class1 = Class.new(ClassX)
8
+ @class1 = Class.new
9
9
  @class1.class_eval do
10
+ include ClassX
10
11
  has :x
11
12
  end
12
- @class2 = Class.new(ClassX)
13
+ @class2 = Class.new
13
14
  @class2.class_eval do
15
+ include ClassX
14
16
  end
15
17
  end
16
18
 
@@ -5,8 +5,9 @@ describe ClassX do
5
5
  describe '#has' do
6
6
  describe 'without accessor' do
7
7
  before do
8
- @class = Class.new(ClassX)
8
+ @class = Class.new
9
9
  @class.class_eval do
10
+ include ClassX
10
11
  end
11
12
  end
12
13
 
@@ -5,8 +5,10 @@ describe ClassX do
5
5
  describe '#has' do
6
6
  describe 'without any option' do
7
7
  before do
8
- @class = Class.new(ClassX)
8
+ @class = Class.new
9
9
  @class.class_eval do
10
+ include ClassX
11
+
10
12
  has :x
11
13
  end
12
14
  end
@@ -6,8 +6,9 @@ describe ClassX do
6
6
  describe 'with :writable option' do
7
7
  describe 'when you specify false for attribute' do
8
8
  before do
9
- @class = Class.new(ClassX)
9
+ @class = Class.new
10
10
  @class.class_eval do
11
+ include ClassX
11
12
  has :x, :writable => false
12
13
  end
13
14
  end
@@ -27,8 +28,9 @@ describe ClassX do
27
28
 
28
29
  describe 'when you specify true for attribute' do
29
30
  before do
30
- @class = Class.new(ClassX)
31
+ @class = Class.new
31
32
  @class.class_eval do
33
+ include ClassX
32
34
  has :x, :writable => true
33
35
  end
34
36
  end
@@ -51,8 +53,9 @@ describe ClassX do
51
53
  describe 'with :writable is false' do
52
54
  it 'should raise ClassX::OptionalAttrShouldBeWritable' do
53
55
  lambda {
54
- klass = Class.new(ClassX)
56
+ klass = Class.new
55
57
  klass.class_eval do
58
+ include ClassX
56
59
  has :x, :optional => true, :writable => false
57
60
  end
58
61
  }.should raise_error(ClassX::OptionalAttrShouldBeWritable)
@@ -62,8 +65,9 @@ describe ClassX do
62
65
  describe 'with :writable is true' do
63
66
  it 'should not raise ClassX::OptionalAttrShouldBeWritable' do
64
67
  lambda {
65
- klass = Class.new(ClassX)
68
+ klass = Class.new
66
69
  klass.class_eval do
70
+ include ClassX
67
71
  has :x, :optional => true, :writable => true
68
72
  end
69
73
  }.should_not raise_error(ClassX::OptionalAttrShouldBeWritable)
@@ -21,10 +21,15 @@ describe ClassX::Attributes do
21
21
  has :x, :default => 10
22
22
  end
23
23
 
24
- klass = Class.new(ClassX)
24
+ klass = Class.new
25
25
  klass.class_eval do
26
+ include ClassX
26
27
  include mod
28
+
29
+ has :y, :default => 10
27
30
  end
31
+
28
32
  klass.new.x.should == 10
33
+ klass.new.y.should == 10
29
34
  end
30
35
  end
@@ -14,7 +14,7 @@ RDOC_OPTS = [
14
14
  DEFAULT_EXTRA_RDOC_FILES = ['README', 'ChangeLog']
15
15
  PKG_FILES = [ 'Rakefile' ] +
16
16
  DEFAULT_EXTRA_RDOC_FILES +
17
- Dir.glob('{bin,lib,test,spec,doc,example,tasks,script,generator,templates,extras,website}/**/*') +
17
+ Dir.glob('{bin,lib,test,spec,doc,bench,example,tasks,script,generator,templates,extras,website}/**/*') +
18
18
  Dir.glob('ext/**/*.{h,c,rb}') +
19
19
  Dir.glob('examples/**/*.rb') +
20
20
  Dir.glob('tools/*.rb')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: classx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keiji, Yoshimi
@@ -9,7 +9,7 @@ autorequire: ""
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-21 00:00:00 +09:00
12
+ date: 2008-08-23 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -39,7 +39,10 @@ files:
39
39
  - lib/classx/attribute.rb
40
40
  - lib/classx/attributes.rb
41
41
  - lib/classx/commandable.rb
42
+ - lib/classx/declare.rb
42
43
  - lib/classx/include
44
+ - lib/classx/role
45
+ - lib/classx/role/logger.rb
43
46
  - lib/classx/validate.rb
44
47
  - lib/classx.rb
45
48
  - spec/classx
@@ -69,6 +72,8 @@ files:
69
72
  - doc/output/coverage/lib-classx-attributes_rb.html
70
73
  - doc/output/coverage/lib-classx-validate_rb.html
71
74
  - doc/output/coverage/lib-classx_rb.html
75
+ - bench/attribute_set.rb
76
+ - bench/initialize.rb
72
77
  - example/commandable.rb
73
78
  - tasks/basic_config.rake
74
79
  - tasks/basic_tasks.rake