striuct 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/.gitignore +35 -34
  2. data/.travis.yml +6 -6
  3. data/Gemfile +12 -12
  4. data/History.rdoc +279 -273
  5. data/LICENSE +21 -21
  6. data/Manifest.txt +91 -90
  7. data/README.ja.old.rdoc +297 -297
  8. data/README.md +128 -128
  9. data/Rakefile +11 -11
  10. data/benchmark/basics.rb +56 -56
  11. data/example/README.rb +44 -44
  12. data/example/example.old.rdoc +187 -187
  13. data/example/example1.rb +233 -233
  14. data/example/example2.rb +22 -22
  15. data/example/see_trace.rb +32 -32
  16. data/lib/striuct/classmethods/README.md +5 -5
  17. data/lib/striuct/classmethods/adjustment.rb +32 -32
  18. data/lib/striuct/classmethods/constructor.rb +63 -63
  19. data/lib/striuct/classmethods/default.rb +27 -27
  20. data/lib/striuct/classmethods/enum.rb +48 -48
  21. data/lib/striuct/classmethods/inner.rb +91 -91
  22. data/lib/striuct/classmethods/length.rb +14 -14
  23. data/lib/striuct/classmethods/macro.rb +144 -144
  24. data/lib/striuct/classmethods/named.rb +113 -113
  25. data/lib/striuct/classmethods/object.rb +54 -54
  26. data/lib/striuct/classmethods/prevent_conflicts.rb +89 -89
  27. data/lib/striuct/classmethods/requiremnets.rb +11 -11
  28. data/lib/striuct/classmethods/to_struct.rb +23 -25
  29. data/lib/striuct/classmethods/validation.rb +55 -55
  30. data/lib/striuct/classmethods.rb +1 -1
  31. data/lib/striuct/instancemethods/README.md +5 -5
  32. data/lib/striuct/instancemethods/assign.rb +30 -30
  33. data/lib/striuct/instancemethods/cast.rb +34 -34
  34. data/lib/striuct/instancemethods/compare.rb +30 -30
  35. data/lib/striuct/instancemethods/default.rb +13 -13
  36. data/lib/striuct/instancemethods/delegate_class_methods.rb +28 -28
  37. data/lib/striuct/instancemethods/enum.rb +103 -103
  38. data/lib/striuct/instancemethods/hashy.rb +121 -121
  39. data/lib/striuct/instancemethods/inner.rb +60 -60
  40. data/lib/striuct/instancemethods/keyvalidatable.rb +14 -14
  41. data/lib/striuct/instancemethods/lock.rb +61 -61
  42. data/lib/striuct/instancemethods/object.rb +52 -52
  43. data/lib/striuct/instancemethods/requirements.rb +14 -14
  44. data/lib/striuct/instancemethods/safety.rb +11 -11
  45. data/lib/striuct/instancemethods/subscript.rb +55 -55
  46. data/lib/striuct/instancemethods/validation.rb +29 -25
  47. data/lib/striuct/instancemethods/values.rb +57 -57
  48. data/lib/striuct/instancemethods.rb +1 -1
  49. data/lib/striuct/requirements.rb +5 -5
  50. data/lib/striuct/singleton_class.rb +66 -66
  51. data/lib/striuct/specificcontainer.rb +19 -19
  52. data/lib/striuct/structs.rb +7 -7
  53. data/lib/striuct/version.rb +5 -5
  54. data/lib/striuct.rb +13 -13
  55. data/striuct.gemspec +24 -24
  56. data/test/helper.rb +5 -5
  57. data/test/test_striuct-singleton_class-define.rb +19 -19
  58. data/test/test_striuct-subclass-class-cloning.rb +20 -20
  59. data/test/test_striuct-subclass-class-close.rb +36 -36
  60. data/test/test_striuct-subclass-class-constructor.rb +82 -82
  61. data/test/test_striuct-subclass-class-freeze.rb +36 -36
  62. data/test/test_striuct-subclass-class-inheritable.rb +57 -57
  63. data/test/test_striuct-subclass-class-macro.rb +13 -13
  64. data/test/test_striuct-subclass-class-safety_naming.rb +72 -72
  65. data/test/test_striuct-subclass-class-validation.rb +26 -26
  66. data/test/test_striuct-subclass-feature-alias_member.rb +53 -53
  67. data/test/test_striuct-subclass-feature-to_struct.rb +61 -25
  68. data/test/test_striuct-subclass-feature-validation_util.rb +57 -0
  69. data/test/test_striuct-subclass-instance-accessor.rb +137 -137
  70. data/test/test_striuct-subclass-instance-adjuster.rb +94 -94
  71. data/test/test_striuct-subclass-instance-assign.rb +30 -30
  72. data/test/test_striuct-subclass-instance-basic.rb +32 -32
  73. data/test/test_striuct-subclass-instance-cloning.rb +22 -22
  74. data/test/test_striuct-subclass-instance-compare.rb +51 -51
  75. data/test/test_striuct-subclass-instance-default_value.rb +128 -128
  76. data/test/test_striuct-subclass-instance-enum.rb +92 -92
  77. data/test/test_striuct-subclass-instance-freeze.rb +19 -19
  78. data/test/test_striuct-subclass-instance-hashlike.rb +153 -153
  79. data/test/test_striuct-subclass-instance-keyvalidatable.rb +24 -24
  80. data/test/test_striuct-subclass-instance-lock.rb +39 -39
  81. data/test/test_striuct-subclass-instance-to_s_family.rb +25 -25
  82. data/test/test_striuct-subclass-instance-validation_functional_condition.rb +50 -50
  83. data/test/test_striuct-subclass-instance-validation_inference.rb +50 -50
  84. data/test/test_striuct-subclass-instance-validation_specific_conditions.rb +247 -247
  85. data/test/test_striuct-subclass-instance-validation_with_getter.rb +33 -33
  86. data/test/test_striuct-subclass-instance_names.rb +18 -18
  87. data/test/test_striuct-version.rb +10 -10
  88. metadata +4 -2
