logaling-command 0.1.5 → 0.1.6

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.
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (C) 2012 Koji SHIMADA <koji.shimada@enishi-tech.com>
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 "logaling/glossary_sources/base"
19
+ require "csv"
20
+
21
+ module Logaling::GlossarySources
22
+ class GlossaryTsvSource < Base
23
+ def load
24
+ glossary_source = []
25
+ CSV.open(source_path, "r:utf-8", {:col_sep => "\t"}) do |tsv|
26
+ tsv.each do |row|
27
+ glossary_source << {"source_term" => row[0], "target_term" => row[1], "note" => ""} if row.size >= 2
28
+ end
29
+ end
30
+ glossary_source
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,125 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (C) 2012 Koji SHIMADA <koji.shimada@enishi-tech.com>
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 "logaling/glossary_sources/base"
19
+ begin
20
+ require 'psych'
21
+ rescue LoadError => e
22
+ raise LoadError unless e.message =~ /psych/
23
+ puts "please install psych first."
24
+ end
25
+ require "yaml"
26
+ require "fileutils"
27
+
28
+ module Logaling::GlossarySources
29
+ class GlossaryYamlSource < Base
30
+ def load
31
+ YAML::load_file(source_path) || []
32
+ rescue TypeError
33
+ []
34
+ end
35
+
36
+ def add(source_term, target_term, note)
37
+ FileUtils.touch(source_path) unless File.exist?(source_path)
38
+
39
+ glossary_source = self.load
40
+ glossary_source << build_term(source_term, target_term, note)
41
+ dump_glossary_source(glossary_source)
42
+ rescue
43
+ raise Logaling::GlossaryNotFound
44
+ end
45
+
46
+ def update(source_term, target_term, new_target_term, note)
47
+ raise Logaling::GlossaryNotFound unless File.exist?(source_path)
48
+
49
+ glossary_source = self.load
50
+ target_index = find_term_index(glossary_source, source_term, target_term)
51
+ if target_index
52
+ glossary_source[target_index] = rebuild_term(glossary_source[target_index], source_term, new_target_term, note)
53
+ dump_glossary_source(glossary_source)
54
+ else
55
+ raise Logaling::TermError, "Can't found term '#{source_term}: #{target_term}' in '#{@glossary.name}'"
56
+ end
57
+ end
58
+
59
+ def delete(source_term, target_term)
60
+ raise Logaling::GlossaryNotFound unless File.exist?(source_path)
61
+
62
+ glossary_source = self.load
63
+ target_index = find_term_index(glossary_source, source_term, target_term)
64
+ unless target_index
65
+ raise Logaling::TermError, "Can't found term '#{source_term} #{target_term}' in '#{@glossary.name}'" unless target_index
66
+ end
67
+
68
+ glossary_source.delete_at(target_index)
69
+ dump_glossary_source(glossary_source)
70
+ end
71
+
72
+ def delete_all(source_term, force=false)
73
+ raise Logaling::GlossaryNotFound unless File.exist?(source_path)
74
+
75
+ glossary_source = self.load
76
+ delete_candidates = target_terms(glossary_source, source_term)
77
+ if delete_candidates.empty?
78
+ raise Logaling::TermError, "Can't found term '#{source_term} in '#{@glossary.name}'"
79
+ end
80
+
81
+ if delete_candidates.size == 1 || force
82
+ glossary_source.delete_if{|term| term['source_term'] == source_term }
83
+ dump_glossary_source(glossary_source)
84
+ else
85
+ raise Logaling::TermError, "There are duplicate terms in glossary.\n" +
86
+ "If you really want to delete, please put `loga delete [SOURCE_TERM] --force`\n" +
87
+ " or `loga delete [SOURCE_TERM] [TARGET_TERM]`"
88
+ end
89
+ end
90
+
91
+ private
92
+ def build_term(source_term, target_term, note)
93
+ note ||= ''
94
+ {'source_term' => source_term, 'target_term' => target_term, 'note' => note}
95
+ end
96
+
97
+ def rebuild_term(current, source_term, target_term, note)
98
+ if current['target_term'] != target_term && (note.nil? || note == "")
99
+ note = current['note']
100
+ end
101
+ target_term = current['target_term'] if target_term == ""
102
+ build_term(source_term, target_term, note)
103
+ end
104
+
105
+ def find_term_index(glossary_source, source_term, target_term='')
106
+ glossary_source.find_index do |term|
107
+ if target_term.empty?
108
+ term['source_term'] == source_term
109
+ else
110
+ term['source_term'] == source_term && term['target_term'] == target_term
111
+ end
112
+ end
113
+ end
114
+
115
+ def target_terms(glossary_source, source_term)
116
+ glossary_source.select {|term| term['source_term'] == source_term }
117
+ end
118
+
119
+ def dump_glossary_source(glossary_source)
120
+ File.open(source_path, "w") do |f|
121
+ f.puts(glossary_source.to_yaml)
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,79 @@
1
+ # Copyright (C) 2012 Miho SUZUKI
2
+ #
3
+ # This program is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation, either version 3 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License
14
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
+
16
+ module Logaling
17
+ class Project
18
+ class << self
19
+ def find_dotfile(base_dir=Dir.pwd)
20
+ searched_path = []
21
+ dir = base_dir
22
+ loop do
23
+ path = File.join(dir, '.logaling')
24
+ if File.exist?(path)
25
+ return path
26
+ else
27
+ unless Pathname.new(dir).root?
28
+ searched_path << dir
29
+ dir = File.dirname(dir)
30
+ else
31
+ raise Logaling::ProjectNotFound, "Can't found .logaling in #{searched_path}"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ attr_reader :path, :repository
38
+
39
+ def initialize(path, repository=nil)
40
+ @path = path
41
+ @repository = repository
42
+ end
43
+
44
+ def name
45
+ File.basename(@path)
46
+ end
47
+
48
+ def find_glossary(source_language, target_language)
49
+ Logaling::Glossary.new(name, source_language, target_language, self)
50
+ end
51
+
52
+ def glossary_source_path
53
+ File.join(@path, "glossary")
54
+ end
55
+
56
+ def glossary_db_path
57
+ @repository.logaling_db_home
58
+ end
59
+
60
+ def glossary_sources
61
+ all_glossary_source_path = Dir.glob(File.join(glossary_source_path, "*"))
62
+ all_glossary_source_path.map do |source_path|
63
+ name, source_language, target_language, type = File.basename(source_path).split(/\./)
64
+ GlossarySource.create(source_path, find_glossary(source_language, target_language))
65
+ end
66
+ end
67
+ end
68
+
69
+ class ImportedProject < Project
70
+ def name
71
+ File.basename(@path).split(/\./).first
72
+ end
73
+
74
+ def glossary_sources
75
+ name, source_language, target_language, type = File.basename(@path).split(/\./)
76
+ [GlossarySource.create(@path, find_glossary(source_language, target_language))]
77
+ end
78
+ end
79
+ end
@@ -17,6 +17,7 @@
17
17
 
