Class: Worthwhile::ClassifyConcern
- Inherits:
-
Object
- Object
- Worthwhile::ClassifyConcern
- Includes:
- ActiveAttr::Model
- Defined in:
- app/models/worthwhile/classify_concern.rb
Class Method Summary collapse
Instance Method Summary collapse
- #all_curation_concern_classes ⇒ Object
- #curation_concern_class ⇒ Object
- #possible_curation_concern_types ⇒ Object
- #registered_curation_concern_types ⇒ Object
Class Method Details
.to_class(type) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'app/models/worthwhile/classify_concern.rb', line 37 def self.to_class(type) # TODO we may want to allow a different (or nil) namespace type.camelize.constantize # begin # "::#{type.camelize}".constantize # rescue NameError # "Worthwhile::#{type}".constantize # end end |
Instance Method Details
#all_curation_concern_classes ⇒ Object
13 14 15 |
# File 'app/models/worthwhile/classify_concern.rb', line 13 def all_curation_concern_classes registered_curation_concern_types.sort.map { |c| self.class.to_class(c) } end |
#curation_concern_class ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'app/models/worthwhile/classify_concern.rb', line 27 def curation_concern_class if possible_curation_concern_types.detect{|name, class_name| class_name == curation_concern_type } self.class.to_class(curation_concern_type) else raise RuntimeError, "Invalid :curation_concern_type" end end |
#possible_curation_concern_types ⇒ Object
21 22 23 24 25 |
# File 'app/models/worthwhile/classify_concern.rb', line 21 def possible_curation_concern_types registered_curation_concern_types.collect do |concern| [self.class.to_class(concern).human_readable_type, concern] end end |
#registered_curation_concern_types ⇒ Object
17 18 19 |
# File 'app/models/worthwhile/classify_concern.rb', line 17 def registered_curation_concern_types Worthwhile.configuration.registered_curation_concern_types end |