lyracyst 0.0.8 → 0.0.9
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 +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
|