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
    #------------------------------------------------

    #========== BOOKMARKS ===========================

    def bookmark_start(*args, &block)
      options = Caracal::Utilities.extract_options!(args)
      options.merge!({ start: true})

      model = Caracal::Core::Models::BookmarkModel.new(options, &block)
      if model.valid?
        contents << model
      else
        raise Caracal::Errors::InvalidModelError, 'Bookmark starting tags require an id and a name.'
      end
      model
    end

    def bookmark_end(*args, &block)
      options = Caracal::Utilities.extract_options!(args)
      options.merge!({ start: false})

      model = Caracal::Core::Models::BookmarkModel.new(options, &block)
      if model.valid?
        contents << model
      else
        raise Caracal::Errors::InvalidModelError, 'Bookmark ending tags require an id.'
      end
      model
    end
    
  end
end

Public Instance Methods

bookmark_end(*args, &block) click to toggle source
# File lib/caracal/core/bookmarks.rb, line 34
def bookmark_end(*args, &block)
  options = Caracal::Utilities.extract_options!(args)
  options.merge!({ start: false})

  model = Caracal::Core::Models::BookmarkModel.new(options, &block)
  if model.valid?
    contents << model
  else
    raise Caracal::Errors::InvalidModelError, 'Bookmark ending tags require an id.'
  end
  model
end
bookmark_start(*args, &block) click to toggle source
BOOKMARKS ===========================
# File lib/caracal/core/bookmarks.rb, line 21
def bookmark_start(*args, &block)
  options = Caracal::Utilities.extract_options!(args)
  options.merge!({ start: true})

  model = Caracal::Core::Models::BookmarkModel.new(options, &block)
  if model.valid?
    contents << model
  else
    raise Caracal::Errors::InvalidModelError, 'Bookmark starting tags require an id and a name.'
  end
  model
end