class MarkdownIncluder::Inclusion

Attributes

cited_includee_file_path[RW]
include_pragma[RW]
includee_absolute_file_path[RW]
includer_absolute_file_path[RW]
includer_file_path[RW]
includer_line_number[RW]
treatment[RW]

Public Class Methods

new( includer_file_path:, include_pragma:, includer_line_number:, treatment:, cited_includee_file_path:, inclusions: ) click to toggle source
# File lib/markdown_helper/markdown_includer.rb, line 298
def initialize(
    includer_file_path:,
    include_pragma:,
    includer_line_number:,
    treatment:,
    cited_includee_file_path:,
    inclusions:
)
  self.includer_file_path = includer_file_path
  self.include_pragma = include_pragma
  self.includer_line_number = includer_line_number
  self.treatment = treatment
  self.cited_includee_file_path = cited_includee_file_path

  self.includer_absolute_file_path = File.absolute_path(includer_file_path)
  unless File.exist?(self.includer_absolute_file_path)
    fail self.includer_absolute_file_path
  end

  self.includee_absolute_file_path = File.absolute_path(File.join(
      File.dirname(includer_file_path),
      cited_includee_file_path,
      ))
end

Public Instance Methods

includee_real_file_path() click to toggle source
# File lib/markdown_helper/markdown_includer.rb, line 327
def includee_real_file_path
  Pathname.new(includee_absolute_file_path).realpath.to_s
end
includer_real_file_path() click to toggle source
# File lib/markdown_helper/markdown_includer.rb, line 323
def includer_real_file_path
  Pathname.new(includer_absolute_file_path).realpath.to_s
end
indentation(level) click to toggle source
# File lib/markdown_helper/markdown_includer.rb, line 331
def indentation(level)
  '  ' * level
end
to_lines(indentation_level) click to toggle source
# File lib/markdown_helper/markdown_includer.rb, line 335
    def to_lines(indentation_level)
      relative_inluder_file_path = MarkdownHelper.path_in_project(includer_file_path)
      relative_inludee_file_path = MarkdownHelper.path_in_project(includee_absolute_file_path)
      text = <<EOT
#{indentation(indentation_level)}Includer:
#{indentation(indentation_level+1)}Location: #{relative_inluder_file_path}:#{includer_line_number}
#{indentation(indentation_level+1)}Include pragma: #{include_pragma}
#{indentation(indentation_level)}Includee:
#{indentation(indentation_level+1)}File path: #{relative_inludee_file_path}
EOT
      text.split("\n")
    end