site_prism-all_there 2.0.2 → 3.0.1

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: dbdb3fd1e22f9f832cb21e808f77a1c0c236f25442874f692df69bb0d1437367
4
- data.tar.gz: b98ec38bc16d1f410dc1584ced388a451856295660a9492d64a2b789cd450153
3
+ metadata.gz: 459330ae52be38a3c956befae04407c7752e2de0572117e905b93f2006541f96
4
+ data.tar.gz: bc70cd8a9754101ed16089d404c1ab51b6880eaa83fc4d6f842fc36d1c4628b7
5
5
  SHA512:
6
- metadata.gz: b068d588ecb66eae71bb7a5bca3ed990b6f38a7c5b6a6b617edab27f63666a2bfb7a6afd21c07f362cfbcc4930a2ce6b4b1dd6abb724927793f5f2438ba2602a
7
- data.tar.gz: 0fa5d87ac1f7aa303dac2754eb3b6303522bfb5ba0b70772e971207f8a0da0621e606f7243c8db2f6065df0d22fc2202d2d31d998606dc3cdc0201710c8a8216
6
+ metadata.gz: 6825eebebda6309ce4ae31783ebac11e49614763415c0816c7c8645739bbcd6260cd219e6292a980cb4b7f7984239abdc2f6368d892dba1ae1045a4a15ec7928
7
+ data.tar.gz: 90a30f1610bdf40dea8f3d6640ee3f6aa9d9353fc78a6db1a69834cae9f3181bf63ea09b7be09de8fdc0f271c7534d85ffbf598d6ae14df374abfd2b80dfe0f5
@@ -19,48 +19,30 @@ module SitePrism
19
19
  # All defined/expected mapped items
20
20
  def array
21
21
  [
22
- element,
23
- elements,
22
+ mapped_checklist_of(:element),
23
+ mapped_checklist_of(:elements),
24
24
  section,
25
25
  sections,
26
- iframe
26
+ mapped_checklist_of(:iframe)
27
27
  ]
28
28
  end
29
29
 
30
- # @return [Array<Symbol>]
31
- # All defined/expected items that were mapped as +element+
32
- def element
33
- mapped_checklist_of(:element) || []
34
- end
35
-
36
- # @return [Array<Symbol>]
37
- # All defined/expected items that were mapped as +elements+
38
- def elements
39
- mapped_checklist_of(:elements) || []
40
- end
41
-
42
30
  # @return [Array<Symbol>]
43
31
  # All defined/expected items that were mapped as +section+
44
32
  def section
45
- mapped_checklist_of(:section) || []
33
+ mapped_checklist_of(:section)
46
34
  end
47
35
 
48
36
  # @return [Array<Symbol>]
49
37
  # All defined/expected items that were mapped as +sections+
50
38
  def sections
51
- mapped_checklist_of(:sections) || []
52
- end
53
-
54
- # @return [Array<Symbol>]
55
- # All defined/expected items that were mapped as +iframe+
56
- def iframe
57
- mapped_checklist_of(:iframe) || []
39
+ mapped_checklist_of(:sections)
58
40
  end
59
41
 
60
42
  private
61
43
 
62
44
  def mapped_checklist_of(type)
63
- mapped_items.hash[type]&.select { |name| mapped_checklist.include?(name) }
45
+ mapped_items.hash[type] & mapped_checklist
64
46
  end
65
47
 
66
48
  def mapped_checklist
@@ -10,6 +10,8 @@ module SitePrism
10
10
  class MappedItems
11
11
  attr_reader :hash
12
12
 
13
+ # @return [Hash]
14
+ # Return a list of all mapped items on a SitePrism class instance (Page or Section)
13
15
  def initialize(instance)
14
16
  @hash = instance.class.mapped_items
15
17
  end
@@ -3,8 +3,9 @@
3
3
  module SitePrism
4
4
  module AllThere
5
5
  #
6
- # This will recurse through all of the objects found on an individual Page/Section level
6
+ # @api private
7
7
  #
8
+ # This will recurse through all of the objects found on an individual Page/Section level
8
9
  # It will perform the `#all_there?` check on each `@instance` item that it is initialized with
