checkability 0.2.0 → 0.3.0

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