Class: GetText::Tools::Task
- Inherits:
-
Object
- Object
- GetText::Tools::Task
- Includes:
- GetText, Rake::DSL
- Defined in:
- lib/gettext/tools/task.rb
Defined Under Namespace
Classes: Error, Path, ValidationError
Constant Summary
Constants included from GetText
Instance Attribute Summary collapse
-
#domain ⇒ String
It is a required parameter.
- #enable_description ⇒ Bool writeonly
- #enable_po ⇒ Bool writeonly
-
#files ⇒ Array<String>
It is a required parameter.
-
#locales ⇒ Array<String>
It is a required parameter.
-
#mo_base_directory ⇒ String
Base directory that has generated MOs.
-
#msgcat_options ⇒ Array<String>
Command line options for filtering PO.
-
#msginit_options ⇒ Array<String>
Command line options for creating PO from POT.
-
#msgmerge_options ⇒ Array<String>
Command line options for merging PO with the latest POT.
-
#namespace_prefix ⇒ String
It is useful when you have multiple domains.
-
#package_name ⇒ String?
Package name for messages.
-
#package_version ⇒ String?
Package version for messages.
-
#po_base_directory ⇒ Object
Returns the value of attribute po_base_directory.
-
#pot_creator ⇒ Proc
It is used to custom how to create POT file.
-
#spec ⇒ Gem::Specification?
Package information associated with the task.
-
#xgettext_options ⇒ Array<String>
Command line options for extracting messages from sources.
Class Method Summary collapse
-
.define {|task| ... } ⇒ void
Define gettext related Rake tasks.
Instance Method Summary collapse
-
#define ⇒ Object
Define tasks from configured parameters.
-
#enable_description? ⇒ Bool
If it is true, each task has description.
-
#enable_po? ⇒ Bool
If it is true, PO related tasks are defined.
-
#initialize(spec = nil) ⇒ Task
constructor
A new instance of Task.
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.
176 177 178 179 180 181 182 183 184 |
# File 'lib/gettext/tools/task.rb', line 176 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
#domain ⇒ String
It is a required parameter.
108 109 110 |
# File 'lib/gettext/tools/task.rb', line 108 def domain @domain end |
#enable_description=(value) ⇒ Bool (writeonly)
146 147 148 |
# File 'lib/gettext/tools/task.rb', line 146 def enable_description=(value) @enable_description = value end |
#enable_po=(value) ⇒ Bool (writeonly)
150 151 152 |
# File 'lib/gettext/tools/task.rb', line 150 def enable_po=(value) @enable_po = value end |
#files ⇒ Array<String>
It is a required parameter.
104 105 106 |
# File 'lib/gettext/tools/task.rb', line 104 def files @files end |
#locales ⇒ Array<String>
It is a required parameter.
95 96 97 |
# File 'lib/gettext/tools/task.rb', line 95 def locales @locales end |
#mo_base_directory ⇒ String
Returns Base directory that has generated MOs. MOs
are generated into
#{mo_base_directory}/#{locale}/LC_MESSAGES/#{domain}.mo
.
100 101 102 |
# File 'lib/gettext/tools/task.rb', line 100 def mo_base_directory @mo_base_directory end |
#msgcat_options ⇒ Array<String>
Returns Command line options for filtering PO.
142 143 144 |
# File 'lib/gettext/tools/task.rb', line 142 def @msgcat_options end |
#msginit_options ⇒ Array<String>
Returns Command line options for creating PO from POT.
130 131 132 |
# File 'lib/gettext/tools/task.rb', line 130 def @msginit_options end |
#msgmerge_options ⇒ Array<String>
Returns Command line options for merging PO with the latest POT.
136 137 138 |
# File 'lib/gettext/tools/task.rb', line 136 def @msgmerge_options end |
#namespace_prefix ⇒ String
It is useful when you have multiple domains. You can define tasks for each domains by using different namespace prefix.
It is nil
by default. It means that tasks are defined at top
level.
TODO: example
119 120 121 |
# File 'lib/gettext/tools/task.rb', line 119 def namespace_prefix @namespace_prefix end |
#package_name ⇒ String?
Returns Package name for messages.
86 87 88 |
# File 'lib/gettext/tools/task.rb', line 86 def package_name @package_name end |
#package_version ⇒ String?
Returns Package version for messages.
89 90 91 |
# File 'lib/gettext/tools/task.rb', line 89 def package_version @package_version end |
#po_base_directory ⇒ Object
Returns the value of attribute po_base_directory.
96 97 98 |
# File 'lib/gettext/tools/task.rb', line 96 def po_base_directory @po_base_directory end |
#pot_creator ⇒ Proc
It is used to custom how to create POT file. The object must have
call
method. The method must accept one argument. The argument
is a Pathname
object that represents POT file path.
171 172 173 |
# File 'lib/gettext/tools/task.rb', line 171 def pot_creator @pot_creator end |
#spec ⇒ Gem::Specification?
Returns Package information associated with the task.
83 84 85 |
# File 'lib/gettext/tools/task.rb', line 83 def spec @spec end |
#xgettext_options ⇒ Array<String>
Returns Command line options for extracting messages from sources.
125 126 127 |
# File 'lib/gettext/tools/task.rb', line 125 def @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.
74 75 76 77 78 |
# File 'lib/gettext/tools/task.rb', line 74 def define task = new yield(task) task.define end |
Instance Method Details
#define ⇒ Object
Define tasks from configured parameters.
TODO: List defined Rake tasks.
209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/gettext/tools/task.rb', line 209 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.
228 229 230 |
# File 'lib/gettext/tools/task.rb', line 228 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.
239 240 241 |
# File 'lib/gettext/tools/task.rb', line 239 def enable_po? @enable_po end |