module Caracal::Core::Bookmarks
This module encapsulates all the functionality related to adding bookmarks to the document.
Public Class Methods
included(base)
click to toggle source
# File lib/caracal/core/bookmarks.rb, line 12 def self.included(base) base.class_eval do #------------------------------------------------ # Public Methods #------------------------------------------------ def current_bookmark_id @current_bookmark_id ||= 1 end def next_bookmark_id @current_bookmark_id = current_bookmark_id + 1 end #========== BOOKMARKS =========================== def bookmark_start(*args, &block) options = Caracal::Utilities.extract_options!(args) options.merge!({ start: true, id: next_bookmark_id }) model = Caracal::Core::Models::BookmarkModel.new(options, &block) if model.valid? contents << model else raise Caracal::Errors::InvalidModelError, 'Bookmark starting tags require a name.' end model end def bookmark_end contents << Caracal::Core::Models::BookmarkModel.new(start: false, id: current_bookmark_id) end end end
Public Instance Methods
bookmark_end()
click to toggle source
# File lib/caracal/core/bookmarks.rb, line 42 def bookmark_end contents << Caracal::Core::Models::BookmarkModel.new(start: false, id: current_bookmark_id) end
bookmark_start(*args, &block)
click to toggle source
BOOKMARKS ===========================¶ ↑
# File lib/caracal/core/bookmarks.rb, line 29 def bookmark_start(*args, &block) options = Caracal::Utilities.extract_options!(args) options.merge!({ start: true, id: next_bookmark_id }) model = Caracal::Core::Models::BookmarkModel.new(options, &block) if model.valid? contents << model else raise Caracal::Errors::InvalidModelError, 'Bookmark starting tags require a name.' end model end
current_bookmark_id()
click to toggle source
# File lib/caracal/core/bookmarks.rb, line 19 def current_bookmark_id @current_bookmark_id ||= 1 end
next_bookmark_id()
click to toggle source
# File lib/caracal/core/bookmarks.rb, line 23 def next_bookmark_id @current_bookmark_id = current_bookmark_id + 1 end