Class: YARD::CLI::I18n

Inherits:
Yardoc show all
Defined in:
lib/yard/cli/i18n.rb

Overview

TODO:

Support msgminit and msgmerge features?

CLI command to support internationalization (a.k.a. i18n). I18n feature is based on gettext technology. This command generates .pot file from docstring and extra documentation.

Since:

Constant Summary

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (I18n) initialize

Returns a new instance of I18n

Since:

  • 0.8.0



13
14
15
16
# File 'lib/yard/cli/i18n.rb', line 13

def initialize
  super
  @options.serializer.basepath = "po/yard.pot"
end

Instance Attribute Details

- (Array<String>) apis Originally defined in class Yardoc

Keep track of which APIs are to be shown

Returns:

Since:

  • 0.8.1

- (Array<String>) assets Originally defined in class Yardoc

Returns a list of assets to copy after generation

Returns:

  • (Array<String>)

    a list of assets to copy after generation

Since:

  • 0.6.0

- (Array<String>) excluded Originally defined in class Yardoc

Returns list of excluded paths (regexp matches)

Returns:

  • (Array<String>)

    list of excluded paths (regexp matches)

Since:

  • 0.5.3

- (Array<String>) files Originally defined in class Yardoc

Returns list of Ruby source files to process

Returns:

  • (Array<String>)

    list of Ruby source files to process

Since:

  • 0.2.1

- (Boolean) generate Originally defined in class Yardoc

Returns whether to generate output

Returns:

  • (Boolean)

    whether to generate output

Since:

  • 0.2.1

- (Boolean) has_markup Originally defined in class Yardoc

Returns whether markup option was specified

Returns:

  • (Boolean)

    whether markup option was specified

Since:

  • 0.7.0

- (Array<String>) hidden_apis Originally defined in class Yardoc

Keep track of which APIs are to be hidden

Returns:

Since:

  • 0.8.7

- (Array<Symbol>) hidden_tags Originally defined in class Yardoc

Returns a list of tags to hide from templates

Returns:

  • (Array<Symbol>)

    a list of tags to hide from templates

Since:

  • 0.6.0

- (Boolean) list Originally defined in class Yardoc

Returns whether to print a list of objects

Returns:

  • (Boolean)

    whether to print a list of objects

Since:

  • 0.5.5

- (Hash) options (readonly) Originally defined in class Yardoc

Returns the hash of options passed to the template.

Returns:

  • (Hash)

    the hash of options passed to the template.

See Also:

  • Templates::Engine#render

Since:

  • 0.2.1

- (String) options_file Originally defined in class YardoptsCommand

The options file name (defaults to DEFAULT_YARDOPTS_FILE)

Returns:

  • (String)

    the filename to load extra options from

Since:

  • 0.8.3

- (Boolean) save_yardoc Originally defined in class Yardoc

Returns whether objects should be serialized to .yardoc db

Returns:

  • (Boolean)

    whether objects should be serialized to .yardoc db

Since:

  • 0.2.1

- (Boolean) statistics Originally defined in class Yardoc

Returns whether to print statistics after parsing

Returns:

  • (Boolean)

    whether to print statistics after parsing

Since:

  • 0.6.0

- (Boolean) use_cache Originally defined in class Yardoc

Returns whether to use the existing yardoc db if the .yardoc already exists. Also makes use of file checksums to parse only changed files.

Returns:

  • (Boolean)

    whether to use the existing yardoc db if the .yardoc already exists. Also makes use of file checksums to parse only changed files.

Since:

  • 0.2.1

- (Boolean) use_document_file Originally defined in class YardoptsCommand

Returns whether to parse options from .document

Returns:

  • (Boolean)

    whether to parse options from .document

Since:

  • 0.8.3

- (Boolean) use_yardopts_file Originally defined in class YardoptsCommand

Returns whether to parse options from .yardopts

Returns:

  • (Boolean)

    whether to parse options from .yardopts

Since:

  • 0.8.3

- (Array<Symbol>) visibilities Originally defined in class Yardoc

Keep track of which visibilities are to be shown

Returns:

  • (Array<Symbol>)

    a list of visibilities

Since:

  • 0.5.6

Instance Method Details

- (Object) description

Since:

  • 0.8.0



18
19
20
# File 'lib/yard/cli/i18n.rb', line 18

def description
  'Generates .pot file from source code and extra documentation'
end

- (Object) run(*args)

Since:

  • 0.8.0



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/yard/cli/i18n.rb', line 22

def run(*args)
  if args.size == 0 || !args.first.nil?
    # fail early if arguments are not valid
    return unless parse_arguments(*args)
  end

  YARD.parse(files, excluded)

  serializer = options.serializer
  pot_file_path = Pathname.new(serializer.basepath).expand_path
  pot_file_dir_path, pot_file_basename = pot_file_path.split
  relative_base_path = Pathname.pwd.relative_path_from(pot_file_dir_path)
  serializer.basepath = pot_file_dir_path.to_s
  serializer.serialize(pot_file_basename.to_s,
                       generate_pot(relative_base_path.to_s))

  true
end