konjac 0.2.7 → 0.2.8

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 CHANGED
@@ -158,6 +158,11 @@ Should be simple enough to generate yourself:
158
158
  mv doc/rdoc/* .
159
159
  rm -rf doc
160
160
 
161
+ == Supplementary Stuff
162
+
163
+ {Vim integration}[https://github.com/brymck/konjac_vim]
164
+ {My dictionaries}[https://github.com/brymck/konjac_yml]
165
+
161
166
  == Name
162
167
 
163
168
  <em>Hon'yaku</em> means "translation" in Japanese. This utility relies on a
data/konjac.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.require_paths = ["lib"]
21
21
 
22
22
  s.add_runtime_dependency "amatch"
23
+ s.add_runtime_dependency "git"
23
24
  s.add_runtime_dependency "highline"
24
25
  s.add_runtime_dependency "i18n"
25
26
  s.add_runtime_dependency "nokogiri"
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+ cd ~/.vim
3
+ git submodule add git://github.com/brymck/konjac_vim.git bundle/konjac_vim
4
+ git submodule init
5
+ git submodule update
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ cd ~/.vim/bundle/konjac_vim
3
+ git pull origin master
data/lib/konjac/cli.rb CHANGED
@@ -12,8 +12,8 @@ module Konjac
12
12
 
13
13
  class << self
14
14
  # A list of valid subcommands
15
- SUB_COMMANDS = ["add", "export", "import", "language", "list", "suggest",
16
- "translate", "use"]
15
+ SUB_COMMANDS = ["add", "export", "import", "install", "language", "list",
16
+ "suggest", "translate", "update", "use"]
17
17
 
18
18
  # The minimum amount by which to offset subcommands in standard display.
19
19
  # Should be equal to the length of the longest top-level flag (e.g. the
@@ -88,6 +88,17 @@ eos
88
88
  opt :help, I18n.t(:help, :scope => :opts)
89
89
  end
90
90
  Office.import_tags ARGV, opts
91
+ when "install"
92
+ Trollop::options do
93
+ banner sc_banner % I18n.t(:word_arg)
94
+ opt :help, I18n.t(:help, :scope => :opts)
95
+ end
96
+ case ARGV[0]
97
+ when "dictionaries", "dict", "dictionary"
98
+ Installer.install_dictionaries
99
+ when "vim"
100
+ Installer.install_vim
101
+ end
91
102
  when "language"
92
103
  Trollop::options do
93
104
  banner sc_banner % I18n.t(:word_arg)
@@ -135,6 +146,17 @@ eos
135
146
  end
136
147
  result = translate(ARGV, opts)
137
148
  puts result if opts[:word]
149
+ when "update"
150
+ Trollop::options do
151
+ banner sc_banner % I18n.t(:word_arg)
152
+ opt :help, I18n.t(:help, :scope => :opts)
153
+ end
154
+ case ARGV[0]
155
+ when "dictionaries", "dict", "dictionary"
156
+ Installer.update_dictionaries
157
+ when "vim"
158
+ Installer.update_vim
159
+ end
138
160
  when "use"
139
161
  Trollop::options do
140
162
  banner sc_banner % I18n.t(:word_arg)
@@ -0,0 +1,102 @@
1
+ # coding: utf-8
2
+ module Konjac
3
+ # A class to help with installing supplementary tools for Konjac
4
+ module Installer
5
+ VIM_GIT = "git://github.com/brymck/konjac_vim.git"
6
+ YML_GIT = "git://github.com/brymck/konjac_yml.git"
7
+
8
+ class << self
9
+ # Install the supplementary {Vim plugin}[https://github.com/brymck/konjac_vim]
10
+ def install_vim
11
+ if has_pathogen?
12
+ return update_vim if vim_installed?
13
+
14
+ system File.join(File.dirname(__FILE__), "..", "bash", "install_vim")
15
+ else
16
+ dir = Dir.mktmpdir
17
+ begin
18
+ ensure
19
+ FileUtils.remove_entry_secure dir
20
+ end
21
+ end
22
+ end
23
+
24
+ # Install the supplementary {dictionaries}[https://github.com/brymck/konjac_yml]
25
+ def install_dictionaries
26
+ if dictionaries_installed?
27
+ update_dictionaries
28
+ else
29
+ Dir.chdir(konjac_home) do
30
+ g = Git.clone(YML_GIT, ".dictionaries", :name => ".dictionaries",
31
+ :path => konjac_home)
32
+ g.chdir do
33
+ FileUtils.cp_r Dir.glob("*.yml"), konjac_home
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ # Update the supplementary {Vim plugin}[https://github.com/brymck/konjac_vim]
40
+ def update_vim
41
+ if has_pathogen? && vim_installed?
42
+ system File.join(File.dirname(__FILE__), "..", "bash", "update_vim")
43
+ else
44
+ install_vim
45
+ end
46
+ end
47
+
48
+ # Update the supplementary {dictionaries}[https://github.com/brymck/konjac_yml]
49
+ def update_dictionaries
50
+ if dictionaries_installed?
51
+ g = Git.open(File.join(konjac_home, ".dictionaries"))
52
+ g.pull
53
+ g.chdir do
54
+ FileUtils.cp_r Dir.glob("*.yml"), konjac_home
55
+ end
56
+ else
57
+ install_dictionaries
58
+ end
59
+ end
60
+
61
+ # Update everything
62
+ def update
63
+ update_dictionaries
64
+ update_vim
65
+ end
66
+
67
+ private
68
+
69
+ # Determines the location of Vim's home directory. This is currently
70
+ # pretty naïve, but I'll build in functionality later to allow for
71
+ # customized home directories.
72
+ def vim_home
73
+ @vim_home ||= File.join(File.expand_path(Dir.home),
74
+ RUBY_PLATFORM =~ /mswin32/ ? "vimfiles" : ".vim")
75
+ end
76
+
77
+ # The path for Konjac's configuration and dictionary files
78
+ def konjac_home
79
+ @konjac_home ||= File.join(File.expand_path(Dir.home), ".konjac")
80
+ end
81
+
82
+ # Whether the user has {Pathogen}[http://www.vim.org/scripts/script.php?script_id=2332]
83
+ def has_pathogen?
84
+ File.exists? File.join(vim_home, "autoload", "pathogen.vim")
85
+ end
86
+
87
+ # Whether the user has the Vim plugin installed
88
+ def vim_installed?
89
+ if has_pathogen?
90
+ File.exist? File.join(vim_home, "bundle", "konjac_vim")
91
+ else
92
+ File.exist? File.join(vim_home, "plugin", "konjac.vim")
93
+ end
94
+ end
95
+
96
+ # Whether the user has the supplementary dictionaries installed
97
+ def dictionaries_installed?
98
+ File.exist? File.join(konjac_home, ".dictionaries", ".git")
99
+ end
100
+ end
101
+ end
102
+ end
@@ -1,4 +1,4 @@
1
1
  module Konjac
2
2
  # The current version number of Konjac
3
- VERSION = "0.2.7"
3
+ VERSION = "0.2.8"
4
4
  end
data/lib/konjac.rb CHANGED
@@ -2,6 +2,7 @@ require "konjac/version"
2
2
  require "konjac/exception"
3
3
  autoload :Amatch, "amatch"
4
4
  autoload :FileUtils, "fileutils"
5
+ autoload :Git, "git"
5
6
  autoload :HighLine, "highline/system_extensions"
6
7
  autoload :I18n, "i18n"
7
8
  autoload :Nokogiri, "nokogiri"
@@ -14,6 +15,7 @@ module Konjac
14
15
  autoload :CLI, "konjac/cli"
15
16
  autoload :Config, "konjac/config"
16
17
  autoload :Dictionary, "konjac/dictionary"
18
+ autoload :Installer, "konjac/installer"
17
19
  autoload :Language, "konjac/language"
18
20
  autoload :Office, "konjac/office"
19
21
  autoload :Suggestor, "konjac/suggestor"
data/lib/locales/en.yml CHANGED
@@ -18,12 +18,14 @@ en:
18
18
  force: Automatically overwrite files
19
19
  from: The language from which to translate
20
20
  help: Show this message
21
+ install: Install supplementary scripts
21
22
  original: The untranslated original text
22
23
  output: The name of the output file
23
24
  prompt: Prompt before overwriting a file
24
25
  quiet: Suppress error messages
25
26
  to: The language into which to translate
26
27
  translation: The translated text
28
+ update: Update supplementary scripts
27
29
  using: The names of dictionaries to use
28
30
  use_cache: Use cached dictionary
29
31
  version: Print version and exit
data/lib/locales/ja.yml CHANGED
@@ -18,12 +18,14 @@ ja:
18
18
  force: 自動にファイルを上書きする
19
19
  from: ソース言語
20
20
  help: このメッセージを表示する
21
+ install: スクリプトなどをインストールする
21
22
  original: ソーステキスト
22
23
  output: 出力ファイル名
23
24
  prompt: ファイルをする場合に警告する
24
25
  quiet: エラーメッセージを抑止する
25
26
  to: ターゲット言語
26
27
  translation: ターゲットテキスト
28
+ update: スクリプトなどをアップデートする
27
29
  using: 使用したい辞書の名前
28
30
  use_cache: キャッシュした翻訳メモリを適用する
29
31
  version: バーションを表示し終了する
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.2.7
4
+ version: 0.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-27 00:00:00.000000000 Z
12
+ date: 2012-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: amatch
16
- requirement: &70314005857720 !ruby/object:Gem::Requirement
16
+ requirement: &70315284595940 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,21 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70314005857720
24
+ version_requirements: *70315284595940
25
+ - !ruby/object:Gem::Dependency
26
+ name: git
27
+ requirement: &70315284623080 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70315284623080
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: highline
27
- requirement: &70314005857300 !ruby/object:Gem::Requirement
38
+ requirement: &70315284622660 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: '0'
33
44
  type: :runtime
34
45
  prerelease: false
35
- version_requirements: *70314005857300
46
+ version_requirements: *70315284622660
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: i18n
38
- requirement: &70314005856880 !ruby/object:Gem::Requirement
49
+ requirement: &70315284622240 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ! '>='
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: '0'
44
55
  type: :runtime
45
56
  prerelease: false
46
- version_requirements: *70314005856880
57
+ version_requirements: *70315284622240
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: nokogiri
49
- requirement: &70314005856440 !ruby/object:Gem::Requirement
60
+ requirement: &70315284621820 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ! '>='
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: '0'
55
66
  type: :runtime
56
67
  prerelease: false
57
- version_requirements: *70314005856440
68
+ version_requirements: *70315284621820
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: sdoc
60
- requirement: &70314005856000 !ruby/object:Gem::Requirement
71
+ requirement: &70315284621380 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,10 +76,10 @@ dependencies:
65
76
  version: '0'
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *70314005856000
79
+ version_requirements: *70315284621380
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: term-ansicolor
71
- requirement: &70314005855580 !ruby/object:Gem::Requirement
82
+ requirement: &70315284620960 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: '0'
77
88
  type: :runtime
78
89
  prerelease: false
79
- version_requirements: *70314005855580
90
+ version_requirements: *70315284620960
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: trollop
82
- requirement: &70314005855160 !ruby/object:Gem::Requirement
93
+ requirement: &70315284620540 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ! '>='
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: '0'
88
99
  type: :runtime
89
100
  prerelease: false
90
- version_requirements: *70314005855160
101
+ version_requirements: *70315284620540
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: autotest
93
- requirement: &70314005854740 !ruby/object:Gem::Requirement
104
+ requirement: &70315284620120 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ! '>='
@@ -98,10 +109,10 @@ dependencies:
98
109
  version: '0'
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *70314005854740
112
+ version_requirements: *70315284620120
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: autotest-fsevent
104
- requirement: &70314005854320 !ruby/object:Gem::Requirement
115
+ requirement: &70315284619700 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ! '>='
@@ -109,10 +120,10 @@ dependencies:
109
120
  version: '0'
110
121
  type: :development
111
122
  prerelease: false
112
- version_requirements: *70314005854320
123
+ version_requirements: *70315284619700
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: autotest-growl
115
- requirement: &70314005853900 !ruby/object:Gem::Requirement
126
+ requirement: &70315284619260 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ! '>='
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: '0'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *70314005853900
134
+ version_requirements: *70315284619260
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: bundler
126
- requirement: &70314005853480 !ruby/object:Gem::Requirement
137
+ requirement: &70315284618760 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ! '>='
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: '0'
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *70314005853480
145
+ version_requirements: *70315284618760
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: rspec
137
- requirement: &70314005853060 !ruby/object:Gem::Requirement
148
+ requirement: &70315284618240 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ! '>='
@@ -142,7 +153,7 @@ dependencies:
142
153
  version: '0'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *70314005853060
156
+ version_requirements: *70315284618240
146
157
  description: A Ruby command-line utility for translating files using a YAML wordlist
147
158
  email:
148
159
  - bryan.mckelvey@gmail.com
@@ -165,11 +176,14 @@ files:
165
176
  - lib/applescripts/konjac_powerpoint_import
166
177
  - lib/applescripts/konjac_word_export
167
178
  - lib/applescripts/konjac_word_import
179
+ - lib/bash/install_vim
180
+ - lib/bash/update_vim
168
181
  - lib/konjac.rb
169
182
  - lib/konjac/cli.rb
170
183
  - lib/konjac/config.rb
171
184
  - lib/konjac/dictionary.rb
172
185
  - lib/konjac/exception.rb
186
+ - lib/konjac/installer.rb
173
187
  - lib/konjac/language.rb
174
188
  - lib/konjac/office.rb
175
189
  - lib/konjac/suggestor.rb