glue 0.26.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,13 +14,14 @@ class Another
14
14
  setting :max_age, :default => 4, :doc => 'Maximum allowed age'
15
15
  end
16
16
 
17
- class Configuration
17
+ class Glue::Configuration
18
18
  def self.clear_all_settings
19
19
  @@owners = Hash.new
20
20
  end
21
21
  end
22
22
 
23
23
  class TC_Configuration < Test::Unit::TestCase # :nodoc: all
24
+ include Glue
24
25
 
25
26
  class Internal
26
27
  setting :radius, :default => 4
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.10
2
+ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: glue
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.26.0
7
- date: 2005-12-21
6
+ version: 0.27.0
7
+ date: 2006-01-16 00:00:00 +02:00
8
8
  summary: Utility methods and classes for Nitro.
9
9
  require_paths:
10
- - lib
10
+ - lib
11
11
  email: gm@navel.gr
12
12
  homepage: http://www.nitrohq.com
13
13
  rubyforge_project: nitro
@@ -15,117 +15,120 @@ description:
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
18
- has_rdoc: false
18
+ has_rdoc: true
19
19
  required_ruby_version: !ruby/object:Gem::Version::Requirement
20
20
  requirements:
21
- -
22
- - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
25
24
  version:
26
25
  platform: ruby
26
+ signing_key:
27
+ cert_chain:
27
28
  authors:
28
- - George Moschovitis
29
+ - George Moschovitis
29
30
  files:
30
- - doc
31
- - INSTALL
32
- - install.rb
33
- - lib
34
- - ProjectInfo
35
- - Rakefile
36
- - README
37
- - test
38
- - doc/AUTHORS
39
- - doc/CHANGELOG.1
40
- - doc/LICENSE
41
- - doc/RELEASES
42
- - lib/glue
43
- - lib/glue.rb
44
- - lib/html
45
- - lib/glue/accumulate.rb
46
- - lib/glue/aspects.rb
47
- - lib/glue/attribute.rb
48
- - lib/glue/builder
49
- - lib/glue/builder.rb
50
- - lib/glue/configuration.rb
51
- - lib/glue/expirable.rb
52
- - lib/glue/fixture.rb
53
- - lib/glue/flexob.rb
54
- - lib/glue/html.rb
55
- - lib/glue/localization.rb
56
- - lib/glue/logger.rb
57
- - lib/glue/mail.rb
58
- - lib/glue/mailer
59
- - lib/glue/mailer.rb
60
- - lib/glue/markup.rb
61
- - lib/glue/on_included.rb
62
- - lib/glue/property.rb
63
- - lib/glue/sanitize.rb
64
- - lib/glue/settings.rb
65
- - lib/glue/template.rb
66
- - lib/glue/uri.rb
67
- - lib/glue/validation.rb
68
- - lib/glue/builder/xml.rb
69
- - lib/glue/mailer/incoming.rb
70
- - lib/glue/mailer/outgoing.rb
71
- - lib/html/document.rb
72
- - lib/html/node.rb
73
- - lib/html/tokenizer.rb
74
- - lib/html/version.rb
75
- - test/fixture
76
- - test/glue
77
- - test/public
78
- - test/fixture/article.csv
79
- - test/fixture/article.yml
80
- - test/fixture/user.yml
81
- - test/glue/builder
82
- - test/glue/multi_validations_model.rb
83
- - test/glue/tc_accumulate.rb
84
- - test/glue/tc_aspects.rb
85
- - test/glue/tc_attribute.rb
86
- - test/glue/tc_builder.rb
87
- - test/glue/tc_configuration.rb
88
- - test/glue/tc_fixture.rb
89
- - test/glue/tc_flexob.rb
90
- - test/glue/tc_localization.rb
91
- - test/glue/tc_logger.rb
92
- - test/glue/tc_mail.rb
93
- - test/glue/tc_multi_validations.rb
94
- - test/glue/tc_property.rb
95
- - test/glue/tc_property_mixins.rb
96
- - test/glue/tc_property_type_checking.rb
97
- - test/glue/tc_template.rb
98
- - test/glue/tc_uri.rb
99
- - test/glue/tc_validation.rb
100
- - test/glue/tc_validation2.rb
101
- - test/glue/tc_validation_loop.rb
102
- - test/glue/builder/tc_xml.rb
103
- - test/public/dummy_mailer
104
- - test/public/dummy_mailer/registration.xhtml
31
+ - doc
32
+ - lib
33
+ - test
34
+ - ProjectInfo
35
+ - Rakefile
36
+ - README
37
+ - setup.rb
38
+ - INSTALL
39
+ - doc/CHANGELOG.1
40
+ - doc/RELEASES
41
+ - doc/LICENSE
42
+ - doc/AUTHORS
43
+ - lib/glue
44
+ - lib/html
45
+ - lib/glue.rb
46
+ - lib/glue/builder
47
+ - lib/glue/mailer
48
+ - lib/glue/localization.rb
49
+ - lib/glue/validation.rb
50
+ - lib/glue/uri.rb
51
+ - lib/glue/template.rb
52
+ - lib/glue/settings.rb
53
+ - lib/glue/sanitize.rb
54
+ - lib/glue/property.rb
55
+ - lib/glue/on_included.rb
56
+ - lib/glue/html.rb
57
+ - lib/glue/mailer.rb
58
+ - lib/glue/mail.rb
59
+ - lib/glue/logger.rb
60
+ - lib/glue/attribute.rb
61
+ - lib/glue/flexob.rb
62
+ - lib/glue/fixture.rb
63
+ - lib/glue/builder.rb
64
+ - lib/glue/configuration.rb
65
+ - lib/glue/expirable.rb
66
+ - lib/glue/aspects.rb
67
+ - lib/glue/markup.rb
68
+ - lib/glue/accumulate.rb
69
+ - lib/glue/autoreload.rb
70
+ - lib/glue/builder/xml.rb
71
+ - lib/glue/mailer/outgoing.rb
72
+ - lib/glue/mailer/incoming.rb
73
+ - lib/html/tokenizer.rb
74
+ - lib/html/version.rb
75
+ - lib/html/document.rb
76
+ - lib/html/node.rb
77
+ - test/fixture
78
+ - test/glue
79
+ - test/public
80
+ - test/fixture/article.yml
81
+ - test/fixture/user.yml
82
+ - test/fixture/article.csv
83
+ - test/glue/builder
84
+ - test/glue/tc_configuration.rb
85
+ - test/glue/tc_validation.rb
86
+ - test/glue/tc_uri.rb
87
+ - test/glue/tc_template.rb
88
+ - test/glue/tc_property.rb
89
+ - test/glue/tc_property_type_checking.rb
90
+ - test/glue/tc_property_mixins.rb
91
+ - test/glue/tc_mail.rb
92
+ - test/glue/tc_logger.rb
93
+ - test/glue/tc_localization.rb
94
+ - test/glue/tc_flexob.rb
95
+ - test/glue/tc_fixture.rb
96
+ - test/glue/tc_attribute.rb
97
+ - test/glue/tc_builder.rb
98
+ - test/glue/tc_accumulate.rb
99
+ - test/glue/tc_aspects.rb
100
+ - test/glue/multi_validations_model.rb
101
+ - test/glue/builder/tc_xml.rb
102
+ - test/public/dummy_mailer
103
+ - test/public/dummy_mailer/registration.xhtml
105
104
  test_files: []
105
+
106
106
  rdoc_options: []
107
+
107
108
  extra_rdoc_files: []
109
+
108
110
  executables: []
111
+
109
112
  extensions: []
113
+
110
114
  requirements: []
115
+
111
116
  dependencies:
