Sha256: 41477f59da843dbb255a328ca7cafe9918d201e8364053b5c5ce43f122ecfe6c

Contents?: true

Size: 657 Bytes

Versions: 9

Compression:

Stored size: 657 Bytes

Contents

# frozen_string_literal: true

module DocTemplate
  module Tags
    class AnswerSpaceTag < BaseTag
      SPACE_SIZE = {
        s: 5, # small = 5 lines
        m: 10, # medium = 10 lines
        l: 20 # large = 20 lines
      }.freeze
      TAG_NAME = 'answer-space'

      def parse(node, opts = {})
        num_of_lines = SPACE_SIZE[opts[:value].try(:to_sym)]
        if num_of_lines
          space = '<br>' * num_of_lines
          @content = node.to_html.sub(/\[#{TAG_NAME}:\s?[sml]\]/i, space)
        end
        replace_tag node
        self
      end
    end
  end

  Template.register_tag(Tags::AnswerSpaceTag::TAG_NAME, Tags::AnswerSpaceTag)
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
lcms-engine-0.5.5 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.5.4 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.5.3 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.5.2 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.5.1 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.5.0 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.4.2 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.4.1 lib/doc_template/tags/answer_space_tag.rb
lcms-engine-0.4.0 lib/doc_template/tags/answer_space_tag.rb