furigana 0.0.7 → 0.0.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.
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