konjac 0.1.8.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +24 -7
- data/Rakefile +1 -0
- data/lib/konjac/cli.rb +9 -2
- data/lib/konjac/config.rb +12 -0
- data/lib/konjac/dictionary.rb +27 -20
- data/lib/konjac/exception.rb +4 -0
- data/lib/konjac/language.rb +14 -2
- data/lib/konjac/tag.rb +35 -2
- data/lib/konjac/tag_manager.rb +11 -0
- data/lib/konjac/translator.rb +5 -0
- data/lib/konjac/utils.rb +2 -0
- data/lib/konjac/version.rb +2 -1
- data/lib/konjac/word.rb +20 -13
- data/lib/konjac.rb +2 -0
- data/locales/en.yml +1 -1
- data/locales/ja.yml +1 -1
- metadata +21 -21
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
=
|
1
|
+
= Konjac
|
2
2
|
|
3
3
|
A Ruby command-line utility for translating files using a YAML wordlist
|
4
4
|
|
@@ -18,11 +18,13 @@ following in your terminal:
|
|
18
18
|
|
19
19
|
=== Development
|
20
20
|
|
21
|
-
With Ruby
|
22
|
-
navigate in your command line to a
|
21
|
+
With Ruby, {Git}[http://help.github.com/set-up-git-redirect] and
|
22
|
+
{Bundler}[http://gembundler.com/] installed, navigate in your command line to a
|
23
|
+
directory of your choice, then run:
|
23
24
|
|
24
25
|
git clone git://github.com/brymck/konjac.git
|
25
26
|
cd konjac
|
27
|
+
bundle update
|
26
28
|
rake install
|
27
29
|
|
28
30
|
== Usage
|
@@ -133,10 +135,25 @@ Run
|
|
133
135
|
Now, obviously that does require some fiddling to make it more grammatical, but
|
134
136
|
it's a start (=> <tt>僕は犬が好きだ。</tt>)
|
135
137
|
|
138
|
+
== Documentation
|
139
|
+
|
140
|
+
Should be simple enough to generate yourself:
|
141
|
+
|
142
|
+
rm -rf konjac
|
143
|
+
git clone git://github.com/brymck/konjac
|
144
|
+
cd konjac
|
145
|
+
bundle update
|
146
|
+
rake rdoc
|
147
|
+
rm -rf !(doc)
|
148
|
+
mv doc/rdoc/* .
|
149
|
+
rm -rf doc
|
150
|
+
|
136
151
|
== Name
|
137
152
|
|
138
153
|
<em>Hon'yaku</em> means "translation" in Japanese. This utility relies on a
|
139
|
-
|
140
|
-
<em>hon'yaku</em>
|
141
|
-
|
142
|
-
|
154
|
+
<b>YAM</b>L wordlist. <em>Konnyaku</em> (Japanese for
|
155
|
+
"{konjac}[http://en.wikipedia.org/wiki/Konjac]") rhymes with <em>hon'yaku</em>
|
156
|
+
and is a type of <b>yam</b>. Also,
|
157
|
+
{Doraemon}[http://en.wikipedia.org/wiki/Doraemon] had something called a
|
158
|
+
<em>hon'yaku konnyaku</em> that allowed him to speak every language. IIRC it
|
159
|
+
worked with animals too. But I digress.
|
data/Rakefile
CHANGED
@@ -14,6 +14,7 @@ RDoc::Task.new do |rdoc|
|
|
14
14
|
rdoc.options << "-c" << "utf-8"
|
15
15
|
rdoc.options << "-g" # link to GitHub
|
16
16
|
rdoc.options << "-m" << "README.rdoc" # use README.rdoc as main file
|
17
|
+
rdoc.options << "-v" # verbose
|
17
18
|
|
18
19
|
rdoc.rdoc_files.include "README.rdoc"
|
19
20
|
rdoc.rdoc_files.include "ext/**/*.{c, h, rb}"
|
data/lib/konjac/cli.rb
CHANGED
@@ -3,13 +3,17 @@ require "trollop"
|
|
3
3
|
require "yaml"
|
4
4
|
|
5
5
|
module Konjac
|
6
|
+
# The class containing the command line interface
|
6
7
|
module CLI
|
7
|
-
class Color
|
8
|
+
class Color # :nodoc:
|
8
9
|
extend Term::ANSIColor
|
9
10
|
end
|
10
11
|
|
11
12
|
class << self
|
13
|
+
# A list of valid subcommands
|
12
14
|
SUB_COMMANDS = ["add", "edit", "export", "import", "language", "translate"]
|
15
|
+
|
16
|
+
# The banner to displaying when requesting help through the command line
|
13
17
|
BANNER = <<-eos
|
14
18
|
#{Color.bold { Color.underscore { "KONJAC" } }}
|
15
19
|
|
@@ -20,6 +24,8 @@ module Konjac
|
|
20
24
|
#{I18n.t(:where_options) % Color.underscore(I18n.t(:options))}
|
21
25
|
eos
|
22
26
|
|
27
|
+
# Starts the command line, parsing arguments passed via <tt>ARGV</tt> and
|
28
|
+
# running the respective commands
|
23
29
|
def start
|
24
30
|
ARGV << "-h" if ARGV.empty?
|
25
31
|
global_opts = Trollop::options do
|
@@ -119,7 +125,8 @@ eos
|
|
119
125
|
|
120
126
|
private
|
121
127
|
|
122
|
-
|
128
|
+
# Parse commands to determine what should be translated and how
|
129
|
+
def translate(files, opts = {}) # :doc:
|
123
130
|
to_lang = Language.find(opts[:to]).to_s
|
124
131
|
|
125
132
|
if opts[:word]
|
data/lib/konjac/config.rb
CHANGED
@@ -2,10 +2,13 @@ require "i18n"
|
|
2
2
|
require "yaml"
|
3
3
|
|
4
4
|
module Konjac
|
5
|
+
# User settings
|
5
6
|
module Config
|
6
7
|
class << self
|
8
|
+
# The path to the user's configuration file
|
7
9
|
CONFIG_PATH = File.expand_path("~/.konjac/config.yml")
|
8
10
|
|
11
|
+
# Loads the user's settings
|
9
12
|
def load
|
10
13
|
Utils.verify_file CONFIG_PATH, "--- {}"
|
11
14
|
config = YAML.load_file(CONFIG_PATH)
|
@@ -15,15 +18,19 @@ module Konjac
|
|
15
18
|
save
|
16
19
|
end
|
17
20
|
|
21
|
+
# The current interface language
|
18
22
|
def language
|
19
23
|
I18n.locale
|
20
24
|
end
|
21
25
|
|
26
|
+
# Sets the language to use for the interface. Note that this has no
|
27
|
+
# effect in determining the to or from languages to use for translation
|
22
28
|
def language=(lang)
|
23
29
|
set_language lang, I18n.locale
|
24
30
|
save
|
25
31
|
end
|
26
32
|
|
33
|
+
# Saves the user configurations
|
27
34
|
def save
|
28
35
|
File.open(CONFIG_PATH, "w") do |file|
|
29
36
|
YAML.dump @opts, file
|
@@ -32,6 +39,11 @@ module Konjac
|
|
32
39
|
|
33
40
|
private
|
34
41
|
|
42
|
+
# Calculates the language based on the available languages in the gem
|
43
|
+
# locale files versus the supplied parameters, in order. Suggested backup
|
44
|
+
# parameters are the system language (<tt>ENV["LANG"]</tt>), the current
|
45
|
+
# locale (<tt>I18n.locale</tt>), the default locale
|
46
|
+
# (<tt>I18n.default_locale</tt>), etc.
|
35
47
|
def set_language(*params)
|
36
48
|
I18n.load_path = Dir[File.join(File.dirname(__FILE__), "..", "..", "locales", "*.yml")]
|
37
49
|
I18n.default_locale = :en
|
data/lib/konjac/dictionary.rb
CHANGED
@@ -1,12 +1,27 @@
|
|
1
1
|
require "yaml"
|
2
2
|
|
3
3
|
module Konjac
|
4
|
+
# A module for loading and manipulating the user's dictionaries
|
4
5
|
module Dictionary
|
5
6
|
class << self
|
6
|
-
|
7
|
+
# The most recent language from which to translate
|
8
|
+
attr_accessor :from_lang
|
9
|
+
|
10
|
+
# The most recent language into which to translated
|
11
|
+
attr_accessor :to_lang
|
12
|
+
|
13
|
+
# The dictionaries currently in use
|
14
|
+
attr_accessor :dictionaries
|
15
|
+
|
16
|
+
# The current pairs
|
17
|
+
attr_accessor :pairs
|
7
18
|
|
19
|
+
# A regular expression used to determine whether a string is blank
|
8
20
|
BLANK = /^\s*$/
|
9
21
|
|
22
|
+
# Loads the specified languages and dictionaries
|
23
|
+
#
|
24
|
+
# Dictionary.load :en, :ja, :using => [:dict]
|
10
25
|
def load(from_lang, to_lang, opts = {})
|
11
26
|
# Allow both symbol and string arguments for languages
|
12
27
|
from_lang = from_lang.to_s
|
@@ -41,6 +56,8 @@ module Konjac
|
|
41
56
|
@pairs
|
42
57
|
end
|
43
58
|
|
59
|
+
# Extracts a regular expression and string replacement pair from a term
|
60
|
+
# in the Dictionary, based on the supplied languages and their templates
|
44
61
|
def extract_pair_from_term(term, from_lang, to_lang, from_template, to_template)
|
45
62
|
if term.has_key?(to_lang)
|
46
63
|
# Build to term depending on whether it's a hash for complex
|
@@ -171,29 +188,16 @@ module Konjac
|
|
171
188
|
|
172
189
|
private
|
173
190
|
|
174
|
-
def parse_language(lang)
|
175
|
-
if @dictionary["languages"].has_key?(lang)
|
176
|
-
return lang
|
177
|
-
else
|
178
|
-
@dictionary["languages"].each do |main, alternatives|
|
179
|
-
return main if alternatives.include?(lang)
|
180
|
-
end
|
181
|
-
|
182
|
-
# If no match is found, give an error message and exit
|
183
|
-
raise Exceptions::InvalidLanguageError.new("No match found for language \"#{lang}\"")
|
184
|
-
exit 1
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
191
|
# Caches variables so we can determine later on whether to reload the
|
189
192
|
# dictionaries or not
|
190
|
-
def cache_load(from_lang, to_lang, dictionaries)
|
193
|
+
def cache_load(from_lang, to_lang, dictionaries) # :doc:
|
191
194
|
@from_lang = from_lang
|
192
195
|
@to_lang = to_lang
|
193
196
|
@dictionaries = dictionaries
|
194
197
|
end
|
195
198
|
|
196
|
-
|
199
|
+
# Loads a marshalled Dictionary
|
200
|
+
def load_serialized(from_lang, to_lang, dictionaries) # :doc:
|
197
201
|
file_name = File.expand_path("~/.konjac/marshal/%s_%s_%s" %
|
198
202
|
[from_lang, to_lang, dictionaries.join("_")])
|
199
203
|
if File.exists?(file_name)
|
@@ -203,7 +207,8 @@ module Konjac
|
|
203
207
|
end
|
204
208
|
end
|
205
209
|
|
206
|
-
|
210
|
+
# Saves a marshalled Dictionary
|
211
|
+
def save_serialized(from_lang, to_lang, dictionaries, pairs) # :doc:
|
207
212
|
file_name = File.expand_path("~/.konjac/marshal/%s_%s_%s" %
|
208
213
|
[from_lang, to_lang, dictionaries.join("_")])
|
209
214
|
|
@@ -219,7 +224,7 @@ module Konjac
|
|
219
224
|
|
220
225
|
# Builds a list of dictionaries from the supplied files, defaulting to
|
221
226
|
# ~/.konjac/*.yml
|
222
|
-
def build_dictionary(files)
|
227
|
+
def build_dictionary(files) # :doc:
|
223
228
|
dictionary = []
|
224
229
|
find_dictionaries(files).each do |dict|
|
225
230
|
verify_dictionary_exists dict
|
@@ -229,9 +234,11 @@ module Konjac
|
|
229
234
|
dictionary
|
230
235
|
end
|
231
236
|
|
232
|
-
|
237
|
+
# Finds dictionaries based on the supplied Array
|
238
|
+
def find_dictionaries(files) # :doc:
|
233
239
|
paths = []
|
234
240
|
files.each do |file|
|
241
|
+
file = file.to_s
|
235
242
|
if file =~ /[\/.]/
|
236
243
|
full_path = File.expand_path(file)
|
237
244
|
else
|
data/lib/konjac/exception.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
module Konjac
|
2
|
+
# Konjac was unable to find an applicable file
|
2
3
|
class FileNotFoundError < StandardError; end
|
4
|
+
|
5
|
+
# The user has supplied an invalid language and Konjac can't continue to
|
6
|
+
# process the request
|
3
7
|
class InvalidLanguageError < StandardError; end
|
4
8
|
end
|
data/lib/konjac/language.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
module Konjac
|
2
|
+
# A class for language lookup
|
2
3
|
module Language
|
3
4
|
class << self
|
5
|
+
# Languages that don't use spaces. Obviously this is an incomplete list.
|
4
6
|
LANGUAGES_WITHOUT_SPACES = [:ar, :he, :ja, :zh]
|
7
|
+
|
8
|
+
# A hash list of languages. The keys are the two-letter ISO codes and the
|
9
|
+
# values are alternative names, including the three-letter ISO code and
|
10
|
+
# the English name
|
5
11
|
LIST = {
|
6
12
|
:ab => [:abkhazian, :abk],
|
7
13
|
:aa => [:afar, :aar],
|
@@ -216,7 +222,13 @@ module Konjac
|
|
216
222
|
:zu => [:zulu, :zul]
|
217
223
|
}
|
218
224
|
|
219
|
-
# Finds the two-letter code for the specified language
|
225
|
+
# Finds the two-letter code for the specified language.
|
226
|
+
#
|
227
|
+
# Language.find(:english) # => :en
|
228
|
+
# Language.find(:eng) # => :en
|
229
|
+
# Language.find(:en) # => :en
|
230
|
+
# Language.find(:japanese) # => :ja
|
231
|
+
# Language.find(:klingon) # => raises Konjac::InvalidLanguageError
|
220
232
|
def find(lang)
|
221
233
|
# Allow function to accept both symbol and string arguments
|
222
234
|
lang = lang.to_sym
|
@@ -243,7 +255,7 @@ module Konjac
|
|
243
255
|
private
|
244
256
|
|
245
257
|
# Convert to underscore case
|
246
|
-
def underscore(str)
|
258
|
+
def underscore(str) # :doc:
|
247
259
|
str.to_s. # allow symbols and strings
|
248
260
|
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). # underscore-delimit caps
|
249
261
|
gsub(/([a-z\d])\s?([A-Z])/,'\1_\2'). # underscore-delimit words
|
data/lib/konjac/tag.rb
CHANGED
@@ -1,17 +1,50 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
module Konjac
|
3
|
+
# A tag containing original text and (if available) its translation, plus the
|
4
|
+
# index of the <w:t> tag extracted from its .docx document
|
2
5
|
class Tag
|
3
|
-
|
6
|
+
# The index of the <w:t> tag in the cleaned-up XML file output by
|
7
|
+
# Konjac::Word.export_docx_tags
|
8
|
+
attr_accessor :index
|
9
|
+
|
10
|
+
# The original text
|
11
|
+
attr_accessor :original
|
12
|
+
|
13
|
+
# The translated text
|
14
|
+
attr_accessor :translated
|
4
15
|
|
16
|
+
# Creates a new tag.
|
17
|
+
#
|
18
|
+
# t = Tag.new(1, "dog", "犬")
|
5
19
|
def initialize(index, original, translated)
|
6
20
|
@index, @original, @translated = index, original, translated
|
7
21
|
end
|
8
22
|
|
23
|
+
# Converts the Tag into a string for use in .konjac files
|
24
|
+
#
|
25
|
+
# <tt>Tag.new(1, "dog", "犬").to_s</tt> will output
|
26
|
+
#
|
27
|
+
# [[KJ-1]]
|
28
|
+
# > dog
|
29
|
+
# 犬
|
30
|
+
#
|
31
|
+
# whereas <tt>Tag.new(2, "cat").to_s</tt> will output
|
32
|
+
#
|
33
|
+
# [[KJ-2]]
|
34
|
+
# > cat
|
9
35
|
def to_s
|
10
36
|
"[[KJ-#{index}]]\n> #{original}#{"\n" + translated if translated?}"
|
11
37
|
end
|
12
38
|
|
39
|
+
# Whether the tag has been translated
|
40
|
+
#
|
41
|
+
# dog = Tag.new(1, "dog", "犬")
|
42
|
+
# dog.translated? # => true
|
43
|
+
#
|
44
|
+
# cat = Tag.new(1, "cat", "")
|
45
|
+
# cat.translated? # => false
|
13
46
|
def translated?
|
14
|
-
|
47
|
+
!translated.nil? && translated != ""
|
15
48
|
end
|
16
49
|
end
|
17
50
|
end
|
data/lib/konjac/tag_manager.rb
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
module Konjac
|
2
|
+
# A class for managing the tags generated by extraction from {Microsoft
|
3
|
+
# Word}[http://office.microsoft.com/en-us/word/] 2003+ documents
|
2
4
|
class TagManager
|
5
|
+
# A list of the Tag objects current being managed
|
3
6
|
attr_accessor :tags
|
4
7
|
|
8
|
+
# A regex to match lines that start with <tt>> </tt>, that is, lines that
|
9
|
+
# indicate original text in .konjac files
|
5
10
|
STARTS_WITH_CLOSE_TAG = /^\>/
|
11
|
+
|
12
|
+
# Regex for matching index numbers
|
6
13
|
KONJAC_TAG = /^\[\[KJ\-(\d+)\]\]/
|
7
14
|
|
15
|
+
# Creates a new TagManager
|
8
16
|
def initialize(path)
|
9
17
|
@tags = []
|
10
18
|
parse_lines File.readlines(path)
|
11
19
|
end
|
12
20
|
|
21
|
+
# Parses the lines of a file into Tag objects
|
13
22
|
def parse_lines(lines)
|
14
23
|
index = nil
|
15
24
|
orig = nil
|
@@ -39,10 +48,12 @@ module Konjac
|
|
39
48
|
end
|
40
49
|
end
|
41
50
|
|
51
|
+
# A list of all the tags available
|
42
52
|
def all
|
43
53
|
@tags
|
44
54
|
end
|
45
55
|
|
56
|
+
# Finds the <em>nth</em> tag being managed
|
46
57
|
def [](index)
|
47
58
|
@tags[index]
|
48
59
|
end
|
data/lib/konjac/translator.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
module Konjac
|
3
|
+
# A class consisting of functions for translation
|
3
4
|
module Translator
|
4
5
|
class << self
|
6
|
+
# Translates a file or list of files
|
7
|
+
#
|
8
|
+
# path = Dir[File.expand_path("~/.konjac/test_en.txt")]
|
9
|
+
# Translator.translate_files path, :en, :ja, :using => [:dict]
|
5
10
|
def translate_files(files, from_lang, to_lang, opts = {})
|
6
11
|
load_dictionary from_lang, to_lang, opts
|
7
12
|
|
data/lib/konjac/utils.rb
CHANGED
data/lib/konjac/version.rb
CHANGED
data/lib/konjac/word.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
# This really needs cleanup
|
2
|
-
|
3
1
|
module Konjac
|
2
|
+
# A singleton for dealing with extracting and importing tags from {Microsoft
|
3
|
+
# Word}[http://office.microsoft.com/en-us/word/] 2003+ documents
|
4
4
|
module Word
|
5
5
|
class << self
|
6
|
-
#
|
6
|
+
# Imports the text content of a tag file into a {Microsoft
|
7
|
+
# Word}[http://office.microsoft.com/en-us/word/] 2003+ document
|
7
8
|
def import_docx_tags(files)
|
8
9
|
sub_files = Utils.parse_files(files, ".docx")
|
9
10
|
sub_files.each do |sub_file|
|
@@ -46,7 +47,8 @@ module Konjac
|
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
|
-
# Exports the text content
|
50
|
+
# Exports the text content of {Microsoft
|
51
|
+
# Word}[http://office.microsoft.com/en-us/word/] 2003+ document
|
50
52
|
def export_docx_tags(files, opts = {})
|
51
53
|
# Determine whether to attempt translating
|
52
54
|
if opts[:from_given] && opts[:to_given]
|
@@ -117,7 +119,7 @@ module Konjac
|
|
117
119
|
end
|
118
120
|
end
|
119
121
|
|
120
|
-
# Opens the .konjac tag files for the specified
|
122
|
+
# Opens the .konjac tag files for the specified .docx files
|
121
123
|
def edit_docx_tags(files)
|
122
124
|
sub_files = Utils.force_extension(files, ".konjac")
|
123
125
|
sub_files.each do |sub_file|
|
@@ -129,13 +131,14 @@ module Konjac
|
|
129
131
|
|
130
132
|
# Performs a comparison between two nodes and accepts them as equivalent
|
131
133
|
# if the differences are very minor
|
132
|
-
def compare_nodes(a, b)
|
134
|
+
def compare_nodes(a, b) # :doc:
|
133
135
|
c = clean_hash(xml_node_to_hash(a))
|
134
136
|
d = clean_hash(xml_node_to_hash(b))
|
135
137
|
c == d
|
136
138
|
end
|
137
139
|
|
138
|
-
|
140
|
+
# Converts an XML node into a Ruby hash
|
141
|
+
def xml_node_to_hash(node) # :doc:
|
139
142
|
# If we are at the root of the document, start the hash
|
140
143
|
if node.element?
|
141
144
|
result_hash = {}
|
@@ -173,18 +176,19 @@ module Konjac
|
|
173
176
|
end
|
174
177
|
end
|
175
178
|
|
176
|
-
|
179
|
+
# Prepares data according to whether it's string or integer content
|
180
|
+
def prepare(data) # :doc:
|
177
181
|
(data.class == String && data.to_i.to_s == data) ? data.to_i : data
|
178
182
|
end
|
179
183
|
|
180
184
|
# Delete extraneous attributes for comparison
|
181
|
-
def clean_hash(hash)
|
185
|
+
def clean_hash(hash) # :doc:
|
182
186
|
delete_attribute_or_child hash, :t
|
183
187
|
delete_attribute_or_child hash, :rPr, :rFonts, :attributes, :hint
|
184
188
|
end
|
185
189
|
|
186
190
|
# Get additional information on the node for context in tags file
|
187
|
-
def additional_info(node)
|
191
|
+
def additional_info(node) # :doc:
|
188
192
|
info = []
|
189
193
|
info << "hyperlink" if node.parent.parent.name == "hyperlink"
|
190
194
|
|
@@ -195,9 +199,12 @@ module Konjac
|
|
195
199
|
end
|
196
200
|
end
|
197
201
|
|
198
|
-
|
199
|
-
|
200
|
-
|
202
|
+
# Deletes the specified attribute or child node for the supplied node,
|
203
|
+
# following the hierarchy provided
|
204
|
+
#
|
205
|
+
# Delete <tt>hash[:rPr][:rFonts][:attributes][:hint]</tt>:
|
206
|
+
# delete_attribute_or_child hash, :rPr, :rFonts, :attributes, :hint
|
207
|
+
def delete_attribute_or_child(node, *hierarchy) # :doc:
|
201
208
|
last_member = hierarchy.pop
|
202
209
|
|
203
210
|
hierarchy.each do |member|
|
data/lib/konjac.rb
CHANGED
data/locales/en.yml
CHANGED
data/locales/ja.yml
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: konjac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-16 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
16
|
-
requirement: &
|
16
|
+
requirement: &70270392674560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70270392674560
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: nokogiri
|
27
|
-
requirement: &
|
27
|
+
requirement: &70270392674140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70270392674140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: sdoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &70270392673660 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70270392673660
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: term-ansicolor
|
49
|
-
requirement: &
|
49
|
+
requirement: &70270392673220 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70270392673220
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: trollop
|
60
|
-
requirement: &
|
60
|
+
requirement: &70270392672620 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70270392672620
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: autotest
|
71
|
-
requirement: &
|
71
|
+
requirement: &70270392672080 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70270392672080
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: autotest-fsevent
|
82
|
-
requirement: &
|
82
|
+
requirement: &70270392671480 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70270392671480
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: autotest-growl
|
93
|
-
requirement: &
|
93
|
+
requirement: &70270392670840 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70270392670840
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: bundler
|
104
|
-
requirement: &
|
104
|
+
requirement: &70270392630600 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70270392630600
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rspec
|
115
|
-
requirement: &
|
115
|
+
requirement: &70270392629960 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70270392629960
|
124
124
|
description: A Ruby command-line utility for translating files using a YAML wordlist
|
125
125
|
email:
|
126
126
|
- bryan.mckelvey@gmail.com
|