ruby_rhymes 0.1.1 → 0.1.2

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.
@@ -1,5 +1,5 @@
1
1
  # RubyRhymes is meant to facilitate the creation of automated poetry
2
- # Authors:: Vlad Shulman (vshulman@github) and Thomas Kleibus (thomas-kielbus@github)
2
+ # Authors:: Vlad Shulman (vshulman@github) and Thomas Kielbus (thomas-kielbus@github)
3
3
  # License:: Distributes under the same terms as Ruby
4
4
 
5
5
  # this class is the gateway to generating exciting poetry. Use it like this:
@@ -11,9 +11,11 @@
11
11
  # => 6
12
12
 
13
13
  class Phrase
14
+ attr_accessor :phrase
14
15
  def initialize(phrase)
15
16
  @phrase_tokens = Phrase.clean_and_tokenize(phrase)
16
-
17
+ raise "Not a valid phrase" if @phrase_tokens.empty?
18
+ @phrase = phrase
17
19
  # [[p1a,p1b],[p2],p3]
18
20
  @pronunciations = @phrase_tokens.map{|pt| Pronunciations.get_pronunciations(pt)} #pronunciation objects
19
21
  @last_word_pronunciation = @pronunciations.last
@@ -50,6 +52,15 @@ class Phrase
50
52
  rhymes.empty? ? [] : @rhymes.values.flatten
51
53
  end
52
54
 
55
+ # returns the last word in the phrase (the one used for rhyming)
56
+ def last_word
57
+ @last_word_pronunciation.first.word.downcase
58
+ end
59
+
60
+ def to_s
61
+ @phrase
62
+ end
63
+
53
64
  private
54
65
 
55
66
  # lazy loading action
@@ -65,7 +76,7 @@ class Phrase
65
76
 
66
77
  # we upcase because our dictionary files are upcased
67
78
  def self.clean_and_tokenize(phrase)
68
- phrase.upcase.gsub(/[^A-Z ]/,"").split
79
+ phrase.upcase.gsub(/[^A-Z ']/,"").split
69
80
  end
70
81
 
71
82
  # Pronunciations does the heavy lifting, interfacing with the mythical text file of doom
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_rhymes
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Vlad Shulman
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-10-11 00:00:00 Z
19
+ date: 2011-11-29 00:00:00 Z
20
20
  dependencies: []
21
21
 
22
22
  description: A gem for rhyming words and counting syllables on phrases
@@ -33,6 +33,8 @@ files:
33
33
  - lib/ruby_rhymes.rb
34
34
  - lib/syllable_arrays.rb
35
35
  - lib/words.txt
36
+ - doc/_index.html
37
+ - doc/class_list.html
36
38
  - doc/classes/Phrase/Pronunciation.html
37
39
  - doc/classes/Phrase/Pronunciation.src/M000010.html
38
40
  - doc/classes/Phrase/Pronunciation.src/M000011.html
@@ -51,15 +53,29 @@ files:
51
53
  - doc/classes/String.html
52
54
  - doc/classes/String.src/M000013.html
53
55
  - doc/created.rid
56
+ - doc/css/common.css
57
+ - doc/css/full_list.css
58
+ - doc/css/style.css
59
+ - doc/file.README.html
60
+ - doc/file_list.html
54
61
  - doc/files/lib/ruby_rhymes_rb.html
55
62
  - doc/files/lib/syllable_arrays_rb.html
56
63
  - doc/fr_class_index.html
57
64
  - doc/fr_file_index.html
58
65
  - doc/fr_method_index.html
66
+ - doc/frames.html
59
67
  - doc/index.html
68
+ - doc/js/app.js
69
+ - doc/js/full_list.js
70
+ - doc/js/jquery.js
71
+ - doc/method_list.html
72
+ - doc/Phrase/Pronunciation.html
73
+ - doc/Phrase/Pronunciations.html
74
+ - doc/Phrase.html
60
75
  - doc/rdoc-style.css
76
+ - doc/String.html
77
+ - doc/top-level-namespace.html
61
78
  - README.md
62
- - README.rdoc
63
79
  homepage: https://github.com/vshulman/RubyRhymes
64
80
  licenses: []
65
81
 
@@ -1 +0,0 @@
1
- test