lib/loaf/crumb.rb in loaf-0.6.0 vs lib/loaf/crumb.rb in loaf-0.6.1

- old
+ new

@@ -1,19 +1,28 @@ # frozen_string_literal: true module Loaf - # Basic crumb container + # Basic crumb container for internal use + # @api private class Crumb attr_reader :name attr_reader :url attr_reader :match def initialize(name, url, options = {}) - @name = name - @url = url - @match = options.delete(:match) { :inclusive } + @name = name || raise_name_error + @url = url || raise_url_error + @match = options.fetch(:match, :inclusive) freeze + end + + def raise_name_error + raise ArgumentError, 'breadcrumb first argument, `name`, cannot be nil' + end + + def raise_url_error + raise ArgumentError, 'breadcrumb second argument, `url`, cannot be nil' end end # Crumb end # Loaf