Class: Bcome::Parser::BreadCrumb
- Inherits:
-
Object
- Object
- Bcome::Parser::BreadCrumb
- Defined in:
- lib/objects/parser/bread_crumb.rb
Instance Attribute Summary collapse
-
#crumbs ⇒ Object
readonly
Returns the value of attribute crumbs.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(raw_crumbs) ⇒ BreadCrumb
constructor
A new instance of BreadCrumb.
- #parse! ⇒ Object
- #validate! ⇒ Object
Constructor Details
#initialize(raw_crumbs) ⇒ BreadCrumb
Returns a new instance of BreadCrumb.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/objects/parser/bread_crumb.rb', line 14 def initialize(raw_crumbs) @raw_crumbs = raw_crumbs.to_s if @raw_crumbs.empty? @crumbs = [] else validate! parse! end end |
Instance Attribute Details
#crumbs ⇒ Object (readonly)
Returns the value of attribute crumbs.
5 6 7 |
# File 'lib/objects/parser/bread_crumb.rb', line 5 def crumbs @crumbs end |
Class Method Details
.parse(raw_crumbs) ⇒ Object
8 9 10 11 |
# File 'lib/objects/parser/bread_crumb.rb', line 8 def parse(raw_crumbs) parser = new(raw_crumbs) parser.parse! end |
Instance Method Details
#parse! ⇒ Object
25 26 27 |
# File 'lib/objects/parser/bread_crumb.rb', line 25 def parse! @crumbs ||= @raw_crumbs.split(':') end |
#validate! ⇒ Object
29 30 31 |
# File 'lib/objects/parser/bread_crumb.rb', line 29 def validate! # raise Bcome::Exception::InvalidBcomeBreadcrumb.new "- letters, numbers & underscores only" unless @raw_crumbs =~ /^([a-z0-9A-Z_]+)(:\s*[a-z0-9A-Z_]+)*:?$/i end |