valideizer 1.0.3 → 1.0.5

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: 67c9873beccb05b1760cfb433e7acc9191c73776f33cce63b5a96139ef812e3f
4
- data.tar.gz: ffd61b47280fa87acaed4023b569885e2ef533e6aeab71c60ca084903c58ce51
3
+ metadata.gz: a303937cb368ebd84c661f16297d7823d2dcdd23f0763fec9e6ac1f356b62e1b
4
+ data.tar.gz: db3b32062956c8a85140a632d2daa30f6b35b8b5234aad1519b9d3f7668aba3f
5
5
  SHA512:
6
- metadata.gz: f9e9dd294281414dde34499bc54268b7299d4cedae4b1ced82f1c47616a9f0c17683d7724dcf30ad86ef507d2e5798fad822f84b06b593ddd32dfafb42087aa6
7
- data.tar.gz: c7e2f067f4d67fe00e02f1c989fe3e7e7081143eb63d2288e10622b9c653b6630cec770bb8f3868c56343436ec4d4f2a54530cfbc4c5e64cbe50fceb0f7bcc8b
6
+ metadata.gz: d6bdae686791daf67fce95ede359ad23641179d18b225d81862dcc3e5c6460356f5b84a4b9e1e74bc40554558dbeea03efeb575510d6b9151b4685c544be763d
7
+ data.tar.gz: 53715aa5607f084972b8fcc718aad19f560b0fa8f20fa09104ac7f9d8e975ae3baadddbc58755d675700646a5498f71e993d8209c0fcc7d3e5c8adf40e995b6b
@@ -0,0 +1,13 @@
1
+ module Valideizer
2
+ class Holder
3
+ include Singleton
4
+
5
+ attr_acessor :valideizers
6
+ attr_acessor :callback_method
7
+ attr_acessor :callback_controller
8
+
9
+ def initialize
10
+ @valideizers = {}
11
+ end
12
+ end
13
+ end
@@ -1,32 +1,49 @@
1
1
  require 'valideizer/core'
2
+ require 'valideizer/holder'
2
3
 
3
4
  module Valideizer
4
5
  module Rails
5
- def valideize(method, &options_block)
6
- @valideizers = {} unless @valideizers.present?
6
+ class << self
7
+ def valideize(method, &options_block)
8
+ holder.valideizers[controller_name] = {} if holder.valideizers[controller_name].nil?
7
9
 
8
- @valideizers[method] = Valideizer::Core.new
9
- @valideizers[method].instance_exec(options_block)
10
- end
10
+ raise "Action #{method} is not defined in #{controller_name}" unless action_methods.include? method.to_s
11
+
12
+ if holder.valideizers[controller_name][method].nil?
13
+ holder.valideizers[controller_name][method] = Valideizer::Core.new
14
+ end
11
15
 
12
- def valideize!
13
- valideizer = @valideizers[action_name]
14
- if valideizer.present? && @valideizer_callback.present?
15
- redirect_to(controller: controller_name,
16
- action: @valideizer_callback, errors: valideizer.errors) unless validiezer.valideize?(params)
16
+ valideizer = holder.valideizers[controller_name][method]
17
+ valideizer.instance_exec(options_block)
17
18
  end
18
- end
19
19
 
20
- def valideized?(params)
21
- @valideizers[action_name].valideized? params
22
- end
20
+ def valideize!
21
+ valideizer = holder.valideizers[controller_name][action_name]
23
22
 
24
- def valideizer_errors
25
- @valideizers[action_name].errors
26
- end
23
+ if valideizer.present? && $valideizer_callback.present?
24
+ redirect_to(controller: controller_name,
25
+ action: @valideizer_callback, errors: valideizer.errors) unless validiezer.valideize?(params)
26
+ end
27
+ end
28
+
29
+ def valideized?(params)
30
+ holder.valideizers[controller_name][action_name].valideized?(params)
31
+ end
32
+
33
+ def valideizer_errors
34
+ holder.valideizers[controller_name][action_name].errors
35
+ end
27
36
 
28
- def valideizer_callback(method_name)
29
- @valideizer_callback = method_name
37
+ def valideizer_callback(method_name)
38
+ holder.callback_controller = controller_name
39
+ holder.callback_method = method_name
40
+ end
41
+
42
+ private
43
+
44
+ def holder
45
+ Valideizer::Holder.instance
46
+ end
30
47
  end
31
48
  end
32
49
  end
@@ -1,3 +1,3 @@
1
1
  module Valideizer
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.5"
3
3
  end
data/lib/valideizer.rb CHANGED
@@ -3,6 +3,7 @@ require_relative 'valideizer/rules.rb'
3
3
  require_relative 'valideizer/rails.rb'
4
4
  require_relative 'valideizer/version.rb'
5
5
  require_relative 'valideizer/error_printer.rb'
6
+ require_relative 'valideizer/holder.rb'
6
7
 
7
8
  module Valideizer; end
8
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valideizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur 'ArtK0DE' Korochansky
@@ -34,6 +34,7 @@ files:
34
34
  - lib/valideizer.rb
35
35
  - lib/valideizer/core.rb
36
36
  - lib/valideizer/error_printer.rb
37
+ - lib/valideizer/holder.rb
37
38
  - lib/valideizer/rails.rb
38
39
  - lib/valideizer/rules.rb
39
40
  - lib/valideizer/version.rb