112
- - !ruby/object:Gem::Dependency
113
- name: facets
114
- version_requirement:
115
- version_requirements: !ruby/object:Gem::Version::Requirement
116
- requirements:
117
- -
118
- - "="
119
- - !ruby/object:Gem::Version
120
- version: 2005.10.30
121
- version:
122
- - !ruby/object:Gem::Dependency
123
- name: cmdparse
124
- version_requirement:
125
- version_requirements: !ruby/object:Gem::Version::Requirement
126
- requirements:
127
- -
128
- - "="
129
- - !ruby/object:Gem::Version
130
- version: 2.0.0
131
- version:
117
+ - !ruby/object:Gem::Dependency
118
+ name: facets
119
+ version_requirement:
120
+ version_requirements: !ruby/object:Gem::Version::Requirement
121
+ requirements:
122
+ - - "="
123
+ - !ruby/object:Gem::Version
124
+ version: 2005.10.30
125
+ version:
126
+ - !ruby/object:Gem::Dependency
127
+ name: cmdparse
128
+ version_requirement:
129
+ version_requirements: !ruby/object:Gem::Version::Requirement
130
+ requirements:
131
+ - - "="
132
+ - !ruby/object:Gem::Version
133
+ version: 2.0.0
134
+ version:
data/install.rb DELETED
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rbconfig'
4
- require 'ftools'
5
-
6
- dst_dir = Config::CONFIG['sitelibdir']
7
-
8
- Dir.chdir('lib') do
9
- Dir['**/*.rb'].each do |file|
10
- File.mkpath File.join(dst_dir, File.dirname(file)), true
11
- File.install file, File.join(dst_dir, file), 0644, true
12
- end
13
- end
14
-
15
- puts %{
16
-
17
-
18
- ---
19
- Congratulations, you have successfully installed Og!
20
- The libraries where installed in '#{dst_dir}'.
21
-
22
- You probably need to install the Glue library
23
- as well. (http://nitro.rubyforge.org)
24
-
25
- To verify that everything works correctly, try to run an
26
- example by issuing:
27
-
28
- $ cd examples
29
- $ ruby run.rb
30
-
31
- at the command line.
32
-
33
- Enjoy the magic of Og!
34
- }
35
-
36
- # * George Moschovitis <gm@navel.gr>
37
-
@@ -1,19 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2
-
3
- require 'test/unit'
4
-
5
- require 'glue'
6
- require 'glue/property'
7
- require 'glue/validation'
8
-
9
- class TC_MultiValidation < Test::Unit::TestCase # :nodoc: all
10
-
11
- def test_all
12
- file = File.join(File.dirname($0), 'multi_validations_model.rb')
13
- load file
14
- assert_equal 2, User.validations.size
15
- load file
16
- assert_equal 2, User.validations.size
17
- end
18
-
19
- end
@@ -1,208 +0,0 @@
1
- path = File.expand_path(File.dirname($0))
2
- $: << path + '/og/lib'
3
- $: << path + '/glue/lib'
4
- require 'test/unit'
5
- require 'og'
6
-
7
- module UnitTestClasses
8
- class NoValidation
9
- property :prop, String
10
-
11
- def initialize(prop)
12
- @prop = prop
13
- end
14
- end
15
-
16
- class UniqueValidation < NoValidation
17
- property :slop, String
18
- validate_unique :prop, :slop
19
- end
20
-
21
- class ValueValidation < NoValidation
22
- validate_value :prop
23
- end
24
-
25
- class ConfirmValidation < NoValidation
26
- validate_confirmation :prop
27
- end
28
-
29
- class FormatValidation < NoValidation
30
- validate_format :prop, :format => /^\w\d\w-\d\w\d$/
31
- end
32
-
33
- class MinValidation < NoValidation
34
- validate_length :prop, :min => 4
35
- end
36
-
37
- class MaxValidation < NoValidation
38
- validate_length :prop, :max => 8
39
- end
40
-
41
- class RangeValidation < NoValidation
42
- validate_length :prop, :range => 10..20
43
- end
44
-
45
- class LengthValidation < NoValidation
46
- validate_length :prop, :length => 8
47
- end
48
-
49
- class InclusionValidation < NoValidation
50
- validate_inclusion :prop, :in => %w{ Male Female }
51
- end
52
-
53
- class NumericValidation < NoValidation
54
- property :prop, Fixnum
55
- validate_numeric :prop, :integer => true
56
-
57
- prop_accessor :prop2, Float
58
- validate_numeric :prop2
59
- end
60
-
61
- class RelatedClass
62
- prop_accessor :test, String
63
- belongs_to :relation_validation, RelationValidation
64
- end
65
-
66
- class RelationValidation < NoValidation
67
- has_many :relations, RelatedClass
68
- validate_related :relations
69
- end
70
- end
71
-
72
- config = {
73
- :destroy => true,
74
- :store => :sqlite,
75
- :prop => 'dbtest_additions'
76
- }
77
-
78
- db = Og.setup(config)
79
-
80
- require 'breakpoint'
81
- module Test::Unit::Assertions
82
- # Assert than an Og object is successfully saved and is error free.
83
- def assert_saved_without_errors(obj)
84
- assert_block(obj.class.to_s + ' was expected to save, but failed.') do
85
- obj.save
86
- obj.saved? && obj.errors.size == 0
87
- end
88
- end
89
-
90
- # Assert that an Og object did not save and has errors.
91
- def assert_save_failed(obj)
92
- assert_block(obj.class.to_s + ' saving was expected to fail, but it succeeded.') do
93
- obj.save
94
- !obj.saved? && obj.errors.size > 0
95
- end
96
- end
97
- end
98
-
99
- # Unit tests for the Og validation system
100
- class TestFixes < Test::Unit::TestCase
101
- include UnitTestClasses
102
-
103
- def test_no_validation
104
- t = NoValidation.new('nochecking')
105
- assert_saved_without_errors t
106
- end
107
-
108
- def test_validation_unique
109
- assert_saved_without_errors UniqueValidation.new('test')
110
- assert_save_failed UniqueValidation.new('test')
111
- end
112
-
113
- def test_value_validation
114
- assert_saved_without_errors ValueValidation.new('value')
115
- assert_save_failed ValueValidation.new(nil)
116
- end
117
-
118
- def test_confirmation
119
- prop = 'confirm'
120
- c = ConfirmValidation.new(prop)
121
- c.prop_confirmation = prop
122
- assert_saved_without_errors c
123
-
124
- assert_save_failed ConfirmValidation.new(prop)
125
- end
126
-
127
- def test_format
128
- assert_saved_without_errors FormatValidation.new('a1b-2c3')
129
- assert_save_failed FormatValidation.new('banana_pudding')
130
- end
131
-
132
- def test_length_min
133
- assert_saved_without_errors MinValidation.new('12345')
134
- assert_save_failed MinValidation.new('1')
135
- end
136
-
137
- def test_length_max
138
- assert_saved_without_errors MaxValidation.new('12345')
139
- assert_save_failed MaxValidation.new('123456789012345')
140
- end
141
-
142
- def test_length_range
143
- l = RangeValidation.new('12345678901234')
144
- assert_saved_without_errors l
145
-
146
- l = RangeValidation.new('12')
147
- assert_save_failed l
148
-
149
- l = RangeValidation.new('1234567890123456789012345')
150
- assert_save_failed l
151
- end
152
-
153
- def test_length_length
154
- assert_saved_without_errors LengthValidation.new('12345678')
155
- assert_save_failed LengthValidation.new('1')
156
- assert_save_failed LengthValidation.new('123456789012345')
157
- end
158
-
159
- def test_inclusion
160
- assert_saved_without_errors InclusionValidation.new('Male')
161
- assert_save_failed InclusionValidation.new('Shemale')
162
- end
163
-
164
- def test_numeric
165
- # Both valid
166
- n = NumericValidation.new(100)
167
- n.prop2 = 1.52
168
- assert_saved_without_errors n
169
-
170
- # float for required integer
171
- n = NumericValidation.new(1.52)
172
- n.prop2 = 1.52
173
- assert_save_failed n
174
- assert_equal 1, n.errors.count
175
-
176
- # string for required integer
177
- n = NumericValidation.new('sausage')
178
- n.prop2 = 1.52
179
- assert_save_failed n
180
- assert_equal 1, n.errors.count
181
-
182
- # string for required integer and float
183
- n = NumericValidation.new('sausage')
184
- n.prop2 = 'cheese'
185
- assert_save_failed n
186
- assert_equal 2, n.errors.count
187
-
188
- # string for float
189
- n = NumericValidation.new(15)
190
- n.prop2 = 'cheese'
191
- assert_save_failed n
192
- assert_equal 1, n.errors.count
193
- end
194
-
195
- def test_related
196
- r = RelatedClass.new
197
- test_prop = 'example string'
198
- r.test = test_prop
199
- rv = RelationValidation.new('relation')
200
- rv.relations << r
201
-
202
- assert_saved_without_errors rv
203
- assert_equal test_prop, rv.relations.members[0].test
204
-
205
- # Test bad
206
- assert_save_failed RelationValidation.new('relation')
207
- end
208
- end