18
18
  require "fileutils"
19
19
  require "logaling/glossary_db"
20
+ require "logaling/project"
20
21
 
21
22
  module Logaling
22
23
  class Repository
@@ -25,107 +26,90 @@ module Logaling
25
26
  end
26
27
 
27
28
  def register(dot_logaling_path, register_name)
28
- FileUtils.mkdir_p(logaling_projects_path) unless File.exist?(logaling_projects_path)
29
+ FileUtils.mkdir_p(logaling_projects_path)
29
30
  symlink_path = File.join(logaling_projects_path, register_name)
30
31
  unless File.exist?(symlink_path)
31
32
  FileUtils.ln_s(dot_logaling_path, symlink_path)
32
33
  else
33
- raise GlossaryAlreadyRegistered, register_name
34
+ raise Logaling::GlossaryAlreadyRegistered, register_name
34
35
  end
36
+ rescue Logaling::GlossaryAlreadyRegistered => e
37
+ raise e
35
38
  rescue
36
39
  raise Logaling::CommandFailed, "Failed register #{register_name} to #{logaling_projects_path}."
37
40
  end
38
41
 
39
- def unregister(register_name)
40
- symlink_path = File.join(logaling_projects_path, register_name)
41
- if File.exist?(symlink_path)
42
- FileUtils.remove_entry_secure(symlink_path, true)
43
- else
44
- raise GlossaryNotFound, register_name
45
- end
42
+ def unregister(project)
43
+ raise Logaling::ProjectNotFound unless project
44
+ FileUtils.remove_entry_secure(project.path, true)
46
45
  end
47
46
 
48
- def import(glossary)
49
- FileUtils.mkdir_p(cache_path) unless File.exist?(cache_path)
47
+ def import(glossary_source)
48
+ FileUtils.mkdir_p(cache_path)
50
49
  Dir.chdir(cache_path) do
51
- glossary.import
50
+ glossary_source.import
52
51
  end
53
52
  rescue
54
- raise Logaling::CommandFailed, "Failed import #{glossary.class.name} to #{cache_path}."
53
+ raise Logaling::CommandFailed, "Failed import #{glossary_source.class.name} to #{cache_path}."
55
54
  end
56
55
 
57
- def import_tmx(glossary, glossary_info)
58
- FileUtils.mkdir_p(cache_path) unless File.exist?(cache_path)
56
+ def import_tmx(glossary_source, glossary, url)
57
+ FileUtils.mkdir_p(cache_path)
59
58
  Dir.chdir(cache_path) do
60
- glossary.import(glossary_info)
59
+ glossary_source.import(glossary, url)
61
60
  end
62
61
  rescue Logaling::GlossaryNotFound => e
63
62
  raise e
64
63
  rescue
65
- raise Logaling::CommandFailed, "Failed import_tmx #{glossary.class.name} to #{cache_path}."
64
+ raise Logaling::CommandFailed, "Failed import_tmx #{glossary_source.class.name} to #{cache_path}."
66
65
  end
67
66
 
68
- def lookup(source_term, glossary_source, dictionary=false)
69
- raise GlossaryDBNotFound unless File.exist?(logaling_db_home)
67
+ def lookup(source_term, glossary, dictionary=false)
68
+ raise Logaling::GlossaryDBNotFound unless File.exist?(logaling_db_home)
70
69
 
71
70
  terms = []
72
71
  Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
73
72
  if dictionary
74
73
  terms = db.lookup_dictionary(source_term)
75
74
  else
76
- terms = db.lookup(source_term, glossary_source)
75
+ terms = db.lookup(source_term, glossary)
77
76
  end
78
77
  end
79
78
  terms
80
79
  end
81
80
 
82
- def show_glossary(glossary_source)
83
- raise GlossaryDBNotFound unless File.exist?(logaling_db_home)
84
-
85
- terms = []
86
- Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
87
- terms = db.translation_list(glossary_source)
81
+ def projects
82
+ projects = registered_project_paths.map do |project_path|
83
+ Logaling::Project.new(project_path, self)
88
84
  end
89
- terms
90
- end
91
-
92
- def list
93
- raise GlossaryDBNotFound unless File.exist?(logaling_db_home)
94
-
95
- glossaries = []
96
- Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
97
- glossaries = db.get_all_glossary
85
+ projects += imported_glossary_paths.map do |imported_project_path|
86
+ Logaling::ImportedProject.new(imported_project_path, self)
98
87
  end
99
- glossaries
88
+ projects.sort_by(&:path)
100
89
  end
101
90
 
102
91
  def index
103
- project_glossaries = Dir[File.join(@path, "projects", "*")].map do |project|
104
- Dir.glob(get_all_glossary_sources(File.join(project, "glossary")))
105
- end
106
- imported_glossaries = Dir.glob(get_all_glossary_sources(cache_path))
107
- all_glossaries = project_glossaries.flatten + imported_glossaries
92
+ all_glossary_sources = projects.map{|project| project.glossary_sources}.flatten
108
93
 
