Class: GetText::Tools::Task

Inherits:
Object
  • Object
show all
Includes:
GetText, Rake::DSL
Defined in:
lib/gettext/tools/task.rb

Defined Under Namespace

Classes: Error, ValidationError

Constant Summary

Constants included from GetText

VERSION

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from GetText

#N_, #Nn_, #bindtextdomain, #bindtextdomain_to, #cgi, #cgi=, #gettext, included, #locale, #ngettext, #npgettext, #nsgettext, #output_charset, #pgettext, #set_cgi, #set_current_locale, #set_locale, #set_output_charset, #sgettext, #textdomain, #textdomain_to

Constructor Details

#initialize(spec = nil) ⇒ Task

Returns a new instance of Task.

Parameters:

  • spec (Gem::Specification, nil) (defaults to: nil)

    Package information associated with the task. Some information are extracted from the spec.

See Also:



130
131
132
133
134
135
136
137
138
# File 'lib/gettext/tools/task.rb', line 130

def initialize(spec=nil)
  initialize_variables
  self.spec = spec
  if spec
    yield(self) if block_given?
    warn("Use #{self.class.name}.define instead of #{self.class.name}.new(spec).")
    define
  end
end

Instance Attribute Details

#domainString

It is a required parameter.

Returns:

  • (String)

    Text domain



105
106
107
# File 'lib/gettext/tools/task.rb', line 105

def domain
  @domain
end

#enable_description=(value) ⇒ Bool (writeonly)

Returns:

  • (Bool)

See Also:



121
122
123
# File 'lib/gettext/tools/task.rb', line 121

def enable_description=(value)
  @enable_description = value
end

#enable_po=(value) ⇒ Bool (writeonly)

Returns:

  • (Bool)

See Also:



125
126
127
# File 'lib/gettext/tools/task.rb', line 125

def enable_po=(value)
  @enable_po = value
end

#filesArray<String>

It is a required parameter.

Returns:

  • (Array<String>)

    Files that have messages.



101
102
103
# File 'lib/gettext/tools/task.rb', line 101

def files
  @files
end

#localesArray<String>

It is a required parameter.

Returns:



92
93
94
# File 'lib/gettext/tools/task.rb', line 92

def locales
  @locales
end

#mo_base_directoryString

Returns Base directory that has generated MOs. MOs are generated into #{mo_base_directory}/#{locale}/LC_MESSAGES/#{domain}.mo.

Returns:

  • (String)

    Base directory that has generated MOs. MOs are generated into #{mo_base_directory}/#{locale}/LC_MESSAGES/#{domain}.mo.



97
98
99
# File 'lib/gettext/tools/task.rb', line 97

def mo_base_directory
  @mo_base_directory
end

#msgmerge_optionsArray<String>

Returns Command line options for merging PO with the latest POT.

Returns:

  • (Array<String>)

    Command line options for merging PO with the latest POT.

See Also:



117
118
119
# File 'lib/gettext/tools/task.rb', line 117

def msgmerge_options
  @msgmerge_options
end

#namespace_prefixObject

Returns the value of attribute namespace_prefix.



106
107
108
# File 'lib/gettext/tools/task.rb', line 106

def namespace_prefix
  @namespace_prefix
end

#package_nameString?

Returns Package name for messages.

Returns:

  • (String, nil)

    Package name for messages.



83
84
85
# File 'lib/gettext/tools/task.rb', line 83

def package_name
  @package_name
end

#package_versionString?

Returns Package version for messages.

Returns:

  • (String, nil)

    Package version for messages.



86
87
88
# File 'lib/gettext/tools/task.rb', line 86

def package_version
  @package_version
end

#po_base_directoryObject

Returns the value of attribute po_base_directory.



93
94
95
# File 'lib/gettext/tools/task.rb', line 93

def po_base_directory
  @po_base_directory
end

#specGem::Specification?

Returns Package information associated with the task.

Returns:

  • (Gem::Specification, nil)

    Package information associated with the task.



80
81
82
# File 'lib/gettext/tools/task.rb', line 80

def spec
  @spec
end

#xgettext_optionsArray<String>

Returns Command line options for extracting messages from sources.

Returns:

  • (Array<String>)

    Command line options for extracting messages from sources.

See Also:



111
112
113
# File 'lib/gettext/tools/task.rb', line 111

def xgettext_options
  @xgettext_options
end

Class Method Details

.define {|task| ... } ⇒ void

This method returns an undefined value.

Define gettext related Rake tasks. Normally, use this method to define tasks because this method is a convenient API.

See accessor APIs how to configure this task.

See #define for what task is defined.

Examples:

Recommended usage

require "gettext/tools/task"
# Recommended usage
GetText::Tools::Task.define do |task|
  task.spec = spec
  # ...
end
# Low level API
task = GetText::Tools::Task.new
task.spec = spec
# ...
task.define

Yields:

  • (task)

    Gives the newely created task to the block.

Yield Parameters:

See Also:

  • {{#define}


71
72
73
74
75
# File 'lib/gettext/tools/task.rb', line 71

def define
  task = new
  yield(task)
  task.define
end

Instance Method Details

#defineObject

Define tasks from configured parameters.

TODO: List defined Rake tasks.



163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/gettext/tools/task.rb', line 163

def define
  ensure_variables
  validate

  define_file_tasks
  if namespace_prefix
    namespace_recursive namespace_prefix do
      define_named_tasks
    end
  else
    define_named_tasks
  end
end

#enable_description?Bool

If it is true, each task has description. Otherwise, all tasks doesn't have description.

Returns:

  • (Bool)

Since:

  • 3.0.1



182
183
184
# File 'lib/gettext/tools/task.rb', line 182

def enable_description?
  @enable_description
end

#enable_po?Bool

If it is true, PO related tasks are defined. Otherwise, they are not defined.

This parameter is useful to manage PO written by hand.

Returns:

  • (Bool)

Since:

  • 3.0.1



193
194
195
# File 'lib/gettext/tools/task.rb', line 193

def enable_po?
  @enable_po
end