class SmartAleck::FindingViablePeers

Attributes

categories[R]

Public Class Methods

new(categories = []) click to toggle source
# File lib/smart_aleck/finding_viable_peers.rb, line 5
def initialize(categories = [])
  @categories = categories
end

Public Instance Methods

viable_peers() click to toggle source
# File lib/smart_aleck/finding_viable_peers.rb, line 9
def viable_peers
  return SmartAleck.category_model.with_entries if categories.empty?
  categories.
    map(&:entries).
    flatten.
    uniq.
    select {|entry| (categories.map(&:id) - entry.category_ids).empty?}.
    map(&:categories).
    flatten.
    uniq - categories
end