Sha256: d6038e33e1c65229ae817eda581e6dad8845e0493da2a4e062073ae773cc0233

Contents?: true

Size: 1.1 KB

Versions: 7

Compression:

Stored size: 1.1 KB

Contents

require 'rwordnet'

module WORD
  @@WORD = Hash.new { |h,k| if !h.has_key?(k); w = WORD.term(k); if w != false; h[k] = w; end; end }
  # find +word+.
  def self.term word
    ds, df = [], []
    WordNet::Lemma.find_all(word).each { |e|
      ds << e.pos;
      e.synsets.each  { |ee|
        ee.expanded_hypernyms.each { |eee|
          ee.gloss.gsub('"', "").gsub("--", " ").split("; ").each { |eeee|
            df << eeee
            df.uniq!
          }
        }
      }
    }
    #if ds.include?('n') && !ds.include?('v')                                                                                                                                                                                    
    if ds.length > 0
      return  { word: word, pos: ds, def: df }
    else
      return false
    end
  end
  
  # +word+
  def self.[] word
    @@WORD[word]
  end

  # +words+
  def self.keys
    @@WORD.keys
  end
end

module Meiou
  def self.word
    WORD
  end
  def self.meaning(w, ww, &b)
    WORD[w][:def].each { |e| if Regexp.new(ww).match(e); b.call(e); end }
  end
  def self.words
    WORD.keys
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
meiou-0.2.3 lib/meiou/word.rb
meiou-0.2.2 lib/meiou/word.rb
meiou-0.2.0 lib/meiou/word.rb
meiou-0.1.9 lib/meiou/word.rb
meiou-0.1.8 lib/meiou/word.rb
meiou-0.1.7 lib/meiou/word.rb
meiou-0.1.5 lib/meiou/word.rb