Module: Codic
- Defined in:
- lib/codic.rb,
lib/codic/cli.rb,
lib/codic/version.rb
Defined Under Namespace
Modules: ContentCushion
Classes: CLI, CodicError
Constant Summary
collapse
- URL_ROOT =
"http://codic.jp"
- VERSION =
"0.0.3"
Class Method Summary
collapse
Class Method Details
.display(result) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/codic.rb', line 56
def display(result)
case result[:type]
when "english"
unless result[:flections] == ""
puts result[:flections]
puts
end
result[:words].each do |w|
puts "#{w[:no]}. #{w[:translated]} [#{w[:class_ja]}]"
end
when "naming"
result[:words].each do |w|
puts "#{w[:translated]} [#{w[:class_ja]}]"
unless w[:description] == ""
puts " #{w[:description]}"
puts
end
end
when "suggest"
result[:suggests].each do |s|
puts "#{s[:title]} #{s[:description]}"
end
else
raise ArgumentError, "Invalid Type"
end
end
|
.search(word) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/codic.rb', line 43
def search(word)
raise ArgumentError, "word is empty" if word.gsub(/\s/, "") == ""
@doc = Nokogiri::HTML(open(URI.encode("#{Codic::URL_ROOT}/search?q=#{word}")))
raise CodicError, "Not Found" unless found?
case entry_type
when "english"
analyse_english
when "naming"
analyse_naming
end
end
|
.suggest(word, dic) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/codic.rb', line 24
def suggest(word, dic)
res = JSON.parse(open(URI.encode("#{Codic::URL_ROOT}/suggest?q=#{word}&dic=#{dic}"),
"Accept" => "application/json, text/javascript, */*; q=0.01",
"X-Requested-With" => "XMLHttpRequest").read)
res["titles"].map! { |t| t.gsub(/\<\/?mark\>/, '') }
suggests = res["titles"].zip(res["descriptions"], res["urls"]).map do |t, d, u|
{
title: t,
description: d,
url: u
}
end
{
type: "suggest",
suggests: suggests
}
end
|