module Priora
Constants
- VERSION
Public Class Methods
configuration()
click to toggle source
# File lib/priora.rb, line 10 def configuration @configuration ||= Configuration.new end
included(base_class)
click to toggle source
# File lib/priora.rb, line 14 def included(base_class) base_class.extend ClassMethods end
prioritize(collection, by: nil)
click to toggle source
# File lib/priora.rb, line 18 def prioritize(collection, by: nil) raw_priorities = by priorities = priorities_from_call(collection, raw_priorities) Collection.new(collection).prioritize_by(priorities) end
Private Class Methods
priorities_from_call(collection, raw_priorities)
click to toggle source
# File lib/priora.rb, line 26 def priorities_from_call(collection, raw_priorities) if raw_priorities raw_priorities.map { |raw_priority| Priora::PriorityBuilder.build(raw_priority) } else begin collection.map { |item| item.class.priorities }.uniq.first rescue StandardError raise UnsuppliedPrioritiesError end end end