Class: GemXray::CodeScanner::Snapshot
- Inherits:
-
Object
- Object
- GemXray::CodeScanner::Snapshot
- Defined in:
- lib/gemxray/code_scanner.rb
Instance Attribute Summary collapse
-
#constants ⇒ Object
readonly
Returns the value of attribute constants.
-
#dependency_names ⇒ Object
readonly
Returns the value of attribute dependency_names.
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#requires ⇒ Object
readonly
Returns the value of attribute requires.
Instance Method Summary collapse
- #constant_used?(candidates) ⇒ Boolean
- #dependency_used?(gem_name) ⇒ Boolean
-
#initialize(requires:, constants:, dependency_names:, files:) ⇒ Snapshot
constructor
A new instance of Snapshot.
- #require_used?(candidates) ⇒ Boolean
Constructor Details
#initialize(requires:, constants:, dependency_names:, files:) ⇒ Snapshot
Returns a new instance of Snapshot.
23 24 25 26 27 28 |
# File 'lib/gemxray/code_scanner.rb', line 23 def initialize(requires:, constants:, dependency_names:, files:) @requires = requires @constants = constants @dependency_names = dependency_names @files = files end |
Instance Attribute Details
#constants ⇒ Object (readonly)
Returns the value of attribute constants.
21 22 23 |
# File 'lib/gemxray/code_scanner.rb', line 21 def constants @constants end |
#dependency_names ⇒ Object (readonly)
Returns the value of attribute dependency_names.
21 22 23 |
# File 'lib/gemxray/code_scanner.rb', line 21 def dependency_names @dependency_names end |
#files ⇒ Object (readonly)
Returns the value of attribute files.
21 22 23 |
# File 'lib/gemxray/code_scanner.rb', line 21 def files @files end |
#requires ⇒ Object (readonly)
Returns the value of attribute requires.
21 22 23 |
# File 'lib/gemxray/code_scanner.rb', line 21 def requires @requires end |
Instance Method Details
#constant_used?(candidates) ⇒ Boolean
36 37 38 |
# File 'lib/gemxray/code_scanner.rb', line 36 def constant_used?(candidates) !(constants & candidates.to_set).empty? end |
#dependency_used?(gem_name) ⇒ Boolean
40 41 42 |
# File 'lib/gemxray/code_scanner.rb', line 40 def dependency_used?(gem_name) dependency_names.include?(gem_name) end |
#require_used?(candidates) ⇒ Boolean
30 31 32 33 34 |
# File 'lib/gemxray/code_scanner.rb', line 30 def require_used?(candidates) Array(candidates).any? do |candidate| requires.any? { |reference| reference == candidate || reference.start_with?("#{candidate}/") } end end |