translaunder 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 65de882876147e5b90b0a23d32a4a0a1ffc6887e
4
+ data.tar.gz: 236c022e4efab9f333a19cb6087278c0e3145ab9
5
+ SHA512:
6
+ metadata.gz: 346e940f3be8d7c9954afa085df208423c46262f1b4ba81854dd9617a309557d316b1533efb4db8c192c2f5173a059612e01fab09098e9b507cd6a7b71a63b64
7
+ data.tar.gz: 6a340c5cbfcf3ab0b61c9b1b78c28098de9ab9d699df562669f9ccc6340bae833e7c6c01081cfec922dfbece062b1dc1b00a7cef7221a604786309afb2147f98
data/.gitignore ADDED
@@ -0,0 +1,63 @@
1
+ ### https://raw.github.com/github/gitignore/3ebb3221ccf9103909529bb81627ca335162e9c1/ruby.gitignore
2
+
3
+ *.gem
4
+ *.rbc
5
+ /.config
6
+ /coverage/
7
+ /InstalledFiles
8
+ /pkg/
9
+ /spec/reports/
10
+ /test/tmp/
11
+ /test/version_tmp/
12
+ /tmp/
13
+
14
+ ## Specific to RubyMotion:
15
+ .dat*
16
+ .repl_history
17
+ build/
18
+
19
+ ## Documentation cache and generated files:
20
+ /.yardoc/
21
+ /_yardoc/
22
+ /doc/
23
+ /rdoc/
24
+
25
+ ## Environment normalisation:
26
+ /.bundle/
27
+ /vendor/bundle
28
+ /lib/bundler/man/
29
+
30
+ # for a library or gem, you might want to ignore these files since the code is
31
+ # intended to run in multiple environments; otherwise, check them in:
32
+ # Gemfile.lock
33
+ # .ruby-version
34
+ # .ruby-gemset
35
+
36
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
37
+ .rvmrc
38
+
39
+
40
+ ### https://raw.github.com/github/gitignore/3ebb3221ccf9103909529bb81627ca335162e9c1/Global/osx.gitignore
41
+
42
+ .DS_Store
43
+ .AppleDouble
44
+ .LSOverride
45
+
46
+ # Icon must end with two \r
47
+ Icon
48
+
49
+ # Thumbnails
50
+ ._*
51
+
52
+ # Files that might appear on external disk
53
+ .Spotlight-V100
54
+ .Trashes
55
+
56
+ # Directories potentially created on remote AFP share
57
+ .AppleDB
58
+ .AppleDesktop
59
+ Network Trash Folder
60
+ Temporary Items
61
+ .apdisk
62
+
63
+
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format NyanCatWideFormatter
data/.travis.yml ADDED
@@ -0,0 +1,14 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 2.1.0
5
+ - 2.2.0
6
+ script: bundle exec rspec
7
+ branches:
8
+ only:
9
+ - master
10
+ notifications:
11
+ email:
12
+ - app2641@gmail.com
13
+ on_success: never
14
+ on_failure: always
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,78 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ translaunder (1.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ addressable (2.3.8)
10
+ coveralls (0.8.2)
11
+ json (~> 1.8)
12
+ rest-client (>= 1.6.8, < 2)
13
+ simplecov (~> 0.10.0)
14
+ term-ansicolor (~> 1.3)
15
+ thor (~> 0.19.1)
16
+ crack (0.4.2)
17
+ safe_yaml (~> 1.0.0)
18
+ diff-lcs (1.2.5)
19
+ docile (1.1.5)
20
+ domain_name (0.5.24)
21
+ unf (>= 0.0.5, < 1.0.0)
22
+ http-cookie (1.0.2)
23
+ domain_name (~> 0.5)
24
+ json (1.8.3)
25
+ mime-types (2.6.1)
26
+ netrc (0.10.3)
27
+ nyan-cat-formatter (0.11)
28
+ rspec (>= 2.99, >= 2.14.2, < 4)
29
+ rake (10.4.2)
30
+ rest-client (1.8.0)
31
+ http-cookie (>= 1.0.2, < 2.0)
32
+ mime-types (>= 1.16, < 3.0)
33
+ netrc (~> 0.7)
34
+ rspec (3.3.0)
35
+ rspec-core (~> 3.3.0)
36
+ rspec-expectations (~> 3.3.0)
37
+ rspec-mocks (~> 3.3.0)
38
+ rspec-core (3.3.2)
39
+ rspec-support (~> 3.3.0)
40
+ rspec-expectations (3.3.1)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.3.0)
43
+ rspec-mocks (3.3.2)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.3.0)
46
+ rspec-support (3.3.0)
47
+ safe_yaml (1.0.4)
48
+ simplecov (0.10.0)
49
+ docile (~> 1.1.0)
50
+ json (~> 1.8)
51
+ simplecov-html (~> 0.10.0)
52
+ simplecov-html (0.10.0)
53
+ term-ansicolor (1.3.2)
54
+ tins (~> 1.0)
55
+ thor (0.19.1)
56
+ tins (1.5.4)
57
+ unf (0.1.4)
58
+ unf_ext
59
+ unf_ext (0.0.7.1)
60
+ vcr (2.9.3)
61
+ webmock (1.21.0)
62
+ addressable (>= 2.3.6)
63
+ crack (>= 0.3.2)
64
+
65
+ PLATFORMS
66
+ ruby
67
+
68
+ DEPENDENCIES
69
+ coveralls
70
+ nyan-cat-formatter
71
+ rake
72
+ rspec
73
+ translaunder!
74
+ vcr
75
+ webmock
76
+
77
+ BUNDLED WITH
78
+ 1.10.6
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 app2641
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
data/README.md ADDED
@@ -0,0 +1,30 @@
1
+ TransLaunder [![Build Status](https://travis-ci.org/app2641/translaunder.svg?branch=master)](https://travis-ci.org/app2641/translaunder) [![Coverage Status](https://coveralls.io/repos/app2641/translaunder/badge.svg?branch=master&service=github)](https://coveralls.io/github/app2641/translaunder?branch=master)
2
+ ====
3
+
4
+ Google翻訳の結果をロンダリングする Gem です。
5
+
6
+ ## Description
7
+
8
+ Googleの翻訳結果を複数適用したテキストを返します。
9
+
10
+ ## Demo
11
+
12
+ ```
13
+ bin/translaunder ja en 事なきを得る
14
+ => 私はKotonakiを取得
15
+ ```
16
+
17
+ ## Install
18
+
19
+ ```
20
+ gem install translaunder
21
+ ```
22
+
23
+ ## License
24
+
25
+ [MIT](https://github.com/app2641/translaunder/blob/master/LICENSE)
26
+
27
+ ## Author
28
+
29
+ [app2641](https://github.com/app2641)
30
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
data/bin/translaunder ADDED
@@ -0,0 +1,16 @@
1
+ #! /usr/bin/env ruby
2
+ require 'rubygems'
3
+
4
+ lib_path = File.dirname(__FILE__)+'/../lib'
5
+ $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
6
+
7
+ require 'translaunder'
8
+
9
+ begin
10
+ params = TransLaunder::InputParser.new(ARGV).parse
11
+ TransLaunder::Main.new(params).translate
12
+ rescue Interrupt # user pressed CTRL+C
13
+ STDERR.puts "\nTranslaunder: exiting due to user request"
14
+ exit 130
15
+ end
16
+
@@ -0,0 +1,33 @@
1
+ #encoding: utf-8
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ module TransLaunder
6
+ class DataRequest
7
+ def initialize params
8
+ @params = params
9
+ end
10
+
11
+ def request
12
+ url = generate_url
13
+
14
+ uri = URI.parse url
15
+ http = Net::HTTP.new(uri.host, uri.port)
16
+ http.use_ssl = true
17
+ request = Net::HTTP::Get.new(uri.request_uri)
18
+ http.request(request)
19
+ rescue SocketError
20
+ OutputManager::display_no_internet_msg
21
+ end
22
+
23
+ private
24
+
25
+ def generate_url
26
+ text = URI.encode @params[:text]
27
+ "https://translate.google.com/translate_a/single?client=t"+
28
+ "&sl=#{@params[:source_lang]}&tl=#{@params[:target_lang]}&hl=ja"+
29
+ "&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at"+
30
+ "&ie=UTF-8&oe=UTF-8&otf=1&ssel=0&tsel=0&kc=6&q=#{text}"
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,32 @@
1
+ #encoding: utf-8
2
+ module TransLaunder
3
+ class InputParser
4
+ def initialize input
5
+ @input = input
6
+ end
7
+
8
+ def parse
9
+ validate
10
+
11
+ {
12
+ source_lang: @input.shift.to_sym,
13
+ target_lang: @input.shift.to_sym,
14
+ text: @input.join(' ')
15
+ }
16
+ end
17
+
18
+ private
19
+
20
+ def validate
21
+ OutputManager::display_help_and_quit if @input.index('-h') || @input.empty?
22
+ OutputManager::display_version_and_quit if @input.index("-v")
23
+ raise ArgumentError if @input.length < 3
24
+
25
+ @input.first(2).each do |lang|
26
+ raise ArgumentError unless [2, 4].include? lang.length
27
+ end
28
+ rescue ArgumentError
29
+ OutputManager::display_error_msg
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,28 @@
1
+ #encoding: utf-8
2
+ module TransLaunder
3
+ class Main
4
+ def initialize params
5
+ @params = params
6
+ end
7
+
8
+ def translate
9
+ text = get_translate_text
10
+
11
+ @params = {
12
+ source_lang: @params[:target_lang],
13
+ target_lang: @params[:source_lang],
14
+ text: text
15
+ }
16
+
17
+ text = get_translate_text
18
+ OutputManager::display_translation text
19
+ end
20
+
21
+ private
22
+
23
+ def get_translate_text
24
+ response = DataRequest.new(@params).request
25
+ ResponseParser.new(response.body).parse
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,43 @@
1
+ #encoding: utf-8
2
+ module TransLaunder
3
+ class OutputManager
4
+ def self.display_help_and_quit
5
+ puts <<-EOS
6
+ ========= TRANSLAUNDER =========
7
+ Usage:
8
+ translaunder 'source_language' 'target_language' 'text'
9
+
10
+ Example:
11
+ translaunder ja en 'やあカウボーイ、馬はどこ?'
12
+ => 'ちょっとカウボーイ、どこに馬がいるのですか?'
13
+
14
+ Options:
15
+ -t - speech synthesis
16
+ -s - synonyms list
17
+
18
+ Check docs at: github.com/app2641/translaunder
19
+ EOS
20
+ exit
21
+ end
22
+
23
+ def self.display_version_and_quit
24
+ puts "TransLaunder #{TransLaunder::VERSION}"
25
+ exit
26
+ end
27
+
28
+ def self.display_error_msg
29
+ puts "TRANSLAUNDER: Wrong data."
30
+ puts "Example: 'translaunder ja en カウボーイ' => 'カウボーイ'"
31
+ exit
32
+ end
33
+
34
+ def self.display_no_internet_msg
35
+ puts "TRANSLAUNDER: There seems to be a problem with your internet connection"
36
+ exit
37
+ end
38
+
39
+ def self.display_translation text
40
+ puts "=> #{text}"
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,32 @@
1
+ #encoding: utf-8
2
+ require 'json'
3
+
4
+ module TransLaunder
5
+ class ResponseParser
6
+ def initialize text
7
+ @text = text
8
+ end
9
+
10
+ def parse
11
+ @text = decode @text
12
+ extract_text
13
+ end
14
+
15
+ private
16
+
17
+ def decode text
18
+ encoding = 'UTF-8'
19
+ text.gsub!(/(\\x26#39;)/, "'")
20
+ text.force_encoding(encoding).encode(encoding)
21
+ end
22
+
23
+ def extract_text
24
+ texts = @text.split("[[[")[1].sub!(/\]\].*/, ']').gsub!(/"/, '').split("],[")
25
+ texts.map! do |t|
26
+ t = t.split(",")
27
+ t.first unless t.first.empty?
28
+ end
29
+ texts.join("")
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,5 @@
1
+
2
+ module TransLaunder
3
+ VERSION = "1.0.0"
4
+ end
5
+
@@ -0,0 +1,12 @@
1
+ #encoding: utf-8
2
+
3
+ require 'translaunder/data_request'
4
+ require 'translaunder/input_parser'
5
+ require 'translaunder/main'
6
+ require 'translaunder/output_manager'
7
+ require 'translaunder/response_parser'
8
+ require 'translaunder/version'
9
+
10
+ module TransLaunder
11
+ end
12
+
@@ -0,0 +1 @@
1
+ [[["I get Kotonaki","事なきを得る",,,0],[,,,"Kotonakiwoeru"]],,"ja",,,[["私 は 得る を",1,[["I get",473,true,false],["Do I get",0,true,false]],[[3,6]],"事なきを得る",0,2],["事なき",2,[["Kotonaki",528,true,false]],[[0,3]],,2,3]],0.11888992,,[["ja"],,[0.11888992]]]
@@ -0,0 +1 @@
1
+ [[["good morning. ","おはよう。",,,10],["Hello. ","こんにちは。",,,10],["good evening","こんばんは",,,10],[,,,"Ohayō. Kon'nichiwa. Konbanwa"]],,"ja",,,[["おはよう。",32000,[["good morning.",0,true,false]],[[0,5]],"おはよう。",0,0],["こんにちは。",64001,[["Hello.",0,true,false],["Hi there",0,true,false]],[[0,6]],"こんにちは。",0,0],["こんばんは",96002,[["good evening",0,true,false],["Evening",0,true,false]],[[0,5]],"こんばんは",0,0]],0.11888992,,[["ja"],,[0.11888992]]]
@@ -0,0 +1 @@
1
+ [[["I'm sorry . ","ごめん。",,,0],["It goodbye","さよならだ",,,0],[,,,"Gomen. Sayonarada"]],,"ja",,,[["ごめん",1,[["I'm sorry",768,true,false],["Sorry",148,true,false],["Gomen",0,true,false],["Am sorry",0,true,false]],[[0,3]],"ごめん。",0,3],[".",2,[[".",768,false,false]],[[3,4]],,3,4],["だ",4,[["It",314,true,false],["I",177,true,false],["But",118,true,false],["It is",45,true,false]],[[4,5]],"さよならだ",0,1],["さよなら",5,[["goodbye",314,true,false],["Sayonara",0,true,false],["Farewell",0,true,false],["bye",0,true,false],["good bye",0,true,false]],[[0,4]],,1,2]],0.11888992,,[["ja"],,[0.11888992]]]
@@ -0,0 +1,46 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'vcr'
4
+ require 'webmock/rspec'
5
+ require 'coveralls'
6
+ Coveralls.wear!
7
+ require_relative '../lib/translaunder'
8
+
9
+ RSpec.configure do |config|
10
+ original_stderr = $stderr
11
+ original_stdout = $stdout
12
+
13
+ config.mock_with :rspec do |c|
14
+ c.syntax = [:should, :expect]
15
+ end
16
+
17
+ config.expect_with :rspec do |c|
18
+ c.syntax = [:should, :expect]
19
+ end
20
+
21
+ #for nyan cat formatter
22
+ config.before(:each) do
23
+ sleep(0.10)
24
+ end
25
+
26
+ # redirect output to file
27
+ config.before(:suite) do
28
+ $stderr = File.new(File.join(File.dirname(__FILE__), 'output.txt'), 'w')
29
+ $stdout = File.new(File.join(File.dirname(__FILE__), 'output.txt'), 'w')
30
+ end
31
+
32
+ config.after(:suite) do
33
+ $stderr = original_stderr
34
+ $stdout = original_stdout
35
+ system "echo '=======Specs output:======='"
36
+ system "cat spec/output.txt"
37
+ File.delete(File.join(File.dirname(__FILE__), 'output.txt'))
38
+ end
39
+ end
40
+
41
+ VCR.configure do |c|
42
+ c.cassette_library_dir = 'spec/fixtures/'
43
+ c.hook_into :webmock
44
+ c.allow_http_connections_when_no_cassette = true
45
+ end
46
+
@@ -0,0 +1,28 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe TransLaunder::DataRequest do
5
+ describe 'request method' do
6
+ let(:params) { {source_lang: 'ja', target_lang: 'en', text: '事なきを得る'} }
7
+ let(:data_request) { TransLaunder::DataRequest.new(params) }
8
+ let(:http) { double 'http' }
9
+
10
+ before do
11
+ expect(http).to receive(:request)
12
+ expect(http).to receive(:use_ssl=)
13
+
14
+ allow(Net::HTTP).to receive(:new).and_return(http)
15
+ end
16
+
17
+ it 'GoogleTranslateへhttpリクエストする' do
18
+ expect { data_request.request }.not_to raise_error
19
+ end
20
+
21
+ it 'エラーが起きたらヘルプメッセージを表示する' do
22
+ allow(http).to receive(:request).and_raise(SocketError)
23
+ expect(TransLaunder::OutputManager).to receive(:display_no_internet_msg)
24
+ data_request.request
25
+ end
26
+ end
27
+ end
28
+
@@ -0,0 +1,40 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe TransLaunder::InputParser do
5
+ describe '#validate' do
6
+ context '入力値が空の場合' do
7
+ it 'ヘルプメッセージを表示する' do
8
+ parser = TransLaunder::InputParser.new []
9
+ expect { parser.parse }.to raise_error SystemExit
10
+ end
11
+ end
12
+
13
+ context '配列の個数が足りない場合' do
14
+ it 'エラーメッセージを表示する' do
15
+ parser = TransLaunder::InputParser.new ['ja', 'en']
16
+ expect { parser.parse }.to raise_error SystemExit
17
+ end
18
+ end
19
+
20
+ context 'オプションの指定がある場合' do
21
+ it 'v オプション' do
22
+ parser = TransLaunder::InputParser.new ['-v']
23
+ expect { parser.parse }.to raise_error SystemExit
24
+ end
25
+
26
+ it 'h オプション' do
27
+ parser = TransLaunder::InputParser.new ['-h']
28
+ expect { parser.parse }.to raise_error SystemExit
29
+ end
30
+ end
31
+
32
+ context '正常な処理' do
33
+ it 'ハッシュを返す' do
34
+ parser = TransLaunder::InputParser.new ['ja', 'en', '事なきを得る']
35
+ expect(parser.parse).to eq({ source_lang: :ja, target_lang: :en, text: '事なきを得る' })
36
+ end
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,26 @@
1
+ #encoding: UTF-8
2
+ require 'spec_helper'
3
+
4
+ describe TransLaunder::Main do
5
+ describe '#translate' do
6
+ before do
7
+ response = double 'response_mock'
8
+ expect(response).to receive(:body).twice.and_return(:good_response)
9
+
10
+ data_request = double 'data_request_mock'
11
+ expect(data_request).to receive(:request).twice.and_return(response)
12
+ expect(TransLaunder::DataRequest).to receive(:new).twice.and_return(data_request)
13
+
14
+ response_parser = double 'response_parser_mock'
15
+ expect(response_parser).to receive(:parse).twice
16
+ expect(TransLaunder::ResponseParser).to receive(:new).twice.and_return(response_parser)
17
+ end
18
+
19
+ context '事なきを得る' do
20
+ it 'translate' do
21
+ TransLaunder::Main.new(source_lang: 'ja', target_lang: 'en', text: '事なきを得る').translate
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,21 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe TransLaunder::OutputManager do
5
+ describe 'output' do
6
+ it 'display error message' do
7
+ methods = [:display_help_and_quit, :display_version_and_quit, :display_error_msg,
8
+ :display_no_internet_msg]
9
+
10
+ methods.each do |method|
11
+ expect {TransLaunder::OutputManager.send(method)}.to raise_error SystemExit
12
+ end
13
+ end
14
+
15
+ it 'display translate message' do
16
+ expect {TransLaunder::OutputManager.send(:display_translation, 'foo')}.to \
17
+ output("=> foo\n").to_stdout
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,38 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe TransLaunder::ResponseParser do
5
+ context 'センテンスがひとつの場合' do
6
+ let(:parser) do
7
+ text = File.open('spec/fixtures/one_sentence.txt').read
8
+ TransLaunder::ResponseParser.new text
9
+ end
10
+
11
+ example '事なきを得る' do
12
+ expect(parser.parse).to eq "I get Kotonaki"
13
+ end
14
+ end
15
+
16
+ context 'センテンスがふたつの場合' do
17
+ let(:parser) do
18
+ text = File.open('spec/fixtures/two_sentences.txt').read
19
+ TransLaunder::ResponseParser.new text
20
+ end
21
+
22
+ example 'ごめん。さよならだ' do
23
+ expect(parser.parse).to eq "I'm sorry . It goodbye"
24
+ end
25
+ end
26
+
27
+ context 'センテンスがみっつの場合' do
28
+ let(:parser) do
29
+ text = File.open('spec/fixtures/three_sentences.txt').read
30
+ TransLaunder::ResponseParser.new text
31
+ end
32
+
33
+ example 'おはよう。こんにちは。こんばんは' do
34
+ expect(parser.parse).to eq 'good morning. Hello. good evening'
35
+ end
36
+ end
37
+ end
38
+
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'translaunder/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "translaunder"
8
+ gem.version = TransLaunder::VERSION
9
+ gem.authors = ["app2641"]
10
+ gem.email = ["app2641@gmail.com"]
11
+ gem.summary = %q{Google翻訳の結果をロンダリングします}
12
+ gem.description = %q{ リクエストしたテキストをGoogle翻訳で複数回翻訳して表示します }
13
+ gem.homepage = "http://github.com/app2641/translaunder"
14
+ gem.files = `git ls-files`.split("\n")
15
+ gem.executables = ['translaunder']
16
+ gem.test_files = gem.files.grep(%r{^(spec)/})
17
+ gem.require_paths = ["lib"]
18
+ gem.license = "MIT"
19
+ gem.add_development_dependency "rspec"
20
+ gem.add_development_dependency "vcr"
21
+ gem.add_development_dependency "webmock"
22
+ gem.add_development_dependency "rake"
23
+ gem.add_development_dependency "coveralls"
24
+ gem.add_development_dependency "nyan-cat-formatter"
25
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: translaunder
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - app2641
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: vcr
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: webmock
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: coveralls
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nyan-cat-formatter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: ' リクエストしたテキストをGoogle翻訳で複数回翻訳して表示します '
98
+ email:
99
+ - app2641@gmail.com
100
+ executables:
101
+ - translaunder
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - .gitignore
106
+ - .rspec
107
+ - .travis.yml
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - LICENSE
111
+ - README.md
112
+ - Rakefile
113
+ - bin/translaunder
114
+ - lib/translaunder.rb
115
+ - lib/translaunder/data_request.rb
116
+ - lib/translaunder/input_parser.rb
117
+ - lib/translaunder/main.rb
118
+ - lib/translaunder/output_manager.rb
119
+ - lib/translaunder/response_parser.rb
120
+ - lib/translaunder/version.rb
121
+ - spec/fixtures/one_sentence.txt
122
+ - spec/fixtures/three_sentences.txt
123
+ - spec/fixtures/two_sentences.txt
124
+ - spec/spec_helper.rb
125
+ - spec/translaunder/data_request_spec.rb
126
+ - spec/translaunder/input_parser_spec.rb
127
+ - spec/translaunder/main_spec.rb
128
+ - spec/translaunder/output_manager_spec.rb
129
+ - spec/translaunder/response_parser_spec.rb
130
+ - translaunder.gemspec
131
+ homepage: http://github.com/app2641/translaunder
132
+ licenses:
133
+ - MIT
134
+ metadata: {}
135
+ post_install_message:
136
+ rdoc_options: []
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ requirements: []
150
+ rubyforge_project:
151
+ rubygems_version: 2.0.14
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: Google翻訳の結果をロンダリングします
155
+ test_files:
156
+ - spec/fixtures/one_sentence.txt
157
+ - spec/fixtures/three_sentences.txt
158
+ - spec/fixtures/two_sentences.txt
159
+ - spec/spec_helper.rb
160
+ - spec/translaunder/data_request_spec.rb
161
+ - spec/translaunder/input_parser_spec.rb
162
+ - spec/translaunder/main_spec.rb
163
+ - spec/translaunder/output_manager_spec.rb
164
+ - spec/translaunder/response_parser_spec.rb