lib/card/fetch.rb in card-1.101.4 vs lib/card/fetch.rb in card-1.101.5
- old
+ new
@@ -8,11 +8,10 @@
attr_reader :card, :mark, :opts
# see arg options in all/fetch
def initialize *args
normalize_args args
- absolutize_mark
validate_opts!
end
def retrieve_or_new
retrieve_existing
@@ -29,18 +28,22 @@
end
def normalize_args args
@opts = args.last.is_a?(Hash) ? args.pop : {}
@mark = Card.id_or_name args
+ normalize_mark
end
- def absolutize_mark
- return unless mark.name? && (supercard = opts.dig(:new, :supercard))
- @mark = mark.absolute_name supercard.name
+ def normalize_mark
+ return unless mark.name?
+
+ supercard = opts.dig :new, :supercard
+ @mark = mark.absolute_name supercard.name if supercard
end
def validate_opts!
return unless opts[:new] && opts[:skip_virtual]
+
raise Card::Error, "fetch called with new args and skip_virtual"
end
def look_in_trash?
@opts[:look_in_trash]