class Gitlab::Triage::Filters::MemberConditionsFilter
Constants
- CONDITIONS
- SOURCES
Public Class Methods
filter_parameters()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 16 def self.filter_parameters [ { name: :source, type: String, values: SOURCES }, { name: :condition, type: String, values: CONDITIONS }, { name: :source_id, type: [Numeric, String] } ] end
new(resource, condition, network = nil)
click to toggle source
Calls superclass method
Gitlab::Triage::Filters::BaseConditionsFilter::new
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 11 def initialize(resource, condition, network = nil) @network = network super(resource, condition) end
Public Instance Methods
calculate()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 51 def calculate return false unless resource_value case @condition when :member_of condition_value.include?(resource_value) when :not_member_of !condition_value.include?(resource_value) end end
condition_value()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 45 def condition_value members.map do |member| member[:username] end end
initialize_variables(condition)
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 35 def initialize_variables(condition) @source = condition[:source].to_sym @condition = condition[:condition].to_sym @source_id = condition[:source_id] end
member_url()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 66 def member_url UrlBuilders::UrlBuilder.new(url_opts).build end
members()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 62 def members @members ||= @network.query_api_cached(member_url) end
resource_value()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 41 def resource_value @resource[member_field][:username] if @resource[member_field] end
Private Instance Methods
url_opts()
click to toggle source
# File lib/gitlab/triage/filters/member_conditions_filter.rb, line 72 def url_opts { network_options: @network.options, resource_type: 'members', source: @source == :group ? 'groups' : 'projects', source_id: @source_id, params: { per_page: 100 } } end