class Packnga::DocumentTask

This class creates tasks for document. They generate YARD document or references.

@since 0.9.0

Public Class Methods

new(spec) { |self| ... } click to toggle source

Defines tasks to generate YARD documentation and to translate references. @param [Gem::Specification] spec specification for your package

# File lib/packnga/document-task.rb, line 32
def initialize(spec)
  @spec = spec
  @yard_task = YARDTask.new(@spec)
  @reference_task = ReferenceTask.new(@spec)
  self.base_dir = "doc"
  yield(self) if block_given?
  define
end

Public Instance Methods

base_dir=(dir) click to toggle source

Sets base directory for documents. Default value is “doc”. @param [String] dir base direcory path

# File lib/packnga/document-task.rb, line 43
def base_dir=(dir)
  dir = Pathname.new(dir)
  @yard_task.base_dir = dir
  @reference_task.base_dir = dir
end
original_language=(language) click to toggle source

Sets original language which you wrote document. Default value is “en” (as English). Specified value is used to define language for translation.

@see DocumentTask#translate_languages= translate_language(s)= is used to specify languages for translation. @param [String] language language you wrote document

@since 0.9.6

# File lib/packnga/document-task.rb, line 57
def original_language=(language)
  @reference_task.original_language = language
end
reference() { |reference_task| ... } click to toggle source

Runs block to tasks for references.

# File lib/packnga/document-task.rb, line 115
def reference
  yield(@reference_task)
end
translate_language=(language) click to toggle source

Sets a translate language for document. This method receives String as language code.

@see en.wikipedia.org/wiki/List_of_ISO_639-1_codes

see "639-1" row in this page for lanugage codes.

@example Specify Japanese.

DocumentTask.new(spec) do |task|
  task.translate_language = "ja"
end

@!macro [new] document-task.translate_lanuguage.default_value

If the language specified by {#original_language=} isn't
English, its default value is one.
Otherwise, it is not specified.

@see DocumentTask#translate_languages=

#translate_languages= receives Array of String target languages codes.

@param [String] language target language code for translated document

@since 0.9.7

# File lib/packnga/document-task.rb, line 82
def translate_language=(language)
  self.translate_languages = [language]
end
translate_languages=(languages) click to toggle source

Sets translate languages for document. This method receives Array of Strings as each language code.

@see en.wikipedia.org/wiki/List_of_ISO_639-1_codes

see "639-1" row in this page for lanugage codes.

@example Sets Japanese and English.

DocumentTask.new(spec) do |task|
  task.translate_languages = ["ja", "en"]
end

@!macro document-task.translate_lanuguage.default_value

@see DocumentTask#translate_language=

#translate_language= receives String as target language code.

@param [Array<String>] languages

target language codes for translated document

@since 0.9.6

# File lib/packnga/document-task.rb, line 105
def translate_languages=(languages)
  @reference_task.translate_languages = languages
end
yard() { |yard_task| ... } click to toggle source

Runs block to task for YARD documentation.

# File lib/packnga/document-task.rb, line 110
def yard
  yield(@yard_task)
end

Private Instance Methods

c_source_file?(file) click to toggle source
# File lib/packnga/document-task.rb, line 154
def c_source_file?(file)
  file.start_with?("ext/") and file.end_with?(".c")
end
define() click to toggle source
# File lib/packnga/document-task.rb, line 120
def define
  set_default_values
  define_tasks
end
define_tasks() click to toggle source
# File lib/packnga/document-task.rb, line 167
def define_tasks
  @yard_task.define
  @reference_task.define
end
ruby_source_file?(file) click to toggle source
# File lib/packnga/document-task.rb, line 150
def ruby_source_file?(file)
  file.start_with?("lib/") and file.end_with?(".rb")
end
set_default_readme() click to toggle source
# File lib/packnga/document-task.rb, line 131
def set_default_readme
  readme = @spec.files.find do |file|
    file.include?("README")
  end
  return if readme.nil?

  @yard_task.readme = readme
  @reference_task.readme = readme
end
set_default_source_files() click to toggle source
# File lib/packnga/document-task.rb, line 141
def set_default_source_files
  source_files = @spec.files.find_all do |file|
    ruby_source_file?(file) or
      c_source_file?(file)
  end
  @yard_task.source_files = source_files
  @reference_task.source_files = source_files
end
set_default_text_files() click to toggle source
# File lib/packnga/document-task.rb, line 158
def set_default_text_files
  text_dir = @yard_task.base_dir + "text"
  text_files = @spec.files.find_all do |file|
    file.start_with?(text_dir.to_s)
  end
  @yard_task.text_files = text_files
  @reference_task.text_files = text_files
end
set_default_values() click to toggle source
# File lib/packnga/document-task.rb, line 125
def set_default_values
  set_default_readme
  set_default_source_files
  set_default_text_files
end