unit_validation 0.0.1

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 (46) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +22 -0
  3. data/Rakefile +38 -0
  4. data/lib/tasks/unit_validation_tasks.rake +4 -0
  5. data/lib/unit_validation.rb +15 -0
  6. data/lib/unit_validation/version.rb +3 -0
  7. data/test/dummy/README.rdoc +261 -0
  8. data/test/dummy/Rakefile +7 -0
  9. data/test/dummy/app/assets/javascripts/application.js +15 -0
  10. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  11. data/test/dummy/app/controllers/application_controller.rb +3 -0
  12. data/test/dummy/app/helpers/application_helper.rb +2 -0
  13. data/test/dummy/app/models/package.rb +9 -0
  14. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  15. data/test/dummy/config.ru +4 -0
  16. data/test/dummy/config/application.rb +56 -0
  17. data/test/dummy/config/boot.rb +10 -0
  18. data/test/dummy/config/database.yml +25 -0
  19. data/test/dummy/config/environment.rb +5 -0
  20. data/test/dummy/config/environments/development.rb +37 -0
  21. data/test/dummy/config/environments/production.rb +67 -0
  22. data/test/dummy/config/environments/test.rb +37 -0
  23. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  24. data/test/dummy/config/initializers/inflections.rb +15 -0
  25. data/test/dummy/config/initializers/mime_types.rb +5 -0
  26. data/test/dummy/config/initializers/secret_token.rb +7 -0
  27. data/test/dummy/config/initializers/session_store.rb +8 -0
  28. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  29. data/test/dummy/config/locales/en.yml +5 -0
  30. data/test/dummy/config/routes.rb +58 -0
  31. data/test/dummy/db/development.sqlite3 +0 -0
  32. data/test/dummy/db/migrate/20120618230802_create_packages.rb +13 -0
  33. data/test/dummy/db/schema.rb +26 -0
  34. data/test/dummy/db/test.sqlite3 +0 -0
  35. data/test/dummy/log/development.log +118 -0
  36. data/test/dummy/log/test.log +182 -0
  37. data/test/dummy/public/404.html +26 -0
  38. data/test/dummy/public/422.html +26 -0
  39. data/test/dummy/public/500.html +25 -0
  40. data/test/dummy/public/favicon.ico +0 -0
  41. data/test/dummy/script/rails +6 -0
  42. data/test/dummy/test/fixtures/packages.yml +15 -0
  43. data/test/dummy/test/unit/package_test.rb +7 -0
  44. data/test/test_helper.rb +15 -0
  45. data/test/unit_validation_test.rb +54 -0
  46. metadata +183 -0