9
10
  #
10
11
  class RecursionChecker
@@ -15,40 +16,39 @@ module SitePrism
15
16
  @instance = instance
16
17
  end
17
18
 
18
- # @return [Boolean]
19
- # This currently defaults to perform a recursion of depth +:one+ (From the main `site_prism` gem)
20
- # It will be refactored to use either no input, +:none+, or +:one+ as the regular repo uses currently
21
- def all_there?(recursion:)
22
- recursion = SitePrism.recursion_setting if SitePrism.recursion_setting
19
+ # @return [Boolean || Nil]
20
+ # This is only meant to be invoked from the main site_prism gem where it will use whatever inputs it is given
21
+ def all_there?(recursion: nil, options: {})
22
+ setting = recursion || SitePrism.recursion_setting
23
23
 
24
- case recursion
25
- when :none
26
- current_class_all_there?
24
+ case setting
25
+ when nil, :none
26
+ current_class_all_there?(**options)
27
27
  when :one
28
- current_class_all_there? && section_classes_all_there? && sections_classes_all_there?
28
+ current_class_all_there?(**options) && section_classes_all_there?(**options) && sections_classes_all_there?(**options)
29
29
  else
30
- SitePrism.logger.debug("Input value '#{recursion}'. Valid values are :none or :one.")
30
+ SitePrism.logger.debug("Invalid input value '#{recursion}'. Valid values are nil, :none or :one.")
31
31
  SitePrism.logger.error('Invalid recursion setting, Will not run #all_there?.')
32
32
  end
33
33
  end
34
34
 
35
35
  private
36
36
 
37
- def current_class_all_there?
38
- expected_items.array.flatten.all? { |name| there?(name) }.tap do |result|
37
+ def current_class_all_there?(**opts)
38
+ expected_items.array.flatten.all? { |name| there?(name, **opts) }.tap do |result|
39
39
  SitePrism.logger.info("Result of current_class_all_there?: #{result}")
40
40
  end
41
41
  end
42
42
 
43
- def section_classes_all_there?
44
- section_classes_to_check.all?(&:all_there?).tap do |result|
43
+ def section_classes_all_there?(**opts)
44
+ section_classes_to_check.all? { |section| section.all_there?(**opts) }.tap do |result|
45
45
  SitePrism.logger.debug("Result of section_classes_all_there?: #{result}")
46
46
  end
47
47
  end
48
48
 
49
- def sections_classes_all_there?
50
- sections_classes_to_check.flatten.all?(&:all_there?).tap do |result|
51
- SitePrism.logger.debug("Result of section_classes_all_there?: #{result}")
49
+ def sections_classes_all_there?(**opts)
50
+ sections_classes_to_check.flatten.all? { |section| section.all_there?(**opts) }.tap do |result|
51
+ SitePrism.logger.debug("Result of sections_classes_all_there?: #{result}")
52
52
  end
53
53
  end
54
54
 
@@ -64,8 +64,8 @@ module SitePrism
64
64
  @expected_items ||= ExpectedItems.new(instance)
65
65
  end
66
66
 
67
- def there?(name)
68
- instance.send("has_#{name}?")
67
+ def there?(name, **opts)
68
+ instance.send("has_#{name}?", **opts)
69
69
  end
70
70
  end
71
71
  end
@@ -4,6 +4,6 @@ module SitePrism
4
4
  module AllThere
5
5
  # @return [String]
6
6
  # Version of the gem
7
- VERSION = '2.0.2'
7
+ VERSION = '3.0.1'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: site_prism-all_there
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Hill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-13 00:00:00.000000000 Z
11
+ date: 2023-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.50.2
33
+ version: 1.56.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.50.2
40
+ version: 1.56.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop-performance
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.17.1
47
+ version: 1.19.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.17.1
54
+ version: 1.19.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.20.0
61
+ version: 2.23.2
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.20.0
68
+ version: 2.23.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: site_prism
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -125,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - ">="
127
127
  - !ruby/object:Gem::Version
128
- version: '2.6'
128
+ version: '2.7'
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - ">="