Sha256: 831821c9a8370aba145bacca9193a652a39ef3d7b96d5b48190ed367f16157ce

Contents?: true

Size: 864 Bytes

Versions: 3

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

module Kitchen
  # An element for an entire book
  #
  class BookElement < ElementBase

    # Creates a new +BookElement+
    #
    # @param node [Nokogiri::XML::Node] the node this element wraps
    # @param document [Document] this element's document
    #
    def initialize(node:, document: nil)
      super(node: node,
            document: document,
            enumerator_class: BookElementEnumerator,
            short_type: :book)
    end

    # Returns the "body" element
    #
    # @return [Element]
    #
    def body
      first!('body')
    end

    # Returns the top metadata element
    #
    # @return [MetadataElement]
    #
    def metadata
      metadatas.first
    end

    # Returns the table of contents (toc) element
    #
    # @return [Element]
    #
    def toc
      first!('nav#toc')
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openstax_kitchen-3.2.0 lib/kitchen/book_element.rb
openstax_kitchen-3.1.0 lib/kitchen/book_element.rb
openstax_kitchen-3.0.0 lib/kitchen/book_element.rb