lyracyst 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/bin/lyracyst +160 -36
- data/lib/lyracyst.rb +157 -33
- data/lib/lyracyst/rhymebrain.rb +4 -136
- data/lib/lyracyst/rhymebrain/combine.rb +42 -0
- data/lib/lyracyst/rhymebrain/info.rb +73 -0
- data/lib/lyracyst/rhymebrain/rhyme.rb +39 -0
- data/lib/lyracyst/rhymebrain/word.rb +27 -0
- data/lib/lyracyst/urban.rb +62 -0
- data/lib/lyracyst/version.rb +1 -1
- data/lib/lyracyst/wordnik.rb +8 -323
- data/lib/lyracyst/wordnik/define.rb +50 -0
- data/lib/lyracyst/wordnik/example.rb +45 -0
- data/lib/lyracyst/wordnik/hyphen.rb +58 -0
- data/lib/lyracyst/wordnik/origin.rb +76 -0
- data/lib/lyracyst/wordnik/phrase.rb +48 -0
- data/lib/lyracyst/wordnik/pronounce.rb +45 -0
- data/lib/lyracyst/wordnik/relate.rb +48 -0
- data/lib/lyracyst/wordnik/word.rb +43 -0
- metadata +50 -25
- data/LICENSE.md +0 -22
@@ -0,0 +1,50 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Define
|
7
|
+
# Fetches definitions from Wordnik. Parts include:
|
8
|
+
# 'noun,adjective,verb,adverb,interjection,pronoun,
|
9
|
+
# preposition,abbreviation,affix,article,auxiliary-verb,
|
10
|
+
# conjunction,definite-article,family-name,given-name,
|
11
|
+
# idiom,imperative,noun-plural,noun-posessive,
|
12
|
+
# past-participle,phrasal-prefix,proper-noun,
|
13
|
+
# proper-noun-plural,proper-noun-posessive,suffix,
|
14
|
+
# verb-intransitive,verb-transitive'
|
15
|
+
#
|
16
|
+
# @param search [String] The word or phrase to search for.
|
17
|
+
# @param part [String] Comma-separated list of parts of speech.
|
18
|
+
# @param params [Hash] The search parameters to use.
|
19
|
+
def get_def(search, part, params)
|
20
|
+
func, label, result = 'definitions', 'Definition', nil
|
21
|
+
if part != nil then params[:part] = part; end
|
22
|
+
defi = Lyracyst::Wordnik.new
|
23
|
+
result = defi.get_word(search, func, params, result)
|
24
|
+
result = MultiJson.load(result)
|
25
|
+
if result != nil
|
26
|
+
x, y = 0, result.length - 1
|
27
|
+
while x <= y
|
28
|
+
d = result[x]
|
29
|
+
text = d['text']
|
30
|
+
part = d['partOfSpeech']
|
31
|
+
Lyracyst.label(label)
|
32
|
+
print Rainbow("#{part}|").bright
|
33
|
+
puts "#{text}|"
|
34
|
+
if $fmt != nil
|
35
|
+
type = { 'type' => 'definition' }
|
36
|
+
part = { 'part' => part }
|
37
|
+
text = { 'text' => text}
|
38
|
+
$tofile.push type
|
39
|
+
$tofile.push part
|
40
|
+
$tofile.push text
|
41
|
+
end
|
42
|
+
x += 1
|
43
|
+
end
|
44
|
+
else
|
45
|
+
puts 'Wordnik returned an empty string.'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Example
|
7
|
+
# Fetches examples from Wordnik.
|
8
|
+
#
|
9
|
+
# @param search [String] The word or phrase to search for.
|
10
|
+
# @param params [Hash] The search parameters to use.
|
11
|
+
def get_ex(search, params)
|
12
|
+
func, label, result = 'examples', 'Example', nil
|
13
|
+
exam = Lyracyst::Wordnik.new
|
14
|
+
result = exam.get_word(search, func, params, result)
|
15
|
+
result = MultiJson.load(result)
|
16
|
+
result = result['examples']
|
17
|
+
if result != nil
|
18
|
+
x, y = 0, result.length - 1
|
19
|
+
while x <= y
|
20
|
+
ex = result[x]
|
21
|
+
title = ex['title']
|
22
|
+
text = ex['text']
|
23
|
+
url = ex['url']
|
24
|
+
Lyracyst.label(label)
|
25
|
+
print Rainbow("#{title}➜").bright
|
26
|
+
puts "#{text}➜#{url}➜"
|
27
|
+
if $fmt != nil
|
28
|
+
ty = { 'type' => 'example' }
|
29
|
+
ti = { 'title' => title }
|
30
|
+
te = { 'text' => text }
|
31
|
+
u = { 'url' => url }
|
32
|
+
$tofile.push ty
|
33
|
+
$tofile.push ti
|
34
|
+
$tofile.push te
|
35
|
+
$tofile.push u
|
36
|
+
end
|
37
|
+
x += 1
|
38
|
+
end
|
39
|
+
else
|
40
|
+
puts 'Wordnik failed to fetch word info.'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Hyphen
|
7
|
+
# Fetches hyphenations from Wordnik.
|
8
|
+
#
|
9
|
+
# @param search [String] The word or phrase to search for.
|
10
|
+
# @param params [Hash] The search parameters to use.
|
11
|
+
def get_hyph(search, params)
|
12
|
+
func, label, result = 'hyphenation', 'Hyphenation', nil
|
13
|
+
hyph = Lyracyst::Wordnik.new
|
14
|
+
result = hyph.get_word(search, func, params, result)
|
15
|
+
result = MultiJson.load(result)
|
16
|
+
if result != nil
|
17
|
+
x, y, hcont = 0, result.length - 1, []
|
18
|
+
Lyracyst.label(label)
|
19
|
+
while x <= y
|
20
|
+
hy = result[x]
|
21
|
+
ht = hy['text']
|
22
|
+
if $fmt !=nil
|
23
|
+
t = { 'type' => 'hyphenation' }
|
24
|
+
$tofile.push t
|
25
|
+
end
|
26
|
+
if hy['type'] == 'stress'
|
27
|
+
stress = 'primary'
|
28
|
+
sh = { ht => stress }
|
29
|
+
h = { 'syllable' => sh}
|
30
|
+
if $fmt != nil
|
31
|
+
$tofile.push h
|
32
|
+
end
|
33
|
+
hcont.push Rainbow(ht).red.bright
|
34
|
+
elsif hy['type'] == 'secondary stress'
|
35
|
+
stress = 'secondary'
|
36
|
+
sh = { ht => stress }
|
37
|
+
h = { 'syllable' => sh}
|
38
|
+
if $fmt != nil
|
39
|
+
$tofile.push h
|
40
|
+
end
|
41
|
+
hcont.push Rainbow(ht).bright
|
42
|
+
else
|
43
|
+
if $fmt != nil
|
44
|
+
h = { 'syllable' => ht}
|
45
|
+
$tofile.push h
|
46
|
+
end
|
47
|
+
hcont.push ht
|
48
|
+
end
|
49
|
+
x += 1
|
50
|
+
end
|
51
|
+
puts hcont.join('-')
|
52
|
+
else
|
53
|
+
puts 'Wordnik failed to fetch word info.'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Origin
|
7
|
+
# Fetches etymologies from Wordnik.
|
8
|
+
#
|
9
|
+
# @param search [String] The word or phrase to search for.
|
10
|
+
# @param params [Hash] The search parameters to use.
|
11
|
+
def get_et(search, params)
|
12
|
+
func, label, result = 'etymologies', 'Etymology', nil
|
13
|
+
etymology = Lyracyst::Wordnik.new
|
14
|
+
extra = Lyracyst::Wordnik::Origin.new
|
15
|
+
result = etymology.get_word(search, func, params, result)
|
16
|
+
if result != nil && result != '[]'
|
17
|
+
result = MultiJson.load(result)
|
18
|
+
a, b, cont = 0, result.length - 1, []
|
19
|
+
if $fmt != nil
|
20
|
+
type = { 'type' => 'etymology'}
|
21
|
+
$tofile.push type
|
22
|
+
end
|
23
|
+
while a <= b
|
24
|
+
xml = result[a]
|
25
|
+
xml = MultiXml.parse(xml)
|
26
|
+
root = xml['ety']
|
27
|
+
content, ets, er = root['__content__'], root['ets'], root['er']
|
28
|
+
if $fmt != nil
|
29
|
+
root = { 'root' => content }
|
30
|
+
$tofile.push root
|
31
|
+
end
|
32
|
+
Lyracyst.label(label)
|
33
|
+
print "#{content}|"
|
34
|
+
if ets != nil
|
35
|
+
extra.origin_extra(ets)
|
36
|
+
else
|
37
|
+
puts ''
|
38
|
+
end
|
39
|
+
if er != nil
|
40
|
+
print '|'
|
41
|
+
extra.origin_extra(er)
|
42
|
+
else
|
43
|
+
puts ''
|
44
|
+
end
|
45
|
+
a += 1
|
46
|
+
puts ''
|
47
|
+
end
|
48
|
+
else
|
49
|
+
puts 'Wordnik failed to fetch word info.'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
def origin_extra(obj)
|
53
|
+
a, b, container = 0, obj.length - 1, []
|
54
|
+
while a <= b
|
55
|
+
if b == 0
|
56
|
+
content = obj['__content__']
|
57
|
+
container.push content
|
58
|
+
if $fmt != nil
|
59
|
+
node = { 'node' => content }
|
60
|
+
$tofile.push node
|
61
|
+
end
|
62
|
+
else
|
63
|
+
content = obj[a]
|
64
|
+
container.push content['__content__']
|
65
|
+
if $fmt != nil
|
66
|
+
node = { 'node' => content}
|
67
|
+
$tofile.push node
|
68
|
+
end
|
69
|
+
end
|
70
|
+
a += 1
|
71
|
+
end
|
72
|
+
print "#{container.join('|')}"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Phrase
|
7
|
+
# Fetches bi-gram phrases from Wordnik.
|
8
|
+
#
|
9
|
+
# @param search [String] The word or phrase to search for.
|
10
|
+
# @param params [Hash] The search parameters to use.
|
11
|
+
def get_phr(search, params)
|
12
|
+
func, label, result = 'phrases', 'Bi-gram phrases', nil
|
13
|
+
phr = Lyracyst::Wordnik.new
|
14
|
+
result = phr.get_word(search, func, params, result)
|
15
|
+
result = MultiJson.load(result)
|
16
|
+
if result != nil
|
17
|
+
x, y, phcont = 0, result.length - 1, []
|
18
|
+
Lyracyst.label(label)
|
19
|
+
if $fmt != nil
|
20
|
+
type = { 'type' => 'phrase' }
|
21
|
+
$tofile.push type
|
22
|
+
end
|
23
|
+
while x <= y
|
24
|
+
ph = result[x]
|
25
|
+
one = ph['gram1']
|
26
|
+
two = ph['gram2']
|
27
|
+
if $fmt != nil
|
28
|
+
g1 = { 'gram1' => one }
|
29
|
+
g2 = { 'gram2' => two }
|
30
|
+
$tofile.push g1
|
31
|
+
$tofile.push g2
|
32
|
+
end
|
33
|
+
if one == search
|
34
|
+
item = "#{Rainbow(one).bright}➜#{two}"
|
35
|
+
else
|
36
|
+
item = "#{one}➜#{Rainbow(two).bright}"
|
37
|
+
end
|
38
|
+
phcont.push item
|
39
|
+
x += 1
|
40
|
+
end
|
41
|
+
puts "#{phcont.join('➜')}"
|
42
|
+
else
|
43
|
+
puts 'Wordnik failed to fetch word info.'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Pronounce
|
7
|
+
# Fetches pronunciations from Wordnik. Types include ['ahd'
|
8
|
+
# 'arpabet', 'gcide-diacritical', 'IPA']
|
9
|
+
#
|
10
|
+
# @param search [String] The word or phrase to search for.
|
11
|
+
# @param params [Hash] The search parameters to use.
|
12
|
+
# @param ptype [String] Pronunciation type.
|
13
|
+
def get_pro(search, params, ptype)
|
14
|
+
func, label, result = 'pronunciations', 'Pronunciation', nil
|
15
|
+
if ptype != nil then params[:tformat] = ptype; end
|
16
|
+
pron = Lyracyst::Wordnik.new
|
17
|
+
result = pron.get_word(search, func, params, result)
|
18
|
+
result = MultiJson.load(result)
|
19
|
+
if result != nil
|
20
|
+
x, y = 0, result.length - 1
|
21
|
+
if $fmt != nil
|
22
|
+
type = { 'type' => 'pronunciation' }
|
23
|
+
$tofile.push type
|
24
|
+
end
|
25
|
+
while x <= y
|
26
|
+
pro = result[x]
|
27
|
+
rawtype = pro['rawType']
|
28
|
+
raw = pro['raw']
|
29
|
+
Lyracyst.label(label)
|
30
|
+
puts "#{raw}|#{rawtype}|"
|
31
|
+
if $fmt != nil
|
32
|
+
pronunciation = { 'pronunciation' => raw }
|
33
|
+
ptype = { 'type' => rawType }
|
34
|
+
$tofile.push pronunciation
|
35
|
+
$tofile.push ptype
|
36
|
+
end
|
37
|
+
x += 1
|
38
|
+
end
|
39
|
+
else
|
40
|
+
puts 'Wordnik failed to fetch word info.'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
class Wordnik
|
6
|
+
class Relate
|
7
|
+
# Fetches related words from Wordnik. Types include ['synonym',
|
8
|
+
# 'antonym', 'variant', 'equivalent', 'cross-reference',
|
9
|
+
# 'related-word', 'rhyme', 'form', 'etymologically-related-term',
|
10
|
+
# 'hypernym', 'hyponym', 'inflected-form', 'primary', 'same-context',
|
11
|
+
# 'verb-form', 'verb-stem']
|
12
|
+
#
|
13
|
+
# @param search [String] The word or phrase to search for.
|
14
|
+
# @param params [Hash] The search parameters to use.
|
15
|
+
# @param reltypes [String] Relationship type.
|
16
|
+
def get_rel(search, params, reltypes)
|
17
|
+
func, label, result = 'relatedWords', 'Related words', nil
|
18
|
+
if reltypes != nil then params[:reltypes] = reltypes; end
|
19
|
+
rel = Lyracyst::Wordnik.new
|
20
|
+
result = rel.get_word(search, func, params, result)
|
21
|
+
result = MultiJson.load(result)
|
22
|
+
if result != nil
|
23
|
+
x, y = 0, result.length - 1
|
24
|
+
if $fmt != nil
|
25
|
+
type = { 'type' => 'related words' }
|
26
|
+
$tofile.push type
|
27
|
+
end
|
28
|
+
while x <= y
|
29
|
+
re = result[x]
|
30
|
+
words, type = re['words'], re['relationshipType']
|
31
|
+
Lyracyst.label(label)
|
32
|
+
print Rainbow("#{type}|").bright
|
33
|
+
puts "#{words.join('|')}"
|
34
|
+
if $fmt != nil
|
35
|
+
words = { 'words' => words }
|
36
|
+
rtype = { 'relationship type' => type }
|
37
|
+
$tofile.push words
|
38
|
+
$tofile.push rtype
|
39
|
+
end
|
40
|
+
x += 1
|
41
|
+
end
|
42
|
+
else
|
43
|
+
puts 'Wordnik failed to fetch word info.'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
%w{httpi multi_json multi_xml rainbow}.map {|lib| require lib}
|
3
|
+
|
4
|
+
module Lyracyst
|
5
|
+
# Wordnik.com's service provides definitions, examples,
|
6
|
+
# related words, pronunciations, hyphenation, phrases,
|
7
|
+
# and etymologies.
|
8
|
+
class Wordnik
|
9
|
+
# Fetches dynamically generated URL. Functions are definitions,
|
10
|
+
# examples, relatedWords, pronunciations, hyphenation, phrases,
|
11
|
+
# and etymologies.
|
12
|
+
#
|
13
|
+
# @param search [String] The word or phrase to search for.
|
14
|
+
# @param func [String] The search function to use.
|
15
|
+
# @param params [Hash] The search parameters to use.
|
16
|
+
# @param result [String] The search response.
|
17
|
+
def get_word(search, func, params, result)
|
18
|
+
prefix = 'http://api.wordnik.com:80/v4/word.json/'
|
19
|
+
word, pcont = "#{prefix}#{search}/#{func}?", []
|
20
|
+
params.map { |k,v|
|
21
|
+
if k == :canon then pcont.push "useCanonical=#{v}&"; end
|
22
|
+
if k == :incdups then pcont.push "includeDuplicates=#{v}&"; end
|
23
|
+
if k == :increl then pcont.push "includeRelated=#{v}&"; end
|
24
|
+
if k == :inctags then pcont.push "includeTags=#{v}&"; end
|
25
|
+
if k == :limit then pcont.push "limit=#{v}&"; end
|
26
|
+
if k == :part then pcont.push "partOfSpeech=#{v}&"; end
|
27
|
+
if k == :rellimit then pcont.push "limitPerRelationshipType=#{v}&"; end
|
28
|
+
if k == :reltypes then pcont.push "relationshipTypes=#{v}&"; end
|
29
|
+
if k == :skip then pcont.push "skip=#{v}&"; end
|
30
|
+
if k == :source then pcont.push "sourceDictionary=#{v}&"; end
|
31
|
+
if k == :defdict then pcont.push "sourceDictionaries=#{v}&"; end
|
32
|
+
if k == :tformat then pcont.push "typeFormat=#{v}&"; end
|
33
|
+
if k == :wlmi then pcont.push "wlmi=#{v}&"; end
|
34
|
+
}
|
35
|
+
apikey = ENV['WORDNIK']
|
36
|
+
pcont.push "api_key=#{apikey}"
|
37
|
+
url = "#{word}#{pcont.join}"
|
38
|
+
request = HTTPI::Request.new(url)
|
39
|
+
getter = HTTPI.get(request)
|
40
|
+
result = getter.body
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lyracyst
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Drew Prentice
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.6'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.6'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: gli
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +80,20 @@ dependencies:
|
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: xml-fu
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.2'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: aruba
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,33 +109,33 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.5'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: bundler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '1.6'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '1.6'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: coveralls
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '0.7'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '0.7'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rake
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '10.3'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: spinach
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.8'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.8'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: yard
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,8 +178,7 @@ dependencies:
|
|
164
178
|
- - "~>"
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0.8'
|
167
|
-
description: Search Wordnik
|
168
|
-
line.
|
181
|
+
description: Search Wordnik and Rhymebrain from the command line.
|
169
182
|
email: weirdpercent@gmail.com
|
170
183
|
executables:
|
171
184
|
- lyracyst
|
@@ -173,12 +186,24 @@ extensions: []
|
|
173
186
|
extra_rdoc_files: []
|
174
187
|
files:
|
175
188
|
- CHANGELOG.md
|
176
|
-
- LICENSE.md
|
177
189
|
- bin/lyracyst
|
178
190
|
- lib/lyracyst.rb
|
179
191
|
- lib/lyracyst/rhymebrain.rb
|
192
|
+
- lib/lyracyst/rhymebrain/combine.rb
|
193
|
+
- lib/lyracyst/rhymebrain/info.rb
|
194
|
+
- lib/lyracyst/rhymebrain/rhyme.rb
|
195
|
+
- lib/lyracyst/rhymebrain/word.rb
|
196
|
+
- lib/lyracyst/urban.rb
|
180
197
|
- lib/lyracyst/version.rb
|
181
198
|
- lib/lyracyst/wordnik.rb
|
199
|
+
- lib/lyracyst/wordnik/define.rb
|
200
|
+
- lib/lyracyst/wordnik/example.rb
|
201
|
+
- lib/lyracyst/wordnik/hyphen.rb
|
202
|
+
- lib/lyracyst/wordnik/origin.rb
|
203
|
+
- lib/lyracyst/wordnik/phrase.rb
|
204
|
+
- lib/lyracyst/wordnik/pronounce.rb
|
205
|
+
- lib/lyracyst/wordnik/relate.rb
|
206
|
+
- lib/lyracyst/wordnik/word.rb
|
182
207
|
homepage: http://github.com/weirdpercent/lyracyst
|
183
208
|
licenses:
|
184
209
|
- MIT
|