Sha256: 823146d124ee622dbf642e97ff8b2e5d6bf1cb7fcc5f97bfba5c6c3d839a0a7d

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require_relative '../include_use_case'

class IncludeCodeBlock < IncludeUseCase

  def self.build

    use_case = self.new

    includee_file_name = 'hello.rb'

    use_case.files_to_write.store(
        includee_file_name,
        <<EOT
class HelloWorld
   def initialize(name)
      @name = name.capitalize
   end
   def sayHi
      puts "Hello #{@name}!"
   end
end
EOT
    )

    use_case.files_to_write.store(
        INCLUDER_FILE_NAME,
        <<EOT
This file includes the code as a code block.

@[:code_block](#{includee_file_name})

EOT
    )

    use_case.files_to_write.store(
        TEMPLATE_FILE_NAME,
        <<EOT
### Include Code Block

Use file inclusion to include text as a code block.

#### File to Be Included

Here's a file containing code to be included:

@[markdown](#{includee_file_name})

#### Includer File

Here's a template file that includes it:

@[markdown](#{INCLUDER_FILE_NAME})

The treatment token ```:code_block``` specifies that the included text is to be treated as a code block.

@[:markdown](../interface.md)

#### File with Inclusion

Here's the finished file with the included code block:

@[:pre](#{INCLUDED_FILE_NAME})

And here's the finished markdown, as rendered on this page:

---

@[:markdown](#{INCLUDED_FILE_NAME})

---
EOT
    )

    use_case.build

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
markdown_helper-2.2.0 markdown/use_cases/include_files/include_code_block/use_case_builder.rb
markdown_helper-2.1.0 markdown/use_cases/include_files/include_code_block/use_case_builder.rb