class Gitlab::Triage::ParamBuilders::DateParamBuilder
Constants
- CONDITIONS
- INTERVAL_TYPES
Attributes
allowed_attributes[R]
attribute[R]
interval[R]
interval_condition[R]
interval_type[R]
Public Class Methods
new(allowed_attributes, condition_hash)
click to toggle source
# File lib/gitlab/triage/param_builders/date_param_builder.rb, line 10 def initialize(allowed_attributes, condition_hash) @allowed_attributes = allowed_attributes @attribute = condition_hash[:attribute].to_s @interval_condition = condition_hash[:condition].to_sym @interval_type = condition_hash[:interval_type] @interval = condition_hash[:interval] validate_condition(condition_hash) end
Public Instance Methods
param_content()
click to toggle source
# File lib/gitlab/triage/param_builders/date_param_builder.rb, line 20 def param_content interval.public_send(interval_type).ago.to_date # rubocop:disable GitlabSecurity/PublicSend end
Private Instance Methods
filter_parameters()
click to toggle source
# File lib/gitlab/triage/param_builders/date_param_builder.rb, line 32 def 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
validate_condition(condition)
click to toggle source
# File lib/gitlab/triage/param_builders/date_param_builder.rb, line 28 def validate_condition(condition) ParamsValidator.new(filter_parameters, condition).validate! end