checkability 0.2.0 → 0.3.0

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: 7c20a76958ba1f8025605a3ded3101c8a0e3eeb2
4
- data.tar.gz: 8b69ff85aea14d3726827e58954cc6efb8bdb502
3
+ metadata.gz: a9103b1dbf884f2321d45594731f4d2441c94130
4
+ data.tar.gz: 1c5b3869395f89014b151b559331629a9fe97317
5
5
  SHA512:
6
- metadata.gz: 4fe465c7c77639f20865c2e37df153615298df3b6284587660b030ec0833bedc5bcfb14e59a39252988d1276721ece24fa88d8000291ae188a50ff1897ebb8eb
7
- data.tar.gz: 26494daaeae8b5497b2c2db96ee1c21ddfabf027b93a30e6b1dd91d06936f4dd4fdff616d2391cf5fa1620df07a7806fadb8b69899ee232619d95a67cfa0e8a0
6
+ metadata.gz: f05066a5cbf7dd4197c554bb09e9943ffae04a6b979e3ac225e078026aedb17cf47eaec0e35700f1632645be083482e5d7463810cf8cad8aa65c37ca5a5a11d0
7
+ data.tar.gz: 24e5017bfeef613d25edcded8595966b040dd1ffffb4fe735260392631f938512d14a838cbbd3f7cb3f23f8fd82f729d6c6ece6b52d6a343159afba053d75feb
data/bin/checkability CHANGED
@@ -8,4 +8,3 @@ puts 'Gem provide acts_as_checkable addon to active record models'
8
8
  puts "Version: #{Checkability::VERSION}"
9
9
  puts ''
10
10
  puts '-----------------'
11
-
@@ -21,15 +21,18 @@ module Checkability
21
21
  end
22
22
 
23
23
  attr_accessor :allowed, :messages
24
- def setup
25
- self.allowed = nil
26
- self.messages = []
27
- end
28
24
 
29
- def perform
30
- setup
25
+ def perform_check
26
+ _setup
31
27
  self.allowed = _check
32
- messages << "#{self.class.name} '#{value}' is #{_allowness}. "
28
+ messages << "'#{value}' is #{_allowness}. "
29
+ end
30
+
31
+ private
32
+
33
+ def _setup
34
+ self.allowed = nil
35
+ self.messages = []
33
36
  end
34
37
 
35
38
  def _allowness
@@ -16,12 +16,21 @@ module Checkability
16
16
  # checkers is an array of checker objects
17
17
  # e.g. [storage_checker, external_api_checker]
18
18
  def check(conf)
19
- conf[:algoritm].call(
19
+ conf[:strategy].call(
20
20
  conf[:checkers].map do |checker_name, checker_conf|
21
- k = Checkability.const_get(checker_name.to_s.camelize)
22
- k.new(checker_conf).check_value(checkable)
21
+ _checker_to_check_value(checker_name, checker_conf)
23
22
  end
24
23
  )
25
24
  end
25
+
26
+ private
27
+
28
+ def _checker_to_check_value(checker_name, checker_conf)
29
+ k = ("Checkability::#{checker_name.to_s.camelize}").constantize
30
+ k.new(checker_conf).check_value(checkable)
31
+ rescue NameError => e
32
+ checkable.messages << "#{e}: #{checker_name}."
33
+ false
34
+ end
26
35
  end
27
36
  end
@@ -1,3 +1,3 @@
1
1
  module Checkability
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkability
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Eremeev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-30 00:00:00.000000000 Z
11
+ date: 2021-03-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Provide Checkers functionality.
14
14
  email: