mv-mysql 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89fbc77061d52d4aec55f6316b1d74352d3eabe5
|
4
|
+
data.tar.gz: 75c29454e1559330cb16e22b26ad0a1d5402892a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0db6760c32bf4fadd34c4806fe11ea38ec567ad4fadaedbab61cdaef6865695bee95cd700fd7184a74b7cd31e769752e95ca33b3c8372e79dd634a68d7cec08
|
7
|
+
data.tar.gz: 76c29214bff9d89193459a1fecebb86edf101bf6151be90cd0ff033894bf78aa28854939256c80293de8c3c21d360472f55fa528f383cf54e2f54e074ed4a006
|
data/lib/mv-mysql.rb
CHANGED
@@ -9,6 +9,7 @@ require 'mv/mysql/validation/length'
|
|
9
9
|
require 'mv/mysql/validation/presence'
|
10
10
|
require 'mv/mysql/validation/absence'
|
11
11
|
require 'mv/mysql/validation/uniqueness'
|
12
|
+
require 'mv/mysql/validation/format'
|
12
13
|
require 'mv/mysql/validation/custom'
|
13
14
|
|
14
15
|
require 'mv/mysql/validation/builder/trigger/exclusion'
|
@@ -17,8 +18,11 @@ require 'mv/mysql/validation/builder/trigger/length'
|
|
17
18
|
require 'mv/mysql/validation/builder/trigger/presence'
|
18
19
|
require 'mv/mysql/validation/builder/trigger/absence'
|
19
20
|
require 'mv/mysql/validation/builder/trigger/uniqueness'
|
21
|
+
require 'mv/mysql/validation/builder/trigger/format'
|
20
22
|
require 'mv/mysql/validation/builder/trigger/custom'
|
21
23
|
|
24
|
+
require 'mv/mysql/validation/active_model_presenter/format'
|
25
|
+
|
22
26
|
ActiveSupport.on_load(:mv_core) do
|
23
27
|
|
24
28
|
#constraint builders
|
@@ -33,7 +37,8 @@ ActiveSupport.on_load(:mv_core) do
|
|
33
37
|
:length => Mv::Mysql::Validation::Length,
|
34
38
|
:presence => Mv::Mysql::Validation::Presence,
|
35
39
|
:absence => Mv::Mysql::Validation::Absence,
|
36
|
-
:uniqueness => Mv::Mysql::Validation::Uniqueness,
|
40
|
+
:uniqueness => Mv::Mysql::Validation::Uniqueness,
|
41
|
+
:format => Mv::Mysql::Validation::Format,
|
37
42
|
:custom => Mv::Mysql::Validation::Custom
|
38
43
|
)
|
39
44
|
|
@@ -45,6 +50,7 @@ ActiveSupport.on_load(:mv_core) do
|
|
45
50
|
Mv::Mysql::Validation::Presence => Mv::Mysql::Validation::Builder::Trigger::Presence,
|
46
51
|
Mv::Mysql::Validation::Absence => Mv::Mysql::Validation::Builder::Trigger::Absence,
|
47
52
|
Mv::Mysql::Validation::Uniqueness => Mv::Mysql::Validation::Builder::Trigger::Uniqueness,
|
53
|
+
Mv::Mysql::Validation::Format => Mv::Mysql::Validation::Builder::Trigger::Format,
|
48
54
|
Mv::Mysql::Validation::Custom => Mv::Mysql::Validation::Builder::Trigger::Custom
|
49
55
|
)
|
50
56
|
|
@@ -55,7 +61,8 @@ ActiveSupport.on_load(:mv_core) do
|
|
55
61
|
Mv::Mysql::Validation::Length => Mv::Core::Validation::ActiveModelPresenter::Length,
|
56
62
|
Mv::Mysql::Validation::Presence => Mv::Core::Validation::ActiveModelPresenter::Presence,
|
57
63
|
Mv::Mysql::Validation::Absence => Mv::Core::Validation::ActiveModelPresenter::Absence,
|
58
|
-
Mv::Mysql::Validation::Uniqueness => Mv::Core::Validation::ActiveModelPresenter::Uniqueness
|
64
|
+
Mv::Mysql::Validation::Uniqueness => Mv::Core::Validation::ActiveModelPresenter::Uniqueness,
|
65
|
+
Mv::Mysql::Validation::Format => Mv::Mysql::Validation::ActiveModelPresenter::Format
|
59
66
|
)
|
60
67
|
end
|
61
68
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Mv
|
2
|
+
module Mysql
|
3
|
+
module Validation
|
4
|
+
module ActiveModelPresenter
|
5
|
+
class Format < Mv::Core::Validation::ActiveModelPresenter::Base
|
6
|
+
def option_names
|
7
|
+
super + [:with]
|
8
|
+
end
|
9
|
+
|
10
|
+
def validation_name
|
11
|
+
:format
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Mv
|
2
|
+
module Mysql
|
3
|
+
module Validation
|
4
|
+
module Builder
|
5
|
+
class Format < Mv::Core::Validation::Builder::Base
|
6
|
+
delegate :with, to: :validation
|
7
|
+
|
8
|
+
def conditions
|
9
|
+
[{
|
10
|
+
statement: apply_allow_nil_and_blank(apply_with(column_reference)),
|
11
|
+
message: message
|
12
|
+
}]
|
13
|
+
end
|
14
|
+
|
15
|
+
protected
|
16
|
+
|
17
|
+
def db_value value
|
18
|
+
return "'#{value.source}'" if value.is_a?(Regexp)
|
19
|
+
return "'#{value.to_s}'" if value.is_a?(String)
|
20
|
+
raise Mv::Core::Error.new(table_name: table_name,
|
21
|
+
column_name: column_name,
|
22
|
+
validation_type: :inclusion,
|
23
|
+
options: { in: value },
|
24
|
+
error: "#{value.class} is not supported as :with value")
|
25
|
+
end
|
26
|
+
|
27
|
+
def apply_with stmt
|
28
|
+
"#{stmt} RLIKE #{db_value(with)}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'mv/mysql/validation/builder/format'
|
2
|
+
require 'mv/mysql/validation/builder/trigger/trigger_column'
|
3
|
+
|
4
|
+
module Mv
|
5
|
+
module Mysql
|
6
|
+
module Validation
|
7
|
+
module Builder
|
8
|
+
module Trigger
|
9
|
+
class Format < Mv::Mysql::Validation::Builder::Format
|
10
|
+
include TriggerColumn
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Mv
|
2
|
+
module Mysql
|
3
|
+
module Validation
|
4
|
+
class Format < Mv::Core::Validation::Base
|
5
|
+
attr_reader :with
|
6
|
+
|
7
|
+
validates :with, presence: true
|
8
|
+
|
9
|
+
def initialize(table_name, column_name, opts)
|
10
|
+
opts = { with: opts } unless opts.is_a?(Hash)
|
11
|
+
|
12
|
+
super(table_name, column_name, opts)
|
13
|
+
|
14
|
+
@with = opts.with_indifferent_access[:with]
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_a
|
18
|
+
super + [with.to_s]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mv-mysql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Valeriy Prokopchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -137,9 +137,12 @@ files:
|
|
137
137
|
- lib/mv/mysql/constraint/builder/trigger.rb
|
138
138
|
- lib/mv/mysql/railtie.rb
|
139
139
|
- lib/mv/mysql/validation/absence.rb
|
140
|
+
- lib/mv/mysql/validation/active_model_presenter/format.rb
|
141
|
+
- lib/mv/mysql/validation/builder/format.rb
|
140
142
|
- lib/mv/mysql/validation/builder/trigger/absence.rb
|
141
143
|
- lib/mv/mysql/validation/builder/trigger/custom.rb
|
142
144
|
- lib/mv/mysql/validation/builder/trigger/exclusion.rb
|
145
|
+
- lib/mv/mysql/validation/builder/trigger/format.rb
|
143
146
|
- lib/mv/mysql/validation/builder/trigger/inclusion.rb
|
144
147
|
- lib/mv/mysql/validation/builder/trigger/length.rb
|
145
148
|
- lib/mv/mysql/validation/builder/trigger/mysql_datetime_values.rb
|
@@ -148,6 +151,7 @@ files:
|
|
148
151
|
- lib/mv/mysql/validation/builder/trigger/uniqueness.rb
|
149
152
|
- lib/mv/mysql/validation/custom.rb
|
150
153
|
- lib/mv/mysql/validation/exclusion.rb
|
154
|
+
- lib/mv/mysql/validation/format.rb
|
151
155
|
- lib/mv/mysql/validation/inclusion.rb
|
152
156
|
- lib/mv/mysql/validation/length.rb
|
153
157
|
- lib/mv/mysql/validation/mysql_error_message_restrictions.rb
|