valideizer 1.0.7 → 1.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00ecebcfbd69263f706de4ac7fc78cb0f8d326edcc6077bad8bf8cd29d1ed42c
4
- data.tar.gz: '00929bf85b5617fca26d2027af6ae091d281112c1274993ffc1ec4407ad8a4f1'
3
+ metadata.gz: 1921ea849a60852ef035cc51a79037cdc7ef02a0139fb9f89f9c45e9c0c3c8f9
4
+ data.tar.gz: fe729bb874467444bbb70f161503fab938e00d879307e717160fdfacab010fbb
5
5
  SHA512:
6
- metadata.gz: c013eefa977e113a5b3ae553b4ffd7fc3facc728e66d574209e36dbfa94072258d8d84ec9d3bb2641f0359d0cf08d5f45b54a33c2301c78d22c6f5e084997f27
7
- data.tar.gz: 9976e77e1d6fd69f62cd348a754307e3ed7868776629cf1d5dc64c1401da33c0d965c099cd29bfcce7e24922e4c58ab75758c4ce54bfbed67486db5ac8fbf223
6
+ metadata.gz: a73800c820ff8c4ea87f1ce2a2bc57efa9cc981a68aeb5d6bcf5f4250cf3dfd123b4d47ac7e6c1ef4dcb7e961a6a5cb0c0e7c8140ab240cdf6cd435e77e5558b
7
+ data.tar.gz: 5c1f4364db9a02ea1681208da2a61f15edf2e8db26c0a383c26b7011e08888fb86550b547e98c5f86f504d2f759dce600d0b111e17f4ad336aaa0da2e1c8603f
@@ -12,7 +12,7 @@ module Valideizer
12
12
  end
13
13
 
14
14
  def add_rule(param, *rules)
15
- @rules[param] = rules[0]
15
+ @rules[param.to_s] = rules[0]
16
16
  end
17
17
 
18
18
  alias valideize add_rule
@@ -22,14 +22,13 @@ module Valideizer
22
22
  setup_defaults(params)
23
23
  params.each do |param, value|
24
24
  next unless nil_check(param, value)
25
-
26
- @rules[param].each do |type, constraint|
25
+ @rules[param.to_s].each do |type, constraint|
27
26
  begin
28
- push_error(param, value, type, constraint) unless validate(value, type, constraint)
27
+ push_error(param, value, type, constraint) unless validate(value, type, constraint)
29
28
  rescue ArgumentError => ex
30
29
  puts ex
31
30
  end
32
- end
31
+ end if @rules.include? param.to_s
33
32
  end
34
33
 
35
34
  @errors.empty?
@@ -53,8 +52,8 @@ module Valideizer
53
52
  end
54
53
 
55
54
  def setup_defaults(params)
56
- @rules.each do |param, rules|
57
- default_rule = rules.find { |r, _c| r == :default }
55
+ params.each do |param|
56
+ default_rule = @rules[param.to_s]&.find { |r, _c| r == :default }
58
57
  params[param] = default_rule.last unless default_rule.nil?
59
58
  end
60
59
  end
@@ -5,7 +5,7 @@ module Valideizer
5
5
  protected
6
6
 
7
7
  def print_errors
8
- @errors.map { |param_name, errors| errors.each { |error| { message: print_error(param_name, error) }}}
8
+ @errors.map { |param_name, errors| errors.map { |error| { message: print_error(param_name, error) }}}.flatten
9
9
  end
10
10
 
11
11
  private
@@ -32,7 +32,7 @@ module Valideizer
32
32
  end
33
33
 
34
34
  def print_postfix(type, value)
35
- "Current value: `#{value}`." if %i[type array_type custom_type active_record length].include?(type)
35
+ "Current value: `#{value}`." unless %i[type array_type custom_type active_record length].include?(type)
36
36
  end
37
37
 
38
38
  # Validation error: :some param. Should be greater or equal than 200. Current value (100).
@@ -1,3 +1,5 @@
1
+ require 'singleton'
2
+
1
3
  module Valideizer
2
4
  class Holder
3
5
  include Singleton
@@ -3,47 +3,59 @@ require 'valideizer/holder'
3
3
 
4
4
  module Valideizer
5
5
  module Rails
6
- class << self
7
- def valideize(method, &options_block)
8
- holder.valideizers[controller_name] = {} if holder.valideizers[controller_name].nil?
6
+ extend ActiveSupport::Concern
9
7
 
10
- raise "Action #{method} is not defined in #{controller_name}" unless action_methods.include? method.to_s
8
+ def self.included(base)
9
+ base.before_action :valideize!
11
10
 
12
- if holder.valideizers[controller_name][method].nil?
13
- holder.valideizers[controller_name][method] = Valideizer::Core.new
14
- end
11
+ base.class_eval do
12
+ def self.valideize(method, &options_block)
13
+ method = method.to_s
14
+ holder = Valideizer::Holder.instance
15
+ holder.valideizers[controller_path] = {} if holder.valideizers[controller_name].nil?
15
16
 
16
- valideizer = holder.valideizers[controller_name][method]
17
- valideizer.instance_exec(options_block)
18
- end
17
+ # raise "Action #{method} is not defined in #{controller_name}" unless action_methods.include? method.to_s
19
18
 
20
- def valideize!
21
- valideizer = holder.valideizers[controller_name][action_name]
19
+ if holder.valideizers[controller_path][method].nil?
20
+ holder.valideizers[controller_path][method] = Valideizer::Core.new
21
+ end
22
22
 
23
- if !valideizer.nil? && !holder.callback_method.nil?
24
- redirect_to(controller: holder.callback_controller,
25
- action: holder.callback_method, errors: valideizer.errors) unless validiezer.valideize?(params)
23
+ valideizer = holder.valideizers[controller_path][method]
24
+ valideizer.instance_eval(&options_block)
26
25
  end
27
- end
28
26
 
29
- def valideized?(params)
30
- holder.valideizers[controller_name][action_name].valideized?(params)
27
+ def self.valideizer_callback(method_name)
28
+ holder = Valideizer::Holder.instance
29
+ unless holder.callback_controller.present?
30
+ holder.callback_controller = controller_path
31
+ holder.callback_method = method_name.to_s
32
+ end
33
+ end
31
34
  end
35
+ end
32
36
 
33
- def valideizer_errors
34
- holder.valideizers[controller_name][action_name].errors
35
- end
37
+ def valideize!
38
+ valideizer = holder.valideizers[controller_path][action_name] rescue nil
39
+ return unless valideizer
36
40
 
37
- def valideizer_callback(method_name)
38
- holder.callback_controller = controller_name
39
- holder.callback_method = method_name
41
+ unless valideizer.nil? || holder.callback_method.nil?
42
+ redirect_to(controller: holder.callback_controller,
43
+ action: holder.callback_method, errors: valideizer.errors) unless valideizer.valideized?(params)
40
44
  end
45
+ end
41
46
 
42
- private
47
+ def valideized?(params)
48
+ holder.valideizers[controller_path][action_name].valideized?(params)
49
+ end
43
50
 
44
- def holder
45
- Valideizer::Holder.instance
46
- end
51
+ def valideizer_errors
52
+ holder.valideizers[controller_path][action_name].errors
53
+ end
54
+
55
+ private
56
+
57
+ def holder
58
+ Valideizer::Holder.instance
47
59
  end
48
60
  end
49
61
  end
@@ -1,3 +1,3 @@
1
1
  module Valideizer
2
- VERSION = "1.0.7"
2
+ VERSION = "1.0.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valideizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur 'ArtK0DE' Korochansky
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-06 00:00:00.000000000 Z
11
+ date: 2019-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler