ridic 0.6.2 → 0.6.3

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.
data/.DS_Store ADDED
Binary file
data/README.md CHANGED
@@ -43,6 +43,8 @@ category_number refers to the “column”, or category hierarchy. In the case o
43
43
 
44
44
  "ALE" => ["ORALITY","NEED","PRIMARY"]
45
45
 
46
+ The full dictionary can be found in its original format at the URL provided at the top of the page, or in hash table format
47
+ within lib/ridic/dictionary.rb
46
48
  ## Contributing
47
49
 
48
50
  1. Fork it
data/lib/.DS_Store ADDED
Binary file
data/lib/ridic/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RiDic
2
- VERSION = "0.6.2"
2
+ VERSION = "0.6.3"
3
3
  end
data/lib/ridic.rb CHANGED
@@ -1,21 +1,33 @@
1
1
  require "ridic/version"
2
2
  require "ridic/dictionary"
3
+ require 'benchmark'
3
4
 
4
5
  module RiDic
5
6
  def self.word_match(text_word)
6
- dictionary_1 = RiDic::Dictionary.words[text_word.upcase]
7
- dictionary_1 == nil ? RiDic::Dictionary.word_stems[text_word.upcase] : dictionary_1
7
+ text_word.upcase!
8
+ dictionary_1 = RiDic::Dictionary.words[text_word]
9
+ dictionary_1 == nil ? RiDic::Dictionary.word_stems[text_word] : dictionary_1
8
10
  end
9
11
 
10
12
  def self.stem_match(text_word)
11
13
  text_word.upcase!
12
- RiDic::Dictionary.word_stems.each {|key, value| (return value) if text_word.match("^#{key}")}
14
+ until text_word.length < 3
15
+ text_word = text_word[0...-1]
16
+ dictionary_2 = RiDic::Dictionary.word_stems[text_word]
17
+ (return dictionary_2) if dictionary_2 != nil
18
+ end
13
19
  nil
14
20
  end
15
21
 
16
22
  def self.all_categories_in_document(document_text, result = [])
17
- sanitize(document_text).split(' ').each do |elem|
18
- word_match(elem) == nil ? result << stem_match(elem) : result << word_match(elem)
23
+ sanitize(document_text).split(' ').each do |elem|
24
+ word_res = word_match(elem)
25
+ if word_res == nil
26
+ stem_res = stem_match(elem)
27
+ result.push(stem_res) if stem_res != nil
28
+ else
29
+ result << word_res
30
+ end
19
31
  end
20
32
  result
21
33
  end
@@ -26,13 +38,15 @@ module RiDic
26
38
  end
27
39
 
28
40
  def self.category_distribution(document_text, category_number = 1, result = Hash.new(0))
29
- first_categories = category_in_document(sanitize(document_text), category_number).delete_if {|i| i == nil}
41
+ first_categories = category_in_document(sanitize(document_text.upcase), category_number)
30
42
  first_categories.each {|elem| result[elem.first] += 1}
31
43
  sort_distribution(result)
32
44
  end
33
45
 
34
46
  private
35
47
 
48
+ # general private methods
49
+
36
50
  def self.sort_distribution(distribution_set, result = Hash.new)
37
51
  distribution_set.sort_by {|key, value| value}.reverse.each {|i| result[i[0]] = i[1]}
38
52
  result
@@ -42,3 +56,4 @@ module RiDic
42
56
  document_text.split(' ').each {|word| word.gsub!(/\W/, '')}.join(' ')
43
57
  end
44
58
  end
59
+
data/spec/ridic_spec.rb CHANGED
@@ -25,8 +25,8 @@ describe 'RiDic' do
25
25
  let(:document_text) {"splendid and sublime ale critiqued and bit the harlot of an apple"}
26
26
  let(:categories_result){RiDic.all_categories_in_document(document_text)}
27
27
 
28
- it 'returns an element for every word in the document' do
29
- categories_result.length.should eql(document_text.split.length)
28
+ it 'returns an element for every word match in the document' do
29
+ categories_result.length.should eql(5)
30
30
  end
31
31
 
32
32
  it 'correctly evaluates the first dictionary item' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-28 00:00:00.000000000 Z
12
+ date: 2013-01-02 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ruby gem wrapper for the Regressive Imagery Dictionary
15
15
  email:
@@ -18,11 +18,13 @@ executables: []
18
18
  extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
+ - .DS_Store
21
22
  - .gitignore
22
23
  - Gemfile
23
24
  - LICENSE.txt
24
25
  - README.md
25
26
  - Rakefile
27
+ - lib/.DS_Store
26
28
  - lib/ridic.rb
27
29
  - lib/ridic/dictionary.rb
28
30
  - lib/ridic/version.rb