Class: QuickClassificationQuery

Inherits:
Object
  • Object
show all
Defined in:
app/models/quick_classification_query.rb

Constant Summary collapse

CURATION_CONCERNS_TO_TRY =
['article', 'dataset', 'image']

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user, options = {}) ⇒ QuickClassificationQuery

Returns a new instance of QuickClassificationQuery.



10
11
12
13
14
15
# File 'app/models/quick_classification_query.rb', line 10

def initialize(user, options = {})
  @user = user
  @concern_name_normalizer = options.fetch(:concern_name_normalizer, ClassifyConcern.method(:normalize_concern_name))
  @registered_curation_concern_names = options.fetch(:registered_curation_concern_names, Curate.configuration.registered_curation_concern_types)
  @curation_concern_names_to_try = options.fetch(:curation_concern_names_to_try, CURATION_CONCERNS_TO_TRY)
end

Instance Attribute Details

#userObject (readonly)

Returns the value of attribute user.



8
9
10
# File 'app/models/quick_classification_query.rb', line 8

def user
  @user
end

Class Method Details

.each_for_context(*args, &block) ⇒ Object



4
5
6
# File 'app/models/quick_classification_query.rb', line 4

def self.each_for_context(*args, &block)
  new(*args).all.each(&block)
end

Instance Method Details

#allObject



17
18
19
# File 'app/models/quick_classification_query.rb', line 17

def all
  (registered_curation_concern_names & normalized_curation_concern_names).sort.collect(&:constantize).select {|klass| user.can?(:create, klass)}
end