109
94
  Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
110
95
  db.recreate_table
111
- all_glossaries.each do |glossary_source|
112
- indexed_at = File.mtime(glossary_source)
113
- unless db.glossary_source_exist?(glossary_source, indexed_at)
114
- glossary_name, source_language, target_language = get_glossary(glossary_source)
115
- puts "now index #{glossary_name}..."
116
- db.index_glossary(Glossary.load(glossary_source), glossary_name, glossary_source, source_language, target_language, indexed_at)
96
+ all_glossary_sources.each do |glossary_source|
97
+ glossary = glossary_source.glossary
98
+ unless db.glossary_source_exist?(glossary_source)
99
+ puts "now index #{glossary.name}..."
100
+ db.index_glossary(glossary, glossary_source)
117
101
  end
118
102
  end
119
- (db.get_all_glossary_source - all_glossaries).each do |glossary_source|
120
- glossary_name, source_language, target_language = get_glossary(glossary_source)
121
- puts "now deindex #{glossary_name}..."
122
- db.deindex_glossary(glossary_name, glossary_source)
103
+ (db.get_all_glossary_sources - all_glossary_sources).each do |glossary_source|
104
+ glossary = glossary_source.glossary
105
+ puts "now deindex #{glossary.name}..."
106
+ db.deindex_glossary(glossary, glossary_source)
123
107
  end
124
108
  end
125
109
  end
126
110
 
127
111
  def glossary_counts
128
- [registered_projects, imported_glossaries].map(&:size).inject(&:+)
112
+ [registered_project_paths, imported_glossary_paths].map(&:size).inject(&:+)
129
113
  end
130
114
 
131
115
  def config_path
@@ -133,50 +117,15 @@ module Logaling
133
117
  File.exist?(path) ? path : nil
134
118
  end
135
119
 
136
- def bilingual_pair_exists?(source_term, target_term, glossary)
137
- raise GlossaryDBNotFound unless File.exist?(logaling_db_home)
138
-
139
- terms = []
140
- Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
141
- terms = db.get_bilingual_pair(source_term, target_term, glossary)
142
- end
143
-
144
- if terms.size > 0
145
- true
146
- else
147
- false
148
- end
149
- end
150
-
151
- def bilingual_pair_exists_and_has_same_note?(source_term, target_term, note, glossary)
152
- raise GlossaryDBNotFound unless File.exist?(logaling_db_home)
153
-
154
- terms = []
155
- Logaling::GlossaryDB.open(logaling_db_home, "utf8") do |db|
156
- terms = db.get_bilingual_pair_with_note(source_term, target_term, note, glossary)
157
- end
158
-
159
- if terms.size > 0
160
- true
161
- else
162
- false
163
- end
164
- end
165
-
166
- private
167
- def get_glossary(path)
168
- glossary_name, source_language, target_language = File::basename(path, ".*").split(".")
169
- [glossary_name, source_language, target_language]
170
- end
171
-
172
- def get_all_glossary_sources(path)
173
- %w(yml tsv csv).map{|type| File.join(path, "*.#{type}") }
120
+ def find_project(project_name)
121
+ project = projects.detect{|project| project.name == project_name}
174
122
  end
175
123
 
176
124
  def logaling_db_home
177
125
  File.join(@path, "db")
178
126
  end
179
127
 
128
+ private
180
129
  def logaling_projects_path
181
130
  File.join(@path, "projects")
182
131
  end
@@ -185,11 +134,11 @@ module Logaling
185
134
  File.join(@path, "cache")
186
135
  end
187
136
 
188
- def registered_projects
137
+ def registered_project_paths
189
138
  Dir[File.join(logaling_projects_path, "*")]
190
139
  end
191
140
 
192
- def imported_glossaries
141
+ def imported_glossary_paths
193
142
  Dir[File.join(cache_path, "*")]
194
143
  end
195
144
  end
