valideizer 1.0.3 → 1.0.5

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
  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