class Packwerk::PrivacyChecker
Public Instance Methods
invalid_reference?(reference)
click to toggle source
# File lib/packwerk/privacy_checker.rb, line 19 def invalid_reference?(reference) return false if reference.constant.public? privacy_option = reference.constant.package.enforce_privacy return false if enforcement_disabled?(privacy_option) return false unless privacy_option == true || explicitly_private_constant?(reference.constant, explicitly_private_constants: privacy_option) true end
violation_type()
click to toggle source
# File lib/packwerk/privacy_checker.rb, line 10 def violation_type ViolationType::Privacy end
Private Instance Methods
enforcement_disabled?(privacy_option)
click to toggle source
# File lib/packwerk/privacy_checker.rb, line 49 def enforcement_disabled?(privacy_option) [false, nil].include?(privacy_option) end
explicitly_private_constant?(constant, explicitly_private_constants:)
click to toggle source
# File lib/packwerk/privacy_checker.rb, line 39 def explicitly_private_constant?(constant, explicitly_private_constants:) explicitly_private_constants.include?(constant.name) || # nested constants explicitly_private_constants.any? { |epc| constant.name.start_with?(epc + "::") } end