furigana 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ff27abadc679f46eaf32b412c9122df44c55b29
4
- data.tar.gz: 6c5e06f33c1dded6d583a7bb7878a89ad9973d42
3
+ metadata.gz: 6c9933376a6b8068d40c60741b6c14b350488b56
4
+ data.tar.gz: 360bc108b71254f6392d343feba2050c60b5e1bc
5
5
  SHA512:
6
- metadata.gz: 9fa6a5abd830cf2488924aef22a36ff3744706026d6a8713101118aef9636bf01785464421da019dcf601a268ff75cf531b6caff0df2e3137575829a29c72531
7
- data.tar.gz: 3616341a08872b570b8e5fa3e0f7ae95607e0588b2fbd8def30b0b873f5fc41c2f0f3aa507b5eb15db3e64159219f01dd023ee71dde97ae211725e55df0749a2
6
+ metadata.gz: 1299989c90c0b9a4c1ac39dabc03d0739e0375b8f442d0ed1a69eec17107decf2c7272f021c38b19db842cdf5dde10b82e3b3bc826955ffb7546359436ace139
7
+ data.tar.gz: c422314879ef0df2816713d64a3cbf1e660b6a4bff91678d2ee48fa20a2dc2674e800616993d4c4e626a1e858d8bd22b48eec6bb33f7b6a9a0231522c3c5ebb3
@@ -0,0 +1,58 @@
1
+ require 'furigana'
2
+ require 'singleton'
3
+ require 'ostruct'
4
+ require 'optparse'
5
+
6
+ module Furigana
7
+ class CLI
8
+ include Singleton
9
+
10
+ def initialize
11
+ @settings = OpenStruct.new
12
+ @settings.format = :text
13
+ end
14
+
15
+ def parse_options
16
+ OptionParser.new do |opts|
17
+ opts.banner = "Usage: furigana [options] [file]"
18
+
19
+ opts.on("--text", "Add furigana and output text (default)") do
20
+ @settings.format = :text
21
+ end
22
+ opts.on("--html", "Add furigana and output HTML") do
23
+ @settings.format = :html
24
+ end
25
+ opts.on("--yomikata", "Output yomikata only") do
26
+ @settings.format = :yomikata
27
+ end
28
+ opts.on("--json", "Add furigana and output JSON") do
29
+ @settings.format = :json
30
+ end
31
+ opts.on_tail("-h", "--help", "Show this message") do
32
+ puts opts
33
+ exit
34
+ end
35
+ opts.on_tail("--version", "Show version") do
36
+ puts Furigana::VERSION
37
+ exit
38
+ end
39
+ end.parse!
40
+ end
41
+
42
+ def start
43
+ parse_options
44
+
45
+ input = ARGF.read
46
+ case @settings.format
47
+ when :text
48
+ puts Formatter::Text.new(input, Reader.new.reading(input)).render
49
+ when :html
50
+ puts Formatter::HTML.new(input, Reader.new.reading(input)).render
51
+ when :yomikata
52
+ puts Formatter::Yomikata.new(input, Reader.new.reading(input)).render
53
+ when :json
54
+ puts Formatter::JSON.new(input, Reader.new.reading(input)).render
55
+ end
56
+ end
57
+ end
58
+ end
@@ -1,3 +1,3 @@
1
1
  module Furigana
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: furigana
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael V. O'Brien
@@ -89,6 +89,7 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - bin/furigana
91
91
  - lib/furigana.rb
92
+ - lib/furigana/cli.rb
92
93
  - lib/furigana/formatter/base.rb
93
94
  - lib/furigana/formatter/html.rb
94
95
  - lib/furigana/formatter/json.rb