diff --git a/lib/card.rb b/lib/card.rb index 1f38bc83ee..d1a8397402 100644 --- a/lib/card.rb +++ b/lib/card.rb @@ -76,27 +76,11 @@ def all_legalities(date=nil) end def first_release_date(filter="all") - case filter - when "full" - @printings.select{|pr| !%w(promo masters).include?(pr.set_type) && pr.set_code != 'tpr'}.map(&:release_date) - .compact.min - when "expert" - @printings.select{|pr| %w(core expansion).include?(pr.set_type)}.map(&:release_date).compact.min - else - @printings.map(&:release_date).compact.min - end + @printings.select{|pr| verify_set_type(pr, filter)}.map(&:release_date).compact.min end def last_release_date(filter="all") - case filter - when "full" - @printings.select{|pr| !%w(promo masters).include?(pr.set_type) && pr.set_code != 'tpr'}.map(&:release_date) - .compact.max - when "expert" - @printings.select{|pr| %w(core expansion).include?(pr.set_type)}.map(&:release_date).compact.max - else - @printings.map(&:release_date).compact.max - end + @printings.select{|pr| verify_set_type(pr, filter)}.map(&:release_date).compact.max end private @@ -163,4 +147,15 @@ def calculate_partial_color_identity end ci.uniq.join end + + def verify_set_type(pr, type) + case type + when "full" + !%w(promo masters).include?(pr.set_type) && pr.set_code != 'tpr' + when "expert" + %w(core expansion).include?(pr.set_type) + else + true + end + end end