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