class Gitlab::Triage::Filters::MergeRequestDateConditionsFilter
Constants
- ATTRIBUTES
- CONDITIONS
- INTERVAL_TYPES
Public Class Methods
allowed_attributes()
click to toggle source
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 11 def self.allowed_attributes self::ATTRIBUTES end
filter_parameters()
click to toggle source
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 15 def self.filter_parameters [ { name: :attribute, type: String, values: allowed_attributes }, { name: :condition, type: String, values: CONDITIONS }, { name: :interval_type, type: String, values: INTERVAL_TYPES }, { name: :interval, type: Numeric } ] end
Public Instance Methods
calculate()
click to toggle source
Guard against merge requests with no merged_at values
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 56 def calculate return false unless resource_value case @condition when :older_than resource_value < condition_value when :newer_than resource_value > condition_value end end
condition_value()
click to toggle source
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 51 def condition_value @interval.public_send(@interval_type).ago.to_date # rubocop:disable GitlabSecurity/PublicSend end
initialize_variables(condition)
click to toggle source
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 39 def initialize_variables(condition) @attribute = condition[:attribute].to_sym @condition = condition[:condition].to_sym @interval_type = condition[:interval_type].to_sym @interval = condition[:interval] end
resource_value()
click to toggle source
Guard against merge requests with no merged_at values
# File lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb, line 47 def resource_value @resource[@attribute]&.to_date end