schema_validations 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +2 -9
- data/{README.rdoc → README.md} +84 -60
- data/gemfiles/{Gemfile.rails-2.3 → Gemfile.rails-4.0} +1 -2
- data/lib/schema_validations/active_record/validations.rb +6 -2
- data/lib/schema_validations/version.rb +1 -1
- data/runspecs +21 -4
- data/schema_validations.gemspec +1 -0
- data/spec/spec_helper.rb +4 -6
- data/spec/validations_spec.rb +14 -6
- metadata +25 -49
- data/gemfiles/Gemfile.rails-3.0 +0 -5
- data/gemfiles/Gemfile.rails-3.1 +0 -5
- data/gemfiles/Gemfile.rails-3.2.lock +0 -119
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 68ad2ed2f5b40cf34fd23cac6eed63abdb045f01
|
4
|
+
data.tar.gz: 11a19a7edc455c9ee42d66f735499daaf3c822e0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5d2c1aed062ecb7b7b213c64aecefbf52adc7b9e895f8cd516dd83fadc4888322eebb49f572cac83fa3313069b98a46fa9e3290410cb52e1be12cc3b7a8f18da
|
7
|
+
data.tar.gz: d82e9c923d391bd05ad32e8cb047ca2c8a122a2e49717b6643ee3b4f4cf92cc17b0431b325049ade8953206c0417e9273a00c8615bd1a2fbac9ca6b291dffb67
|
data/.travis.yml
CHANGED
@@ -1,16 +1,9 @@
|
|
1
1
|
rvm:
|
2
|
-
- 1.8.7
|
3
|
-
- 1.9.2
|
4
2
|
- 1.9.3
|
3
|
+
- 2.0.0
|
5
4
|
gemfile:
|
6
|
-
- gemfiles/Gemfile.rails-2.3
|
7
|
-
- gemfiles/Gemfile.rails-3.0
|
8
|
-
- gemfiles/Gemfile.rails-3.1
|
9
5
|
- gemfiles/Gemfile.rails-3.2
|
10
|
-
|
11
|
-
exclude:
|
12
|
-
- rvm: 1.8.7
|
13
|
-
- gemfiles/Gemfile.rails-3.2
|
6
|
+
- gemfiles/Gemfile.rails-4.0
|
14
7
|
notifications:
|
15
8
|
recipients:
|
16
9
|
- michal.lomnicki@gmail.com
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,26 +1,28 @@
|
|
1
|
-
|
1
|
+
# SchemaValidations
|
2
2
|
|
3
3
|
SchemaValidations is an ActiveRecord extension that keeps your model class
|
4
|
-
definitions simpler and more DRY, by automatically defining validations
|
5
|
-
|
4
|
+
definitions simpler and more DRY, by automatically defining validations based
|
5
|
+
on the database schema.
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
[![Gem Version](https://badge.fury.io/rb/schema_validations.png)](http://badge.fury.io/rb/schema_validations)
|
8
|
+
[![Build Status](https://secure.travis-ci.org/lomba/schema_validations.png)](http://travis-ci.org/lomba/schema_validations)
|
9
|
+
[![Dependency Status](https://gemnasium.com/lomba/schema_validations.png)](https://gemnasium.com/lomba/schema_validations)
|
9
10
|
|
10
|
-
|
11
|
+
## Overview
|
11
12
|
|
12
13
|
One of the great things about Rails (ActiveRecord, in particular) is that it
|
13
14
|
inspects the database and automatically defines accessors for all your
|
14
15
|
columns, keeping your model class definitions simple and DRY. That's great
|
15
|
-
for simple data columns, but where it falls down is when your table
|
16
|
-
|
16
|
+
for simple data columns, but where it falls down is when your table contains
|
17
|
+
constraints.
|
17
18
|
|
18
19
|
create_table :users do |t|
|
19
20
|
t.string :email, :null => false, :limit => 30
|
20
21
|
t.boolean :confirmed, :null => false
|
21
22
|
end
|
22
23
|
|
23
|
-
In that case :null => false, :limit => 30 and :boolean must be covered on the
|
24
|
+
In that case :null => false, :limit => 30 and :boolean must be covered on the
|
25
|
+
model level.
|
24
26
|
|
25
27
|
class User < ActiveRecord::Base
|
26
28
|
validates :email, :presence => true, :length => 30
|
@@ -36,18 +38,19 @@ installing it your model is as simple as it can be.
|
|
36
38
|
class User < ActiveRecord::Base
|
37
39
|
end
|
38
40
|
|
39
|
-
Validations are there but they are created by schema_validations under the
|
41
|
+
Validations are there but they are created by schema_validations under the
|
42
|
+
hood.
|
40
43
|
|
41
|
-
|
44
|
+
## Installation
|
42
45
|
|
43
46
|
Simply add schema_validations to your Gemfile.
|
44
47
|
|
45
48
|
gem "schema_validations"
|
46
49
|
|
47
|
-
|
50
|
+
### What if I want something special?
|
48
51
|
|
49
|
-
SchemaValidations is highly customizable. You can configure behavior
|
50
|
-
|
52
|
+
SchemaValidations is highly customizable. You can configure behavior globally
|
53
|
+
via SchemaValidations.setup or per-model via
|
51
54
|
SchemaValidations::ActiveRecord::schema_validations, such as:
|
52
55
|
|
53
56
|
class User < ActiveRecord::Base
|
@@ -57,25 +60,24 @@ SchemaValidations::ActiveRecord::schema_validations, such as:
|
|
57
60
|
|
58
61
|
See SchemaValidations::Config for the available options.
|
59
62
|
|
60
|
-
|
63
|
+
### This seems cool, but I'm worried about too much automagic
|
61
64
|
|
62
65
|
You can globally turn off automatic creation in
|
63
|
-
|
66
|
+
`config/initializers/schema_validations.rb`:
|
64
67
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
+
SchemaValidations.setup do |config|
|
69
|
+
config.auto_create = false
|
70
|
+
end
|
68
71
|
|
69
72
|
Then in any model where you want automatic validations, just do
|
70
73
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
+
class Post < ActiveRecord::Base
|
75
|
+
schema_validations
|
76
|
+
end
|
74
77
|
|
75
78
|
You can also pass options as per above.
|
76
79
|
|
77
|
-
|
78
|
-
== Which validations are covered?
|
80
|
+
## Which validations are covered?
|
79
81
|
|
80
82
|
Constraints:
|
81
83
|
|
@@ -93,60 +95,82 @@ Data types:
|
|
93
95
|
| :float | :validates ... :numericality => true |
|
94
96
|
| :integer | :validates ... :numericality => { :only_integer => true } |
|
95
97
|
|
96
|
-
|
98
|
+
## Dependency
|
97
99
|
|
98
|
-
SchemaValidations uses the
|
99
|
-
queries. That gem will by default auto-create foreign key
|
100
|
-
you probably want -- but if you don't want them, you can
|
101
|
-
|
100
|
+
SchemaValidations uses the [schema_plus](http://rubygems.org/gems/schema_plus)
|
101
|
+
gem for its schema queries. That gem will by default auto-create foreign key
|
102
|
+
constraints that you probably want -- but if you don't want them, you can
|
103
|
+
disable them using [schema_plus](http://rubygems.org/gems/schema_plus)'s
|
104
|
+
config.
|
102
105
|
|
103
|
-
|
106
|
+
## Compatibility
|
104
107
|
|
105
108
|
SchemaValidations supports all combinations of:
|
106
|
-
* rails 2.3, 3.0, 3.1, or 3.2
|
107
|
-
* MRI ruby 1.8.7, 1.9.2, or 1.9.3
|
108
109
|
|
109
|
-
|
110
|
-
|
110
|
+
* rails 3.2 or 4.0
|
111
|
+
* MRI ruby 1.9.3 or 2.0.0
|
112
|
+
|
113
|
+
|
114
|
+
## How do I know what it did?
|
115
|
+
If you're curious (or dubious) about what validations SchemaValidations
|
116
|
+
defines, you can check the log file. For every assocation that
|
117
|
+
SchemaValidations defines, it generates an info entry such as
|
111
118
|
|
112
119
|
[schema_validations] Article.validates_length_of :title, :allow_nil=>true, :maximum=>50
|
113
120
|
|
114
|
-
which shows the exact validation definition call.
|
121
|
+
which shows the exact validation definition call.
|
122
|
+
|
123
|
+
|
124
|
+
SchemaValidations defines the validations lazily for each class, only creating
|
125
|
+
them when they are needed (to validate a record of the class, or in response
|
126
|
+
to introspection on the class). So you may need to search through the log
|
127
|
+
file for "schema_validations" to find all the validations, and some classes'
|
128
|
+
validations may not be defined at all if they were never needed for the logged
|
129
|
+
use case.
|
115
130
|
|
116
|
-
|
117
|
-
creating them when they are needed (to validate a record of the class, or
|
118
|
-
in response to introspection on the class). So you may need to search
|
119
|
-
through the log file for "schema_validations" to find all the validations,
|
120
|
-
and some classes' validations may not be defined at all if they
|
121
|
-
were never needed for the logged use case.
|
131
|
+
## Release Notes
|
122
132
|
|
123
|
-
|
133
|
+
### 1.0.0
|
124
134
|
|
125
|
-
*
|
126
|
-
|
127
|
-
|
135
|
+
* Works with Rails 4.0. Thanks to (@davll)[https://github.com/davll]
|
136
|
+
* No longer support Rails < 3.2 or Ruby < 1.9.3
|
137
|
+
|
138
|
+
### 0.2.2
|
128
139
|
|
129
|
-
*
|
140
|
+
* Rails 2.3 compatibility (check for Rails::Railties symbol). thanks to https://github.com/thehappycoder
|
141
|
+
|
142
|
+
### 0.2.0
|
143
|
+
|
144
|
+
* New feature: ActiveRecord#validators and ActiveRecord#validators_on now ensure schema_validations are loaded
|
145
|
+
|
146
|
+
## History
|
147
|
+
|
148
|
+
* SchemaValidations is derived from the "Red Hill On Rails" plugin
|
149
|
+
schema_validations originally created by harukizaemon
|
150
|
+
(https://github.com/harukizaemon)
|
151
|
+
|
152
|
+
* SchemaValidations was created in 2011 by Michał Łomnicki and Ronen Barzel
|
130
153
|
|
131
|
-
* SchemaValidations was created in 2011 by Michał Łomnicki and Ronen Barzel
|
132
154
|
|
133
|
-
|
155
|
+
## Testing
|
134
156
|
|
135
|
-
SchemaValidations is tested using rspec, sqlite3, and rvm, with some
|
136
|
-
|
137
|
-
|
157
|
+
SchemaValidations is tested using rspec, sqlite3, and rvm, with some hackery
|
158
|
+
to test against multiple versions of rails and ruby. To run the full combo of
|
159
|
+
tests, after you've forked & cloned:
|
138
160
|
|
139
|
-
|
140
|
-
|
141
|
-
|
161
|
+
$ cd schema_validations
|
162
|
+
$ ./runspecs --install # do this once to install gem dependencies for all versions (slow)
|
163
|
+
$ ./runspecs # as many times as you like
|
142
164
|
|
143
|
-
See
|
144
|
-
|
145
|
-
|
146
|
-
|
165
|
+
See `./runspecs --help` for other options. You can also pick a specific
|
166
|
+
version of rails and ruby to use, such as:
|
167
|
+
$ rvm use 1.9.2
|
168
|
+
$ export BUNDLE_GEMFILE=gemfiles/Gemfile.rails-3.1
|
169
|
+
$ rake spec
|
147
170
|
|
148
|
-
If you're running ruby 1.9, code coverage results will be in
|
171
|
+
If you're running ruby 1.9, code coverage results will be in
|
172
|
+
coverage/index.html -- it should be at 100% coverage.
|
149
173
|
|
150
|
-
|
174
|
+
## License
|
151
175
|
|
152
176
|
This gem is released under the MIT license.
|
@@ -3,8 +3,12 @@ module SchemaValidations
|
|
3
3
|
module Validations
|
4
4
|
|
5
5
|
def self.extended(base) # :nodoc:
|
6
|
-
base.
|
7
|
-
|
6
|
+
base.class_eval do
|
7
|
+
define_method :load_schema_validations do
|
8
|
+
self.class.send :load_schema_validations
|
9
|
+
end
|
10
|
+
class_attribute :schema_validations_loaded
|
11
|
+
end
|
8
12
|
class << base
|
9
13
|
alias_method_chain :validators, :schema_validations
|
10
14
|
alias_method_chain :validators_on, :schema_validations
|
data/runspecs
CHANGED
@@ -5,8 +5,8 @@ require 'ostruct'
|
|
5
5
|
require 'shellwords'
|
6
6
|
require 'tempfile'
|
7
7
|
|
8
|
-
RUBY_VERSIONS = %W[1.
|
9
|
-
RAILS_VERSIONS = %W[2
|
8
|
+
RUBY_VERSIONS = %W[1.9.3 2.0.0]
|
9
|
+
RAILS_VERSIONS = %W[3.2 4.0]
|
10
10
|
|
11
11
|
o = OpenStruct.new
|
12
12
|
o.ruby_versions = RUBY_VERSIONS
|
@@ -51,11 +51,28 @@ Combo = Struct.new(:ruby, :rails)
|
|
51
51
|
|
52
52
|
combos = o.ruby_versions.product(o.rails_versions).map{|product| Combo.new(*product)}.select {|combo|
|
53
53
|
case
|
54
|
-
when combo.rails >= "3.2" && combo.ruby <= "1.8.7" then false
|
54
|
+
when combo.rails >= "3.2" && combo.ruby <= "1.8.7" then false # no longer happens, just keeping it as an example
|
55
55
|
else true
|
56
56
|
end
|
57
57
|
}
|
58
58
|
|
59
|
+
if system("which -s rvm")
|
60
|
+
# using rvm
|
61
|
+
def ruby_version_selector(ruby)
|
62
|
+
"rvm #{ruby} do"
|
63
|
+
end
|
64
|
+
else
|
65
|
+
# using rbenv. remove current version from path and current gem path
|
66
|
+
# so that forked shell will respect RBENV_VERSION variable
|
67
|
+
ENV['PATH'] = ENV['PATH'].split(':').reject{|dir| dir =~ %r{/rbenv/versions/}}.join(':')
|
68
|
+
ENV['GEM_PATH'] = nil
|
69
|
+
|
70
|
+
def ruby_version_selector(ruby)
|
71
|
+
@versions ||= `rbenv versions --bare`.split
|
72
|
+
version = @versions.select{|v| v.start_with? ruby}.last || abort("no ruby version '#{ruby}' installed in rbenv")
|
73
|
+
"RBENV_VERSION=#{version}"
|
74
|
+
end
|
75
|
+
end
|
59
76
|
|
60
77
|
GEMFILES_DIR = File.expand_path('../gemfiles', __FILE__)
|
61
78
|
errs = []
|
@@ -74,7 +91,7 @@ combos.each_with_index do |combo, n|
|
|
74
91
|
"bundle exec rake spec"
|
75
92
|
end
|
76
93
|
|
77
|
-
command = %Q{BUNDLE_GEMFILE="#{File.join(GEMFILES_DIR, "Gemfile.rails-#{rails}")}"
|
94
|
+
command = %Q{BUNDLE_GEMFILE="#{File.join(GEMFILES_DIR, "Gemfile.rails-#{rails}")}" #{ruby_version_selector(ruby)} #{cmd} #{Shellwords.join(ARGV)}}
|
78
95
|
|
79
96
|
puts "\n\n*** ruby version #{ruby} - rails version #{rails} [#{n+1} of #{combos.size}]\n\n#{command}"
|
80
97
|
|
data/schema_validations.gemspec
CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = "https://github.com/lomba/schema_validations"
|
12
12
|
s.summary = "Automatically creates validations basing on the database schema."
|
13
13
|
s.description = "SchemaValidations extends ActiveRecord to automatically create validations by inspecting the database schema. This makes your models more DRY as you no longer need to duplicate NOT NULL, unique, numeric and varchar constraints on the model level."
|
14
|
+
s.license = 'MIT'
|
14
15
|
|
15
16
|
s.rubyforge_project = "schema_validations"
|
16
17
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
SimpleCov.start "gem"
|
5
|
-
end
|
1
|
+
require 'simplecov'
|
2
|
+
require 'simplecov-gem-adapter'
|
3
|
+
SimpleCov.start "gem"
|
6
4
|
|
7
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
6
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
@@ -24,4 +22,4 @@ def remove_all_models
|
|
24
22
|
end
|
25
23
|
end
|
26
24
|
|
27
|
-
SimpleCov.command_name
|
25
|
+
SimpleCov.command_name "[Ruby #{RUBY_VERSION} - ActiveRecord #{::ActiveRecord::VERSION::STRING}]"
|
data/spec/validations_spec.rb
CHANGED
@@ -23,12 +23,20 @@ describe "Validations" do
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
it "should create validations for introspection with validators" do
|
27
|
+
Article.validators.map{|v| v.class.name.demodulize}.uniq.should =~ %W[
|
28
|
+
InclusionValidator
|
29
|
+
LengthValidator
|
30
|
+
NumericalityValidator
|
31
|
+
PresenceValidator
|
32
|
+
UniquenessValidator
|
33
|
+
]
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should create validations for introspection with validators_on" do
|
37
|
+
Article.validators_on(:content).map{|v| v.class.name.demodulize}.uniq.should =~ %W[
|
38
|
+
PresenceValidator
|
39
|
+
]
|
32
40
|
end
|
33
41
|
|
34
42
|
it "should be valid with valid attributes" do
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schema_validations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ronen Barzel
|
@@ -10,118 +9,104 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2013-
|
12
|
+
date: 2013-08-19 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: schema_plus
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - '>='
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - '>='
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: rake
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - '>='
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '0'
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - '>='
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rdoc
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - '>='
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '0'
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - '>='
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '0'
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: rspec
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - '>='
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: '0'
|
71
63
|
type: :development
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - '>='
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: '0'
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: sqlite3
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - '>='
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
81
|
+
- - '>='
|
93
82
|
- !ruby/object:Gem::Version
|
94
83
|
version: '0'
|
95
84
|
- !ruby/object:Gem::Dependency
|
96
85
|
name: simplecov
|
97
86
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
87
|
requirements:
|
100
|
-
- -
|
88
|
+
- - '>='
|
101
89
|
- !ruby/object:Gem::Version
|
102
90
|
version: '0'
|
103
91
|
type: :development
|
104
92
|
prerelease: false
|
105
93
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
94
|
requirements:
|
108
|
-
- -
|
95
|
+
- - '>='
|
109
96
|
- !ruby/object:Gem::Version
|
110
97
|
version: '0'
|
111
98
|
- !ruby/object:Gem::Dependency
|
112
99
|
name: simplecov-gem-adapter
|
113
100
|
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
101
|
requirements:
|
116
|
-
- -
|
102
|
+
- - '>='
|
117
103
|
- !ruby/object:Gem::Version
|
118
104
|
version: '0'
|
119
105
|
type: :development
|
120
106
|
prerelease: false
|
121
107
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
108
|
requirements:
|
124
|
-
- -
|
109
|
+
- - '>='
|
125
110
|
- !ruby/object:Gem::Version
|
126
111
|
version: '0'
|
127
112
|
description: SchemaValidations extends ActiveRecord to automatically create validations
|
@@ -139,13 +124,10 @@ files:
|
|
139
124
|
- .travis.yml
|
140
125
|
- Gemfile
|
141
126
|
- MIT-LICENSE
|
142
|
-
- README.
|
127
|
+
- README.md
|
143
128
|
- Rakefile
|
144
|
-
- gemfiles/Gemfile.rails-2.3
|
145
|
-
- gemfiles/Gemfile.rails-3.0
|
146
|
-
- gemfiles/Gemfile.rails-3.1
|
147
129
|
- gemfiles/Gemfile.rails-3.2
|
148
|
-
- gemfiles/Gemfile.rails-
|
130
|
+
- gemfiles/Gemfile.rails-4.0
|
149
131
|
- init.rb
|
150
132
|
- lib/schema_validations.rb
|
151
133
|
- lib/schema_validations/active_record/validations.rb
|
@@ -158,34 +140,28 @@ files:
|
|
158
140
|
- spec/support/active_model.rb
|
159
141
|
- spec/validations_spec.rb
|
160
142
|
homepage: https://github.com/lomba/schema_validations
|
161
|
-
licenses:
|
143
|
+
licenses:
|
144
|
+
- MIT
|
145
|
+
metadata: {}
|
162
146
|
post_install_message:
|
163
147
|
rdoc_options: []
|
164
148
|
require_paths:
|
165
149
|
- lib
|
166
150
|
required_ruby_version: !ruby/object:Gem::Requirement
|
167
|
-
none: false
|
168
151
|
requirements:
|
169
|
-
- -
|
152
|
+
- - '>='
|
170
153
|
- !ruby/object:Gem::Version
|
171
154
|
version: '0'
|
172
|
-
segments:
|
173
|
-
- 0
|
174
|
-
hash: 2824787469668256797
|
175
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
-
none: false
|
177
156
|
requirements:
|
178
|
-
- -
|
157
|
+
- - '>='
|
179
158
|
- !ruby/object:Gem::Version
|
180
159
|
version: '0'
|
181
|
-
segments:
|
182
|
-
- 0
|
183
|
-
hash: 2824787469668256797
|
184
160
|
requirements: []
|
185
161
|
rubyforge_project: schema_validations
|
186
|
-
rubygems_version:
|
162
|
+
rubygems_version: 2.0.3
|
187
163
|
signing_key:
|
188
|
-
specification_version:
|
164
|
+
specification_version: 4
|
189
165
|
summary: Automatically creates validations basing on the database schema.
|
190
166
|
test_files:
|
191
167
|
- spec/connection.rb
|
data/gemfiles/Gemfile.rails-3.0
DELETED
data/gemfiles/Gemfile.rails-3.1
DELETED
@@ -1,119 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: /Users/ronen/github/schema_validations
|
3
|
-
specs:
|
4
|
-
schema_validations (0.2.1)
|
5
|
-
schema_plus
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: http://rubygems.org/
|
9
|
-
specs:
|
10
|
-
actionmailer (3.2.11)
|
11
|
-
actionpack (= 3.2.11)
|
12
|
-
mail (~> 2.4.4)
|
13
|
-
actionpack (3.2.11)
|
14
|
-
activemodel (= 3.2.11)
|
15
|
-
activesupport (= 3.2.11)
|
16
|
-
builder (~> 3.0.0)
|
17
|
-
erubis (~> 2.7.0)
|
18
|
-
journey (~> 1.0.4)
|
19
|
-
rack (~> 1.4.0)
|
20
|
-
rack-cache (~> 1.2)
|
21
|
-
rack-test (~> 0.6.1)
|
22
|
-
sprockets (~> 2.2.1)
|
23
|
-
activemodel (3.2.11)
|
24
|
-
activesupport (= 3.2.11)
|
25
|
-
builder (~> 3.0.0)
|
26
|
-
activerecord (3.2.11)
|
27
|
-
activemodel (= 3.2.11)
|
28
|
-
activesupport (= 3.2.11)
|
29
|
-
arel (~> 3.0.2)
|
30
|
-
tzinfo (~> 0.3.29)
|
31
|
-
activeresource (3.2.11)
|
32
|
-
activemodel (= 3.2.11)
|
33
|
-
activesupport (= 3.2.11)
|
34
|
-
activesupport (3.2.11)
|
35
|
-
i18n (~> 0.6)
|
36
|
-
multi_json (~> 1.0)
|
37
|
-
arel (3.0.2)
|
38
|
-
builder (3.0.4)
|
39
|
-
diff-lcs (1.1.3)
|
40
|
-
erubis (2.7.0)
|
41
|
-
hike (1.2.1)
|
42
|
-
i18n (0.6.1)
|
43
|
-
journey (1.0.4)
|
44
|
-
json (1.7.6)
|
45
|
-
mail (2.4.4)
|
46
|
-
i18n (>= 0.4.0)
|
47
|
-
mime-types (~> 1.16)
|
48
|
-
treetop (~> 1.4.8)
|
49
|
-
mime-types (1.19)
|
50
|
-
multi_json (1.5.0)
|
51
|
-
polyglot (0.3.3)
|
52
|
-
rack (1.4.4)
|
53
|
-
rack-cache (1.2)
|
54
|
-
rack (>= 0.4)
|
55
|
-
rack-ssl (1.3.2)
|
56
|
-
rack
|
57
|
-
rack-test (0.6.2)
|
58
|
-
rack (>= 1.0)
|
59
|
-
rails (3.2.11)
|
60
|
-
actionmailer (= 3.2.11)
|
61
|
-
actionpack (= 3.2.11)
|
62
|
-
activerecord (= 3.2.11)
|
63
|
-
activeresource (= 3.2.11)
|
64
|
-
activesupport (= 3.2.11)
|
65
|
-
bundler (~> 1.0)
|
66
|
-
railties (= 3.2.11)
|
67
|
-
railties (3.2.11)
|
68
|
-
actionpack (= 3.2.11)
|
69
|
-
activesupport (= 3.2.11)
|
70
|
-
rack-ssl (~> 1.3.2)
|
71
|
-
rake (>= 0.8.7)
|
72
|
-
rdoc (~> 3.4)
|
73
|
-
thor (>= 0.14.6, < 2.0)
|
74
|
-
rake (10.0.3)
|
75
|
-
rdoc (3.12)
|
76
|
-
json (~> 1.4)
|
77
|
-
rspec (2.12.0)
|
78
|
-
rspec-core (~> 2.12.0)
|
79
|
-
rspec-expectations (~> 2.12.0)
|
80
|
-
rspec-mocks (~> 2.12.0)
|
81
|
-
rspec-core (2.12.2)
|
82
|
-
rspec-expectations (2.12.1)
|
83
|
-
diff-lcs (~> 1.1.3)
|
84
|
-
rspec-mocks (2.12.1)
|
85
|
-
schema_plus (1.0.1)
|
86
|
-
rails (>= 3.2)
|
87
|
-
valuable
|
88
|
-
simplecov (0.7.1)
|
89
|
-
multi_json (~> 1.0)
|
90
|
-
simplecov-html (~> 0.7.1)
|
91
|
-
simplecov-gem-adapter (1.0.1)
|
92
|
-
simplecov
|
93
|
-
simplecov-html (0.7.1)
|
94
|
-
sprockets (2.2.2)
|
95
|
-
hike (~> 1.2)
|
96
|
-
multi_json (~> 1.0)
|
97
|
-
rack (~> 1.0)
|
98
|
-
tilt (~> 1.1, != 1.3.0)
|
99
|
-
sqlite3 (1.3.7)
|
100
|
-
thor (0.16.0)
|
101
|
-
tilt (1.3.3)
|
102
|
-
treetop (1.4.12)
|
103
|
-
polyglot
|
104
|
-
polyglot (>= 0.3.1)
|
105
|
-
tzinfo (0.3.35)
|
106
|
-
valuable (0.9.8)
|
107
|
-
|
108
|
-
PLATFORMS
|
109
|
-
ruby
|
110
|
-
|
111
|
-
DEPENDENCIES
|
112
|
-
rails (~> 3.2.0)
|
113
|
-
rake
|
114
|
-
rdoc
|
115
|
-
rspec
|
116
|
-
schema_validations!
|
117
|
-
simplecov
|
118
|
-
simplecov-gem-adapter
|
119
|
-
sqlite3
|