rein 0.7.1 → 0.8.0
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.
- data/lib/rein.rb +3 -1
- data/lib/rein/constraint/presence.rb +11 -0
- data/lib/rein/version.rb +1 -1
- metadata +16 -66
data/lib/rein.rb
CHANGED
@@ -8,10 +8,11 @@ RC = Rein::Constraint
|
|
8
8
|
require 'active_record'
|
9
9
|
require 'active_support/core_ext/hash'
|
10
10
|
|
11
|
-
require 'rein/constraint/foreign_key'
|
12
11
|
require 'rein/constraint/primary_key'
|
12
|
+
require 'rein/constraint/foreign_key'
|
13
13
|
require 'rein/constraint/inclusion'
|
14
14
|
require 'rein/constraint/numericality'
|
15
|
+
require 'rein/constraint/presence'
|
15
16
|
require 'rein/view'
|
16
17
|
|
17
18
|
module ActiveRecord::ConnectionAdapters
|
@@ -32,6 +33,7 @@ module ActiveRecord::ConnectionAdapters
|
|
32
33
|
include RC::ForeignKey
|
33
34
|
include RC::Inclusion
|
34
35
|
include RC::Numericality
|
36
|
+
include RC::Presence
|
35
37
|
include Rein::View
|
36
38
|
end
|
37
39
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module RC
|
2
|
+
module Presence
|
3
|
+
include ActiveRecord::ConnectionAdapters::Quoting
|
4
|
+
|
5
|
+
def add_presence_constraint(table, attribute)
|
6
|
+
name = "#{table}_#{attribute}"
|
7
|
+
conditions = "#{attribute} !~ '^\s*$'"
|
8
|
+
execute("ALTER TABLE #{table} ADD CONSTRAINT #{name} CHECK (#{conditions})")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/lib/rein/version.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rein
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 7
|
8
|
-
- 1
|
9
|
-
version: 0.7.1
|
4
|
+
prerelease:
|
5
|
+
version: 0.8.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Josh Bassett
|
@@ -25,116 +21,75 @@ dependencies:
|
|
25
21
|
requirements:
|
26
22
|
- - ">="
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 0
|
30
24
|
version: "0"
|
31
25
|
type: :runtime
|
32
26
|
version_requirements: *id001
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
28
|
+
name: hirb
|
35
29
|
prerelease: false
|
36
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
37
31
|
none: false
|
38
32
|
requirements:
|
39
33
|
- - ~>
|
40
34
|
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
- 1
|
43
|
-
- 0
|
44
|
-
- 0
|
45
|
-
version: 1.0.0
|
35
|
+
version: 0.3.2
|
46
36
|
type: :development
|
47
37
|
version_requirements: *id002
|
48
38
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
39
|
+
name: rake
|
50
40
|
prerelease: false
|
51
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
52
42
|
none: false
|
53
43
|
requirements:
|
54
44
|
- - ~>
|
55
45
|
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
- 0
|
58
|
-
- 3
|
59
|
-
- 2
|
60
|
-
version: 0.3.2
|
46
|
+
version: 0.8.7
|
61
47
|
type: :development
|
62
48
|
version_requirements: *id003
|
63
49
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
50
|
+
name: rcov
|
65
51
|
prerelease: false
|
66
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
53
|
none: false
|
68
54
|
requirements:
|
69
55
|
- - ~>
|
70
56
|
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
- 0
|
73
|
-
- 8
|
74
|
-
- 7
|
75
|
-
version: 0.8.7
|
57
|
+
version: 0.9.9
|
76
58
|
type: :development
|
77
59
|
version_requirements: *id004
|
78
60
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
61
|
+
name: rspec
|
80
62
|
prerelease: false
|
81
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
82
64
|
none: false
|
83
65
|
requirements:
|
84
66
|
- - ~>
|
85
67
|
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
- 0
|
88
|
-
- 9
|
89
|
-
- 8
|
90
|
-
version: 0.9.8
|
68
|
+
version: 2.4.0
|
91
69
|
type: :development
|
92
70
|
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: rspec
|
95
|
-
prerelease: false
|
96
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
segments:
|
102
|
-
- 2
|
103
|
-
- 0
|
104
|
-
- 0
|
105
|
-
version: 2.0.0
|
106
|
-
type: :development
|
107
|
-
version_requirements: *id006
|
108
71
|
- !ruby/object:Gem::Dependency
|
109
72
|
name: rr
|
110
73
|
prerelease: false
|
111
|
-
requirement: &
|
74
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
112
75
|
none: false
|
113
76
|
requirements:
|
114
77
|
- - ~>
|
115
78
|
- !ruby/object:Gem::Version
|
116
|
-
segments:
|
117
|
-
- 1
|
118
|
-
- 0
|
119
|
-
- 0
|
120
79
|
version: 1.0.0
|
121
80
|
type: :development
|
122
|
-
version_requirements: *
|
81
|
+
version_requirements: *id006
|
123
82
|
- !ruby/object:Gem::Dependency
|
124
83
|
name: wirble
|
125
84
|
prerelease: false
|
126
|
-
requirement: &
|
85
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
127
86
|
none: false
|
128
87
|
requirements:
|
129
88
|
- - ~>
|
130
89
|
- !ruby/object:Gem::Version
|
131
|
-
segments:
|
132
|
-
- 0
|
133
|
-
- 1
|
134
|
-
- 3
|
135
90
|
version: 0.1.3
|
136
91
|
type: :development
|
137
|
-
version_requirements: *
|
92
|
+
version_requirements: *id007
|
138
93
|
description: Rein adds bunch of methods to your ActiveRecord migrations so you can easily tame your database.
|
139
94
|
email: josh.bassett@gmail.com
|
140
95
|
executables: []
|
@@ -148,6 +103,7 @@ files:
|
|
148
103
|
- lib/rein/constraint/foreign_key.rb
|
149
104
|
- lib/rein/constraint/inclusion.rb
|
150
105
|
- lib/rein/constraint/numericality.rb
|
106
|
+
- lib/rein/constraint/presence.rb
|
151
107
|
- lib/rein/constraint/primary_key.rb
|
152
108
|
- lib/rein/version.rb
|
153
109
|
- lib/rein/view.rb
|
@@ -169,23 +125,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
169
125
|
requirements:
|
170
126
|
- - ">="
|
171
127
|
- !ruby/object:Gem::Version
|
172
|
-
segments:
|
173
|
-
- 0
|
174
128
|
version: "0"
|
175
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
130
|
none: false
|
177
131
|
requirements:
|
178
132
|
- - ">="
|
179
133
|
- !ruby/object:Gem::Version
|
180
|
-
segments:
|
181
|
-
- 1
|
182
|
-
- 3
|
183
|
-
- 6
|
184
134
|
version: 1.3.6
|
185
135
|
requirements: []
|
186
136
|
|
187
137
|
rubyforge_project: rein
|
188
|
-
rubygems_version: 1.
|
138
|
+
rubygems_version: 1.5.0
|
189
139
|
signing_key:
|
190
140
|
specification_version: 3
|
191
141
|
summary: Database constraints made easy for ActiveRecord.
|