@@ -0,0 +1,182 @@
1
+ Connecting to database specified by database.yml
2
+  (0.3ms) begin transaction
3
+  (0.0ms) rollback transaction
4
+ Connecting to database specified by database.yml
5
+  (0.3ms) begin transaction
6
+  (0.1ms) rollback transaction
7
+ Connecting to database specified by database.yml
8
+  (0.3ms) begin transaction
9
+  (0.1ms) rollback transaction
10
+ Connecting to database specified by database.yml
11
+  (0.3ms) begin transaction
12
+  (0.1ms) rollback transaction
13
+ Connecting to database specified by database.yml
14
+  (0.3ms) begin transaction
15
+  (0.1ms) rollback transaction
16
+ Connecting to database specified by database.yml
17
+  (0.3ms) begin transaction
18
+  (0.1ms) rollback transaction
19
+  (0.0ms) begin transaction
20
+  (0.0ms) rollback transaction
21
+  (0.0ms) begin transaction
22
+  (0.0ms) rollback transaction
23
+ Connecting to database specified by database.yml
24
+  (0.3ms) begin transaction
25
+  (0.1ms) rollback transaction
26
+  (0.0ms) begin transaction
27
+  (0.0ms) rollback transaction
28
+  (0.0ms) begin transaction
29
+  (0.0ms) rollback transaction
30
+ Connecting to database specified by database.yml
31
+  (0.4ms) begin transaction
32
+  (0.1ms) rollback transaction
33
+  (0.0ms) begin transaction
34
+  (0.0ms) rollback transaction
35
+  (0.0ms) begin transaction
36
+  (0.0ms) rollback transaction
37
+  (0.0ms) begin transaction
38
+  (0.0ms) rollback transaction
39
+  (0.0ms) begin transaction
40
+  (0.1ms) rollback transaction
41
+  (0.0ms) begin transaction
42
+  (0.0ms) rollback transaction
43
+  (0.0ms) begin transaction
44
+  (0.0ms) rollback transaction
45
+  (0.0ms) begin transaction
46
+  (0.0ms) rollback transaction
47
+ Connecting to database specified by database.yml
48
+  (0.3ms) begin transaction
49
+  (0.1ms) rollback transaction
50
+  (0.0ms) begin transaction
51
+  (0.0ms) rollback transaction
52
+  (0.0ms) begin transaction
53
+  (0.0ms) rollback transaction
54
+  (0.0ms) begin transaction
55
+  (0.0ms) rollback transaction
56
+  (0.0ms) begin transaction
57
+  (0.1ms) rollback transaction
58
+  (0.0ms) begin transaction
59
+  (0.0ms) rollback transaction
60
+  (0.0ms) begin transaction
61
+  (0.0ms) rollback transaction
62
+  (0.0ms) begin transaction
63
+  (0.0ms) rollback transaction
64
+ Connecting to database specified by database.yml
65
+  (0.3ms) begin transaction
66
+  (0.0ms) rollback transaction
67
+  (0.0ms) begin transaction
68
+  (0.0ms) rollback transaction
69
+  (0.0ms) begin transaction
70
+  (0.0ms) rollback transaction
71
+  (0.0ms) begin transaction
72
+  (0.0ms) rollback transaction
73
+  (0.0ms) begin transaction
74
+  (0.0ms) rollback transaction
75
+  (0.0ms) begin transaction
76
+  (0.0ms) rollback transaction
77
+  (0.0ms) begin transaction
78
+  (0.0ms) rollback transaction
79
+  (0.0ms) begin transaction
80
+  (0.0ms) rollback transaction
81
+ Connecting to database specified by database.yml
82
+  (0.3ms) begin transaction
83
+  (0.0ms) rollback transaction
84
+  (0.0ms) begin transaction
85
+  (0.0ms) rollback transaction
86
+  (0.0ms) begin transaction
87
+  (0.0ms) rollback transaction
88
+  (0.0ms) begin transaction
89
+  (0.0ms) rollback transaction
90
+  (0.0ms) begin transaction
91
+  (0.0ms) rollback transaction
92
+  (0.0ms) begin transaction
93
+  (0.0ms) rollback transaction
94
+  (0.0ms) begin transaction
95
+  (0.0ms) rollback transaction
96
+  (0.0ms) begin transaction
97
+  (0.0ms) rollback transaction
98
+ Connecting to database specified by database.yml
99
+  (0.2ms) begin transaction
100
+  (0.0ms) rollback transaction
101
+  (0.0ms) begin transaction
102
+  (0.0ms) rollback transaction
103
+  (0.0ms) begin transaction
104
+  (0.0ms) rollback transaction
105
+  (0.0ms) begin transaction
106
+  (0.0ms) rollback transaction
107
+  (0.0ms) begin transaction
108
+  (0.0ms) rollback transaction
109
+  (0.0ms) begin transaction
110
+  (0.0ms) rollback transaction
111
+  (0.0ms) begin transaction
112
+  (0.0ms) rollback transaction
113
+  (0.0ms) begin transaction
114
+  (0.0ms) rollback transaction
115
+ Connecting to database specified by database.yml
116
+  (0.2ms) begin transaction
117
+  (0.0ms) rollback transaction
118
+  (0.0ms) begin transaction
119
+  (0.0ms) rollback transaction
120
+  (0.0ms) begin transaction
121
+  (0.0ms) rollback transaction
122
+  (0.0ms) begin transaction
123
+  (0.0ms) rollback transaction
124
+  (0.0ms) begin transaction
125
+  (0.0ms) rollback transaction
126
+  (0.1ms) begin transaction
127
+  (0.0ms) rollback transaction
128
+  (0.1ms) begin transaction
129
+  (0.0ms) rollback transaction
130
+  (0.0ms) begin transaction
131
+  (0.0ms) rollback transaction
132
+ Connecting to database specified by database.yml
133
+  (0.2ms) begin transaction
134
+  (0.0ms) rollback transaction
135
+  (0.0ms) begin transaction
136
+  (0.0ms) rollback transaction
137
+  (0.0ms) begin transaction
138
+  (0.0ms) rollback transaction
139
+  (0.0ms) begin transaction
140
+  (0.0ms) rollback transaction
141
+  (0.0ms) begin transaction
142
+  (0.0ms) rollback transaction
143
+  (0.0ms) begin transaction
144
+  (0.0ms) rollback transaction
145
+  (0.0ms) begin transaction
146
+  (0.0ms) rollback transaction
147
+  (0.0ms) begin transaction
148
+  (0.0ms) rollback transaction
149
+ Connecting to database specified by database.yml
150
+  (0.2ms) begin transaction
151
+  (0.0ms) rollback transaction
152
+  (0.0ms) begin transaction
153
+  (0.0ms) rollback transaction
154
+  (0.0ms) begin transaction
155
+  (0.0ms) rollback transaction
156
+  (0.0ms) begin transaction
157
+  (0.0ms) rollback transaction
158
+  (0.0ms) begin transaction
159
+  (0.0ms) rollback transaction
160
+  (0.0ms) begin transaction
161
+  (0.0ms) rollback transaction
162
+  (0.0ms) begin transaction
163
+  (0.0ms) rollback transaction
164
+  (0.0ms) begin transaction
165
+  (0.1ms) rollback transaction
166
+ Connecting to database specified by database.yml
167
+  (0.3ms) begin transaction
168
+  (0.1ms) rollback transaction
169
+  (0.1ms) begin transaction
170
+  (0.0ms) rollback transaction
171
+  (0.0ms) begin transaction
172
+  (0.0ms) rollback transaction
173
+  (0.0ms) begin transaction
174
+  (0.0ms) rollback transaction
175
+  (0.0ms) begin transaction
176
+  (0.1ms) rollback transaction
177
+  (0.0ms) begin transaction
178
+  (0.0ms) rollback transaction
179
+  (0.0ms) begin transaction
180
+  (0.0ms) rollback transaction
181
+  (0.0ms) begin transaction
182
+  (0.0ms) rollback transaction
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,15 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
+
3
+ one:
4
+ name: MyString
5
+ weight: MyString
6
+ height: MyString
7
+ width: MyString
8
+ count: 1
9
+
10
+ two:
11
+ name: MyString
12
+ weight: MyString
13
+ height: MyString
14
+ width: MyString
15
+ count: 1
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class PackageTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
@@ -0,0 +1,54 @@
1
+ require 'test_helper'
2
+
3
+ class UnitValidationTest < ActiveSupport::TestCase
4
+
5
+ def setup
6
+ @p = Package.new
7
+ end
8
+
9
+ test "empty package is invalid" do
10
+ assert @p.invalid?
11
+ end
12
+
13
+ test "Height should have error with no data" do
14
+ @p.valid?
15
+ assert @p.errors[:height].present?
16
+ end
17
+
18
+ test "Height should not have error with number" do
19
+ @p.height=0
20
+ @p.valid?
21
+ assert @p.errors[:height].blank?
22
+ end
23
+
24
+ test "Count should not have error with number" do
25
+ @p.count=2
26
+ @p.valid?
27
+ assert @p.errors[:count].blank?
28
+ end
29
+
30
+ test "Count should have error with length 2mm" do
31
+ @p.count="2mm"
32
+ @p.valid?
33
+ assert @p.errors[:count].present?
34
+ end
35
+
36
+ test "Width should not have error with mass" do
37
+ @p.width="2kg"
38
+ @p.valid?
39
+ assert @p.errors[:width].blank?
40
+ end
41
+
42
+ test "Width should not have error with length" do
43
+ @p.width="2mm"
44
+ @p.valid?
45
+ assert @p.errors[:width].blank?
46
+ end
47
+
48
+ test "Width should have error with unitless" do
49
+ @p.width="2"
50
+ @p.valid?
51
+ assert @p.errors[:width].present?
52
+ end
53
+
54
+ end
metadata ADDED
@@ -0,0 +1,183 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unit_validation
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - David Morton
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: ruby-units
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Validate that a column is a valid unit of measurement
63
+ email:
64
+ - mortonda@dgrmm.net
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - lib/tasks/unit_validation_tasks.rake
70
+ - lib/unit_validation/version.rb
71
+ - lib/unit_validation.rb
72
+ - MIT-LICENSE
73
+ - Rakefile
74
+ - README.md
75
+ - test/dummy/app/assets/javascripts/application.js
76
+ - test/dummy/app/assets/stylesheets/application.css
77
+ - test/dummy/app/controllers/application_controller.rb
78
+ - test/dummy/app/helpers/application_helper.rb
79
+ - test/dummy/app/models/package.rb
80
+ - test/dummy/app/views/layouts/application.html.erb
81
+ - test/dummy/config/application.rb
82
+ - test/dummy/config/boot.rb
83
+ - test/dummy/config/database.yml
84
+ - test/dummy/config/environment.rb
85
+ - test/dummy/config/environments/development.rb
86
+ - test/dummy/config/environments/production.rb
87
+ - test/dummy/config/environments/test.rb
88
+ - test/dummy/config/initializers/backtrace_silencers.rb
89
+ - test/dummy/config/initializers/inflections.rb
90
+ - test/dummy/config/initializers/mime_types.rb
91
+ - test/dummy/config/initializers/secret_token.rb
92
+ - test/dummy/config/initializers/session_store.rb
93
+ - test/dummy/config/initializers/wrap_parameters.rb
94
+ - test/dummy/config/locales/en.yml
95
+ - test/dummy/config/routes.rb
96
+ - test/dummy/config.ru
97
+ - test/dummy/db/development.sqlite3
98
+ - test/dummy/db/migrate/20120618230802_create_packages.rb
99
+ - test/dummy/db/schema.rb
100
+ - test/dummy/db/test.sqlite3
101
+ - test/dummy/log/development.log
102
+ - test/dummy/log/test.log
103
+ - test/dummy/public/404.html
104
+ - test/dummy/public/422.html
105
+ - test/dummy/public/500.html
106
+ - test/dummy/public/favicon.ico
107
+ - test/dummy/Rakefile
108
+ - test/dummy/README.rdoc
109
+ - test/dummy/script/rails
110
+ - test/dummy/test/fixtures/packages.yml
111
+ - test/dummy/test/unit/package_test.rb
112
+ - test/test_helper.rb
113
+ - test/unit_validation_test.rb
114
+ homepage: http://www.github.com/dgm
115
+ licenses: []
116
+ post_install_message:
117
+ rdoc_options: []
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ segments:
127
+ - 0
128
+ hash: 577278562134281254
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ segments:
136
+ - 0
137
+ hash: 577278562134281254
138
+ requirements: []
139
+ rubyforge_project:
140
+ rubygems_version: 1.8.21
141
+ signing_key:
142
+ specification_version: 3
143
+ summary: A model validation class to work in hand with ruby-units
144
+ test_files:
145
+ - test/dummy/app/assets/javascripts/application.js
146
+ - test/dummy/app/assets/stylesheets/application.css
147
+ - test/dummy/app/controllers/application_controller.rb
148
+ - test/dummy/app/helpers/application_helper.rb
149
+ - test/dummy/app/models/package.rb
150
+ - test/dummy/app/views/layouts/application.html.erb
151
+ - test/dummy/config/application.rb
152
+ - test/dummy/config/boot.rb
153
+ - test/dummy/config/database.yml
154
+ - test/dummy/config/environment.rb
155
+ - test/dummy/config/environments/development.rb
156
+ - test/dummy/config/environments/production.rb
157
+ - test/dummy/config/environments/test.rb
158
+ - test/dummy/config/initializers/backtrace_silencers.rb
159
+ - test/dummy/config/initializers/inflections.rb
160
+ - test/dummy/config/initializers/mime_types.rb
161
+ - test/dummy/config/initializers/secret_token.rb
162
+ - test/dummy/config/initializers/session_store.rb
163
+ - test/dummy/config/initializers/wrap_parameters.rb
164
+ - test/dummy/config/locales/en.yml
165
+ - test/dummy/config/routes.rb
166
+ - test/dummy/config.ru
167
+ - test/dummy/db/development.sqlite3
168
+ - test/dummy/db/migrate/20120618230802_create_packages.rb
169
+ - test/dummy/db/schema.rb
170
+ - test/dummy/db/test.sqlite3
171
+ - test/dummy/log/development.log
172
+ - test/dummy/log/test.log
173
+ - test/dummy/public/404.html
174
+ - test/dummy/public/422.html
175
+ - test/dummy/public/500.html
176
+ - test/dummy/public/favicon.ico
177
+ - test/dummy/Rakefile
178
+ - test/dummy/README.rdoc
179
+ - test/dummy/script/rails
180
+ - test/dummy/test/fixtures/packages.yml
181
+ - test/dummy/test/unit/package_test.rb
182
+ - test/test_helper.rb
183
+ - test/unit_validation_test.rb