data/lib/logaling.rb CHANGED
@@ -27,4 +27,5 @@ module Logaling
27
27
  class GlossaryDBNotFound < LogalingError; end
28
28
  class ExternalGlossaryNotFound < LogalingError; end
29
29
  class UnsupportedFormat < LogalingError; end
30
+ class ProjectNotFound < LogalingError; end
30
31
  end
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
38
38
 
39
39
  s.add_runtime_dependency 'thor', ['>= 0.14.6']
40
40
  s.add_runtime_dependency 'bundler', ['>= 1.0']
41
- s.add_runtime_dependency 'rroonga', ['>= 1.3.0']
41
+ s.add_runtime_dependency 'rroonga', ['>= 2.0.3']
42
42
  s.add_runtime_dependency 'rainbow'
43
43
  s.add_runtime_dependency 'nokogiri'
44
44
  s.add_runtime_dependency 'activesupport'
@@ -22,10 +22,10 @@ describe Logaling::Command::Application do
22
22
  let(:logaling_config) { File.join(File.dirname(__FILE__), "..", "tmp", ".logaling") }
23
23
  let(:base_options) { {"glossary"=>"spec", "source-language"=>"en", "target-language"=>"ja", "logaling-config" => logaling_config} }
24
24
  let(:command) { Logaling::Command::Application.new([], base_options) }
25
- let(:glossary) { Logaling::Glossary.new('spec', 'en', 'ja', logaling_home) }
26
- let(:glossary_path) { glossary.source_path }
27
25
  let(:target_project_path) { File.join(logaling_home, "projects", "spec") }
28
26
  let(:repository) { Logaling::Repository.new(logaling_home) }
27
+ let(:glossary) { repository.find_project('spec').find_glossary('en', 'ja') }
28
+ let(:glossary_source_path) { glossary.glossary_source.source_path }
29
29
 
30
30
  before do
31
31
  FileUtils.rm_rf(File.join(logaling_home, 'projects', 'spec'))
@@ -265,7 +265,7 @@ describe Logaling::Command::Application do
265
265
  command.add("spec", "テスト")
266
266
  end
267
267
 
268
- subject { YAML::load_file(glossary_path).find{|h| h["source_term"] == "spec" }}
268
+ subject { YAML::load_file(glossary_source_path).find{|h| h["source_term"] == "spec" }}
269
269
 
270
270
  it "glossary yaml should contain that term" do
271
271
  subject["target_term"].should == "テスト"
@@ -282,7 +282,7 @@ describe Logaling::Command::Application do
282
282
  command.add("spec", "テスト", "備考")
283
283
  end
284
284
 
285
- subject { YAML::load_file(glossary_path).find{|h| h["source_term"] == "spec" }}
285
+ subject { YAML::load_file(glossary_source_path).find{|h| h["source_term"] == "spec" }}
286
286
 
287
287
  it "glossary yaml should contain that term" do
288
288
  subject["target_term"].should == "テスト"
@@ -331,7 +331,7 @@ describe Logaling::Command::Application do
331
331
  context "with arguments except note" do
332
332
  before do
333
333
  command.update("spec", "テスト", "スペック")
334
- @yaml = YAML::load_file(glossary_path).find{|h| h["source_term"] == "spec" }
334
+ @yaml = YAML::load_file(glossary_source_path).find{|h| h["source_term"] == "spec" }
335
335
  end
336
336
 
337
337
  it "term's target_term should be updated" do
@@ -352,7 +352,7 @@ describe Logaling::Command::Application do
352
352
  context 'with existing bilingual pair and different note' do
353
353
  before do
354
354
  command.update("spec", "テスト", "テスト", "備考だけ書き換え")
355
- @yaml = YAML::load_file(glossary_path).find{|h| h["source_term"] == "spec" }
355
+ @yaml = YAML::load_file(glossary_source_path).find{|h| h["source_term"] == "spec" }
356
356
  end
357
357
 
358
358
  it "should update note" do
@@ -450,12 +450,12 @@ describe Logaling::Command::Application do
450
450
  end
