class Aozora2Html::Tag::ReferenceMentioned

参照先用

前方参照でこいつだけは中身をチェックする 子要素を持つAozora2Html::Tag::Inlineは全てこいつのサブクラス

Attributes

target[RW]

Public Class Methods

new(*_args) click to toggle source
# File lib/aozora2html/tag/reference_mentioned.rb, line 12
def initialize(*_args) # rubocop:disable Lint/MissingSuper
  return unless defined?(@target) && block_element?(@target)

  syntax_error
end

Public Instance Methods

block_element?(elt) click to toggle source
# File lib/aozora2html/tag/reference_mentioned.rb, line 18
def block_element?(elt)
  case elt
  when Array
    elt.any? { |x| block_element?(x) }
  when String
    elt.include?('<div')
  else
    elt.is_a?(Aozora2Html::Tag::Block)
  end
end
target_string() click to toggle source
# File lib/aozora2html/tag/reference_mentioned.rb, line 29
def target_string
  case @target
  when Aozora2Html::Tag::ReferenceMentioned
    @target.target_string
  when Array
    @target.collect do |x|
      if x.is_a?(Aozora2Html::Tag::ReferenceMentioned)
        x.target_string
      else
        x
      end
    end.join
  else
    @target
  end
end