Class: Dependabot::Package::CooldownDateTracker
- Inherits:
-
Object
- Object
- Dependabot::Package::CooldownDateTracker
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/package/cooldown_date_tracker.rb
Instance Attribute Summary collapse
-
#active ⇒ Object
readonly
Returns the value of attribute active.
Instance Method Summary collapse
- #filter(language_version:, requirements:, &block) ⇒ Object
- #filter_prefiltered(&block) ⇒ Object
-
#initialize(dependency:, ignored_versions:) ⇒ CooldownDateTracker
constructor
A new instance of CooldownDateTracker.
- #record(release:, current_version:, days:) ⇒ Object
Constructor Details
#initialize(dependency:, ignored_versions:) ⇒ CooldownDateTracker
Returns a new instance of CooldownDateTracker.
16 17 18 19 20 21 22 23 24 |
# File 'lib/dependabot/package/cooldown_date_tracker.rb', line 16 def initialize(dependency:, ignored_versions:) @dependency = dependency @ignored_versions = ignored_versions @active = T.let(false, T::Boolean) @language_version = T.let(nil, T.nilable(T.any(String, Dependabot::Version))) @enforce_requirements = T.let(false, T::Boolean) @prefiltered = T.let(false, T::Boolean) @releases = T.let({}, T::Hash[Dependabot::Package::PackageRelease, Integer]) end |
Instance Attribute Details
#active ⇒ Object (readonly)
Returns the value of attribute active.
27 28 29 |
# File 'lib/dependabot/package/cooldown_date_tracker.rb', line 27 def active @active end |
Instance Method Details
#filter(language_version:, requirements:, &block) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/dependabot/package/cooldown_date_tracker.rb', line 36 def filter(language_version:, requirements:, &block) @active = true @language_version = language_version @enforce_requirements = requirements filtered = yield mark_for_selected_release(filtered) filtered ensure @active = false @language_version = nil @enforce_requirements = false @releases.clear end |
#filter_prefiltered(&block) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/dependabot/package/cooldown_date_tracker.rb', line 55 def filter_prefiltered(&block) @prefiltered = true filter(language_version: nil, requirements: false, &block) ensure @prefiltered = false end |
#record(release:, current_version:, days:) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/dependabot/package/cooldown_date_tracker.rb', line 69 def record(release:, current_version:, days:) return unless active return unless @prefiltered || relevant?(release, current_version) @releases[release] = days end |