class Card::Fetch
retrieve card from cache or database, or (where needed) instantiate new card
Attributes
Public Class Methods
Source
# File lib/card/fetch.rb, line 11 def initialize *args normalize_args args validate_opts! end
see arg options in all/fetch
Public Instance Methods
Source
# File lib/card/fetch.rb, line 49 def look_in_trash? @opts[:look_in_trash] end
Source
# File lib/card/fetch.rb, line 30 def normalize_args args @opts = args.last.is_a?(Hash) ? args.pop : {} @mark = Card.id_or_name args normalize_mark end
Source
# File lib/card/fetch.rb, line 36 def normalize_mark return unless mark.name? supercard = opts.dig :new, :supercard @mark = mark.absolute_name supercard.name if supercard end
Source
# File lib/card/fetch.rb, line 16 def retrieve_or_new retrieve_existing update_cache results end
Source
# File lib/card/fetch.rb, line 53 def skip_type_lookup? opts[:skip_virtual] || opts[:skip_type_lookup] # || opts[:new] end
Source
# File lib/card/fetch.rb, line 43 def validate_opts! return unless opts[:new] && opts[:skip_virtual] raise Card::Error, "fetch called with new args and skip_virtual" end