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