logaling-command 0.1.6 → 0.1.7
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/.travis.yml +15 -0
- data/CHANGES +10 -0
- data/README.md +2 -0
- data/lib/logaling/command/application.rb +11 -12
- data/lib/logaling/command/renderers.rb +37 -6
- data/lib/logaling/command/version.rb +1 -1
- data/lib/logaling/external_glossaries/debian_project.rb +2 -1
- data/lib/logaling/external_glossaries/edict.rb +2 -1
- data/lib/logaling/external_glossaries/freebsd_jpman.rb +2 -1
- data/lib/logaling/external_glossaries/gene95.rb +2 -1
- data/lib/logaling/external_glossaries/gnome_project.rb +2 -1
- data/lib/logaling/external_glossaries/itil_japanese.rb +52 -0
- data/lib/logaling/external_glossaries/mozilla_japan.rb +2 -1
- data/lib/logaling/external_glossaries/postgresql_manual.rb +2 -1
- data/lib/logaling/external_glossaries/resources/ITIL_2011_Japanese_Glossary_v1.0.html +37340 -0
- data/lib/logaling/external_glossaries/tmx.rb +2 -1
- data/lib/logaling/external_glossary.rb +4 -0
- data/lib/logaling/glossary_sources/glossary_yaml_source.rb +2 -2
- data/lib/logaling/project.rb +16 -4
- data/lib/logaling/repository.rb +1 -1
- data/spec/logaling/command_spec.rb +1 -1
- data/spec/logaling/glossary_spec.rb +3 -3
- data/spec/logaling/project_spec.rb +67 -0
- data/spec/logaling/repository_spec.rb +11 -8
- data/spec/spec_helper.rb +1 -1
- metadata +7 -2
@@ -17,7 +17,8 @@ require 'open-uri'
|
|
17
17
|
require 'nokogiri'
|
18
18
|
module Logaling
|
19
19
|
class Tmx < ExternalGlossary
|
20
|
-
description 'TMX 1.4b formatted glossary
|
20
|
+
description 'TMX 1.4b formatted glossary'
|
21
|
+
url 'http://www.gala-global.org/oscarStandards/tmx/'
|
21
22
|
source_language 'en'
|
22
23
|
target_language 'ja'
|
23
24
|
output_format 'csv'
|
@@ -34,7 +34,7 @@ module Logaling::GlossarySources
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def add(source_term, target_term, note)
|
37
|
-
|
37
|
+
dump_glossary_source([]) unless File.exist?(source_path)
|
38
38
|
|
39
39
|
glossary_source = self.load
|
40
40
|
glossary_source << build_term(source_term, target_term, note)
|
@@ -118,7 +118,7 @@ module Logaling::GlossarySources
|
|
118
118
|
|
119
119
|
def dump_glossary_source(glossary_source)
|
120
120
|
File.open(source_path, "w") do |f|
|
121
|
-
|
121
|
+
YAML.dump(glossary_source, f)
|
122
122
|
end
|
123
123
|
end
|
124
124
|
end
|
data/lib/logaling/project.rb
CHANGED
@@ -45,7 +45,7 @@ module Logaling
|
|
45
45
|
File.basename(@path)
|
46
46
|
end
|
47
47
|
|
48
|
-
def
|
48
|
+
def glossary(source_language, target_language)
|
49
49
|
Logaling::Glossary.new(name, source_language, target_language, self)
|
50
50
|
end
|
51
51
|
|
@@ -57,13 +57,25 @@ module Logaling
|
|
57
57
|
@repository.logaling_db_home
|
58
58
|
end
|
59
59
|
|
60
|
+
def glossaries
|
61
|
+
glossaries = all_glossary_source_path.map do |source_path|
|
62
|
+
name, source_language, target_language, type = File.basename(source_path).split(/\./)
|
63
|
+
glossary(source_language, target_language)
|
64
|
+
end
|
65
|
+
glossaries.uniq{|glossary| glossary.to_s }
|
66
|
+
end
|
67
|
+
|
60
68
|
def glossary_sources
|
61
|
-
all_glossary_source_path = Dir.glob(File.join(glossary_source_path, "*"))
|
62
69
|
all_glossary_source_path.map do |source_path|
|
63
70
|
name, source_language, target_language, type = File.basename(source_path).split(/\./)
|
64
|
-
GlossarySource.create(source_path,
|
71
|
+
GlossarySource.create(source_path, glossary(source_language, target_language))
|
65
72
|
end
|
66
73
|
end
|
74
|
+
|
75
|
+
private
|
76
|
+
def all_glossary_source_path
|
77
|
+
Dir.glob(File.join(glossary_source_path, "*"))
|
78
|
+
end
|
67
79
|
end
|
68
80
|
|
69
81
|
class ImportedProject < Project
|
@@ -73,7 +85,7 @@ module Logaling
|
|
73
85
|
|
74
86
|
def glossary_sources
|
75
87
|
name, source_language, target_language, type = File.basename(@path).split(/\./)
|
76
|
-
[GlossarySource.create(@path,
|
88
|
+
[GlossarySource.create(@path, glossary(source_language, target_language))]
|
77
89
|
end
|
78
90
|
end
|
79
91
|
end
|
data/lib/logaling/repository.rb
CHANGED
@@ -24,7 +24,7 @@ describe Logaling::Command::Application do
|
|
24
24
|
let(:command) { Logaling::Command::Application.new([], base_options) }
|
25
25
|
let(:target_project_path) { File.join(logaling_home, "projects", "spec") }
|
26
26
|
let(:repository) { Logaling::Repository.new(logaling_home) }
|
27
|
-
let(:glossary) { repository.find_project('spec').
|
27
|
+
let(:glossary) { repository.find_project('spec').glossary('en', 'ja') }
|
28
28
|
let(:glossary_source_path) { glossary.glossary_source.source_path }
|
29
29
|
|
30
30
|
before do
|
@@ -22,11 +22,11 @@ module Logaling
|
|
22
22
|
describe Glossary do
|
23
23
|
let(:logaling_home) { @logaling_home }
|
24
24
|
let(:repository) { Logaling::Repository.new(logaling_home) }
|
25
|
-
let(:glossary) { repository.find_project('spec').
|
25
|
+
let(:glossary) { repository.find_project('spec').glossary('en', 'ja') }
|
26
26
|
let(:glossary_source_path) { glossary.glossary_source.source_path }
|
27
27
|
|
28
28
|
before do
|
29
|
-
FileUtils.
|
29
|
+
FileUtils.rm_rf(File.join(logaling_home, 'projects', 'spec'), :secure => true)
|
30
30
|
FileUtils.mkdir_p(File.join(logaling_home, 'projects', 'spec'))
|
31
31
|
end
|
32
32
|
|
@@ -170,7 +170,7 @@ module Logaling
|
|
170
170
|
end
|
171
171
|
|
172
172
|
after do
|
173
|
-
FileUtils.
|
173
|
+
FileUtils.rm_rf(File.join(logaling_home, 'projects', 'spec'), :secure => true)
|
174
174
|
end
|
175
175
|
end
|
176
176
|
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2012 Miho SUZUKI
|
4
|
+
#
|
5
|
+
# This program is free software: you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation, either version 3 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
|
18
|
+
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
19
|
+
require "fileutils"
|
20
|
+
|
21
|
+
module Logaling
|
22
|
+
describe Project do
|
23
|
+
let(:logaling_home) { @logaling_home }
|
24
|
+
let(:repository) { Logaling::Repository.new(logaling_home) }
|
25
|
+
let(:project_path) { File.join(logaling_home, 'projects', 'spec') }
|
26
|
+
let(:project) { repository.find_project("spec") }
|
27
|
+
|
28
|
+
before do
|
29
|
+
FileUtils.rm_rf(project_path, :secure => true)
|
30
|
+
FileUtils.mkdir_p(File.join(project_path, "glossary"))
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#glossaries" do
|
34
|
+
before do
|
35
|
+
FileUtils.touch(File.join(project_path, "glossary", "spec.en.ja.yml"))
|
36
|
+
end
|
37
|
+
|
38
|
+
context "project has only 'en-ja' glossary" do
|
39
|
+
it "should be include 'en-ja' glossary" do
|
40
|
+
project.glossaries.map(&:to_s).should be_include "spec.en.ja"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context "project has 'en-ja' 'fr-ja' glossaries" do
|
45
|
+
before do
|
46
|
+
FileUtils.touch(File.join(project_path, "glossary", "spec.fr.ja.yml"))
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should be include 'en-ja' 'fr-ja' glossaries" do
|
50
|
+
%w(spec.en.ja spec.fr.ja).each do |glossary_name|
|
51
|
+
project.glossaries.map(&:to_s).should be_include glossary_name
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
context "project has two 'en-ja' glossary sources" do
|
57
|
+
before do
|
58
|
+
FileUtils.touch(File.join(project_path, "glossary", "spec.en.ja.csv"))
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should count as one glossary" do
|
62
|
+
project.glossaries.size.should == 1
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -16,17 +16,18 @@
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
17
|
|
18
18
|
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
19
|
+
require 'yaml'
|
19
20
|
require "fileutils"
|
20
21
|
|
21
22
|
module Logaling
|
22
23
|
describe Repository do
|
23
24
|
let(:logaling_home) { @logaling_home }
|
24
25
|
let(:repository) { Logaling::Repository.new(logaling_home) }
|
25
|
-
let(:glossary) { repository.find_project('spec').
|
26
|
+
let(:glossary) { repository.find_project('spec').glossary('en', 'ja') }
|
26
27
|
let(:glossary_source_path) { glossary.glossary_source.source_path }
|
27
28
|
|
28
29
|
before do
|
29
|
-
FileUtils.
|
30
|
+
FileUtils.rm_rf(File.join(logaling_home, 'projects', 'spec'), :secure => true)
|
30
31
|
FileUtils.mkdir_p(File.join(logaling_home, 'projects', 'spec'))
|
31
32
|
end
|
32
33
|
|
@@ -103,7 +104,7 @@ module Logaling
|
|
103
104
|
end
|
104
105
|
|
105
106
|
after do
|
106
|
-
FileUtils.
|
107
|
+
FileUtils.rm_rf(tsv_path, :secure => true)
|
107
108
|
end
|
108
109
|
end
|
109
110
|
end
|
@@ -114,7 +115,9 @@ module Logaling
|
|
114
115
|
|
115
116
|
context 'when yml file as glossary exists' do
|
116
117
|
before do
|
117
|
-
|
118
|
+
File.open(glossary_source_path, 'w') do |f|
|
119
|
+
YAML.dump([], f)
|
120
|
+
end
|
118
121
|
glossary.add("spec_logaling", "スペック", "備考")
|
119
122
|
repository.index
|
120
123
|
@terms = repository.lookup("spec_logaling", glossary)
|
@@ -125,7 +128,7 @@ module Logaling
|
|
125
128
|
end
|
126
129
|
|
127
130
|
after do
|
128
|
-
FileUtils.
|
131
|
+
FileUtils.rm_rf(glossary_source_path, :secure => true)
|
129
132
|
end
|
130
133
|
end
|
131
134
|
|
@@ -142,7 +145,7 @@ module Logaling
|
|
142
145
|
end
|
143
146
|
|
144
147
|
after do
|
145
|
-
FileUtils.
|
148
|
+
FileUtils.rm_rf(tsv_path, :secure => true)
|
146
149
|
end
|
147
150
|
end
|
148
151
|
|
@@ -159,13 +162,13 @@ module Logaling
|
|
159
162
|
end
|
160
163
|
|
161
164
|
after do
|
162
|
-
FileUtils.
|
165
|
+
FileUtils.rm_rf(csv_path, :secure => true)
|
163
166
|
end
|
164
167
|
end
|
165
168
|
end
|
166
169
|
|
167
170
|
after do
|
168
|
-
FileUtils.
|
171
|
+
FileUtils.rm_rf(File.join(logaling_home, 'projects', 'spec'), :secure => true)
|
169
172
|
end
|
170
173
|
end
|
171
174
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logaling-command
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2012-
|
16
|
+
date: 2012-07-30 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: thor
|
@@ -157,6 +157,7 @@ extra_rdoc_files: []
|
|
157
157
|
files:
|
158
158
|
- .gitignore
|
159
159
|
- .rspec
|
160
|
+
- .travis.yml
|
160
161
|
- CHANGES
|
161
162
|
- COPYING
|
162
163
|
- Gemfile
|
@@ -175,8 +176,10 @@ files:
|
|
175
176
|
- lib/logaling/external_glossaries/freebsd_jpman.rb
|
176
177
|
- lib/logaling/external_glossaries/gene95.rb
|
177
178
|
- lib/logaling/external_glossaries/gnome_project.rb
|
179
|
+
- lib/logaling/external_glossaries/itil_japanese.rb
|
178
180
|
- lib/logaling/external_glossaries/mozilla_japan.rb
|
179
181
|
- lib/logaling/external_glossaries/postgresql_manual.rb
|
182
|
+
- lib/logaling/external_glossaries/resources/ITIL_2011_Japanese_Glossary_v1.0.html
|
180
183
|
- lib/logaling/external_glossaries/tmx.rb
|
181
184
|
- lib/logaling/external_glossary.rb
|
182
185
|
- lib/logaling/glossary.rb
|
@@ -191,6 +194,7 @@ files:
|
|
191
194
|
- logaling-command.gemspec
|
192
195
|
- spec/logaling/command_spec.rb
|
193
196
|
- spec/logaling/glossary_spec.rb
|
197
|
+
- spec/logaling/project_spec.rb
|
194
198
|
- spec/logaling/repository_spec.rb
|
195
199
|
- spec/spec_helper.rb
|
196
200
|
homepage: http://logaling.github.com/
|
@@ -220,5 +224,6 @@ summary: A command line interface for logaling.
|
|
220
224
|
test_files:
|
221
225
|
- spec/logaling/command_spec.rb
|
222
226
|
- spec/logaling/glossary_spec.rb
|
227
|
+
- spec/logaling/project_spec.rb
|
223
228
|
- spec/logaling/repository_spec.rb
|
224
229
|
- spec/spec_helper.rb
|