451
451
 
452
452
  describe "#show" do
453
- let(:csv_path) { File.join(File.dirname(glossary_path), "spec.ja.en.csv") }
453
+ let(:csv_path) { File.join(File.dirname(glossary_source_path), "spec.ja.en.csv") }
454
454
  before do
455
455
  command.new('spec', 'en', 'ja')
456
456
  command.add("spec-test", "スペックてすと", "備考")
457
457
 
458
- FileUtils.mkdir_p(File.dirname(glossary_path))
458
+ FileUtils.mkdir_p(File.dirname(glossary_source_path))
459
459
  FileUtils.touch(csv_path)
460
460
  File.open(csv_path, "w"){|f| f.puts "test_logaling,テストろがりん"}
461
461
  end
@@ -496,7 +496,8 @@ describe Logaling::Command::Application do
496
496
 
497
497
  context 'when a glossary is unregistered' do
498
498
  before do
499
- repository.unregister('spec')
499
+ project = repository.find_project('spec')
500
+ repository.unregister(project)
500
501
  command.options = base_options.merge("no-pager" => true)
501
502
  @stdout = capture(:stdout) {command.list}
502
503
  end
@@ -20,15 +20,14 @@ require "fileutils"
20
20
 
21
21
  module Logaling
22
22
  describe Glossary do
23
- let(:project) { "spec" }
24
23
  let(:logaling_home) { @logaling_home }
25
- let(:glossary) { Glossary.new(project, 'en', 'ja', logaling_home) }
26
- let(:glossary_path) { glossary.source_path }
27
24
  let(:repository) { Logaling::Repository.new(logaling_home) }
25
+ let(:glossary) { repository.find_project('spec').find_glossary('en', 'ja') }
26
+ let(:glossary_source_path) { glossary.glossary_source.source_path }
28
27
 
29
28
  before do
30
29
  FileUtils.remove_entry_secure(File.join(logaling_home, 'projects', 'spec'), true)
31
- FileUtils.mkdir_p(File.dirname(glossary_path))
30
+ FileUtils.mkdir_p(File.join(logaling_home, 'projects', 'spec'))
32
31
  end
33
32
 
34
33
  describe '#add' do
@@ -38,7 +37,7 @@ module Logaling
38
37
  end
39
38
 
40
39
  it 'glossary yaml should have that bilingual pair' do
41
- yaml = YAML::load_file(glossary_path)
40
+ yaml = YAML::load_file(glossary_source_path)
42
41
  term = yaml.index({"source_term"=>"spec", "target_term"=>"スペック", "note"=>"テストスペック"})
43
42
  term.should_not be_nil
44
43
  end
@@ -50,7 +49,7 @@ module Logaling
50
49
  end
51
50
 
52
51
  it "should create the glossary and add term" do
53
- yaml = YAML::load_file(glossary_path)
52
+ yaml = YAML::load_file(glossary_source_path)
54
53
  term = yaml.index({"source_term"=>"test", "target_term"=>"テスト", "note"=>"テスト"})
55
54
  term.should_not be_nil
56
55
  end
@@ -86,7 +85,7 @@ module Logaling
86
85
  end
87
86
 
88
87
  it 'should clear note' do
89
- yaml = YAML::load_file(glossary_path)
88
+ yaml = YAML::load_file(glossary_source_path)
90
89
  term = yaml.index({"source_term"=>"user", "target_term"=>"ユーザ", "note"=>""})
91
90
  term.should_not be_nil
92
91
  end
@@ -153,7 +152,7 @@ module Logaling
153
152
  glossary.add("delete_logaling", "てすと1", "備考")
154
153
  glossary.add("delete_logaling", "てすと2", "備考")
155
154
  glossary.delete_all("delete_logaling", true)
156
- @result = Logaling::Glossary.load_glossary_yml(glossary_path)
155
+ @result = Logaling::GlossarySource.create(glossary_source_path, glossary).load
157
156
  end
158
157
 
159
158
  it {