data/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- (The MIT X11 License)
2
-
3
- Copyright (c) 2011 Kenichi Kamiya
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- 'Software'), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1
+ (The MIT X11 License)
2
+
3
+ Copyright (c) 2011 Kenichi Kamiya
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
22
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt CHANGED
@@ -1,90 +1,91 @@
1
- README.md
2
- README.ja.old.rdoc
3
- LICENSE
4
- History.rdoc
5
- Manifest.txt
6
- Rakefile
7
- Gemfile
8
- striuct.gemspec
9
- .yardopts
10
-
11
- lib/striuct.rb
12
- lib/striuct/version.rb
13
- lib/striuct/specificcontainer.rb
14
- lib/striuct/singleton_class.rb
15
-
16
- lib/striuct/classmethods/README.md
17
- lib/striuct/classmethods.rb
18
- lib/striuct/classmethods/requirements.rb
19
- lib/striuct/classmethods/inner.rb
20
- lib/striuct/classmethods/named.rb
21
- lib/striuct/classmethods/object.rb
22
- lib/striuct/classmethods/length.rb
23
- lib/striuct/classmethods/to_struct.rb
24
- lib/striuct/classmethods/constructor.rb
25
- lib/striuct/classmethods/enum.rb
26
- lib/striuct/classmethods/default.rb
27
- lib/striuct/classmethods/adjustment.rb
28
- lib/striuct/classmethods/macro.rb
29
- lib/striuct/classmethods/prevent_conflicts.rb
30
- lib/striuct/classmethods/validation.rb
31
-
32
- lib/striuct/instancemethods/README.md
33
- lib/striuct/instancemethods.rb
34
- lib/striuct/instancemethods/requirements.rb
35
- lib/striuct/instancemethods/delegate_class_methods.rb
36
- lib/striuct/instancemethods/keyvalidatable.rb
37
- lib/striuct/instancemethods/inner.rb
38
- lib/striuct/instancemethods/object.rb
39
- lib/striuct/instancemethods/compare.rb
40
- lib/striuct/instancemethods/values.rb
41
- lib/striuct/instancemethods/cast.rb
42
- lib/striuct/instancemethods/default.rb
43
- lib/striuct/instancemethods/enum.rb
44
- lib/striuct/instancemethods/hashy.rb
45
- lib/striuct/instancemethods/subscript.rb
46
- lib/striuct/instancemethods/assign.rb
47
- lib/striuct/instancemethods/lock.rb
48
- lib/striuct/instancemethods/validation.rb
49
- lib/striuct/instancemethods/safety.rb
50
-
51
- test/helper.rb
52
- test/test_striuct-version.rb
53
- test/test_striuct-singleton_class-define.rb
54
- test/test_striuct-subclass-class-cloning.rb
55
- test/test_striuct-subclass-class-close.rb
56
- test/test_striuct-subclass-class-freeze.rb
57
- test/test_striuct-subclass-class-constructor.rb
58
- test/test_striuct-subclass-class-inheritable.rb
59
- test/test_striuct-subclass-class-macro.rb
60
- test/test_striuct-subclass-class-safety_naming.rb
61
- test/test_striuct-subclass-class-validation.rb
62
- test/test_striuct-subclass-feature-alias_member.rb
63
- test/test_striuct-subclass-feature-to_struct.rb
64
- test/test_striuct-subclass-instance-accessor.rb
65
- test/test_striuct-subclass-instance-adjuster.rb
66
- test/test_striuct-subclass-instance-assign.rb
67
- test/test_striuct-subclass-instance-basic.rb
68
- test/test_striuct-subclass-instance-cloning.rb
69
- test/test_striuct-subclass-instance-compare.rb
70
- test/test_striuct-subclass-instance-default_value.rb
71
- test/test_striuct-subclass-instance-enum.rb
72
- test/test_striuct-subclass-instance-freeze.rb
73
- test/test_striuct-subclass-instance-hashlike.rb
74
- test/test_striuct-subclass-instance-keyvalidatable.rb
75
- test/test_striuct-subclass-instance-lock.rb
76
- test/test_striuct-subclass-instance-to_s_family.rb
77
- test/test_striuct-subclass-instance-validation_functional_condition.rb
78
- test/test_striuct-subclass-instance-validation_inference.rb
79
- test/test_striuct-subclass-instance-validation_specific_conditions.rb
80
- test/test_striuct-subclass-instance-validation_with_getter.rb
81
- test/test_striuct-subclass-instance_names.rb
82
-
83
- example/README.rb
84
- example/example1.rb
85
- example/example2.rb
86
- example/example.old.rdoc
87
- example/see_trace.rb
88
-
89
- benchmark/basics.rb
90
-
1
+ README.md
2
+ README.ja.old.rdoc
3
+ LICENSE
4
+ History.rdoc
5
+ Manifest.txt
6
+ Rakefile
7
+ Gemfile
8
+ striuct.gemspec
9
+ .yardopts
10
+
11
+ lib/striuct.rb
12
+ lib/striuct/version.rb
13
+ lib/striuct/specificcontainer.rb
14
+ lib/striuct/singleton_class.rb
15
+
16
+ lib/striuct/classmethods/README.md
17
+ lib/striuct/classmethods.rb
18
+ lib/striuct/classmethods/requirements.rb
19
+ lib/striuct/classmethods/inner.rb
20
+ lib/striuct/classmethods/named.rb
21
+ lib/striuct/classmethods/object.rb
22
+ lib/striuct/classmethods/length.rb
23
+ lib/striuct/classmethods/to_struct.rb
24
+ lib/striuct/classmethods/constructor.rb
25
+ lib/striuct/classmethods/enum.rb
26
+ lib/striuct/classmethods/default.rb
27
+ lib/striuct/classmethods/adjustment.rb
28
+ lib/striuct/classmethods/macro.rb
29
+ lib/striuct/classmethods/prevent_conflicts.rb
30
+ lib/striuct/classmethods/validation.rb
31
+
32
+ lib/striuct/instancemethods/README.md
33
+ lib/striuct/instancemethods.rb
34
+ lib/striuct/instancemethods/requirements.rb
35
+ lib/striuct/instancemethods/delegate_class_methods.rb
36
+ lib/striuct/instancemethods/keyvalidatable.rb
37
+ lib/striuct/instancemethods/inner.rb
38
+ lib/striuct/instancemethods/object.rb
39
+ lib/striuct/instancemethods/compare.rb
40
+ lib/striuct/instancemethods/values.rb
41
+ lib/striuct/instancemethods/cast.rb
42
+ lib/striuct/instancemethods/default.rb
43
+ lib/striuct/instancemethods/enum.rb
44
+ lib/striuct/instancemethods/hashy.rb
45
+ lib/striuct/instancemethods/subscript.rb
46
+ lib/striuct/instancemethods/assign.rb
47
+ lib/striuct/instancemethods/lock.rb
48
+ lib/striuct/instancemethods/validation.rb
49
+ lib/striuct/instancemethods/safety.rb
50
+
51
+ test/helper.rb
52
+ test/test_striuct-version.rb
53
+ test/test_striuct-singleton_class-define.rb
54
+ test/test_striuct-subclass-class-cloning.rb
55
+ test/test_striuct-subclass-class-close.rb
56
+ test/test_striuct-subclass-class-freeze.rb
57
+ test/test_striuct-subclass-class-constructor.rb
58
+ test/test_striuct-subclass-class-inheritable.rb
59
+ test/test_striuct-subclass-class-macro.rb
60
+ test/test_striuct-subclass-class-safety_naming.rb
61
+ test/test_striuct-subclass-class-validation.rb
62
+ test/test_striuct-subclass-feature-validation_util.rb
63
+ test/test_striuct-subclass-feature-alias_member.rb
64
+ test/test_striuct-subclass-feature-to_struct.rb
65
+ test/test_striuct-subclass-instance-accessor.rb
66
+ test/test_striuct-subclass-instance-adjuster.rb
67
+ test/test_striuct-subclass-instance-assign.rb
68
+ test/test_striuct-subclass-instance-basic.rb
69
+ test/test_striuct-subclass-instance-cloning.rb
70
+ test/test_striuct-subclass-instance-compare.rb
71
+ test/test_striuct-subclass-instance-default_value.rb
72
+ test/test_striuct-subclass-instance-enum.rb
73
+ test/test_striuct-subclass-instance-freeze.rb
74
+ test/test_striuct-subclass-instance-hashlike.rb
75
+ test/test_striuct-subclass-instance-keyvalidatable.rb
76
+ test/test_striuct-subclass-instance-lock.rb
77
+ test/test_striuct-subclass-instance-to_s_family.rb
78
+ test/test_striuct-subclass-instance-validation_functional_condition.rb
79
+ test/test_striuct-subclass-instance-validation_inference.rb
80
+ test/test_striuct-subclass-instance-validation_specific_conditions.rb
81
+ test/test_striuct-subclass-instance-validation_with_getter.rb
82
+ test/test_striuct-subclass-instance_names.rb
83
+
84
+ example/README.rb
85
+ example/example1.rb
86
+ example/example2.rb
87
+ example/example.old.rdoc
88
+ example/see_trace.rb
89
+
90
+ benchmark/basics.rb
91
+