Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/rubykeyword.rb
Instance Method Summary collapse
- #define ⇒ Object
- #distance(hip, hop) ⇒ Object
- #example ⇒ Object
- #example_string ⇒ Object
- #keyword? ⇒ Boolean
- #seek ⇒ Object
- #set_keywords ⇒ Object
Instance Method Details
#define ⇒ Object
14 15 16 17 |
# File 'lib/rubykeyword.rb', line 14 def define set_keywords return keyword? ? @keywords[self]['definition'] : false end |
#distance(hip, hop) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rubykeyword.rb', line 19 def distance hip, hop case when hip.empty? then hop.length when hop.empty? then hip.length else [(hip[0] == hop[0] ? 0 : 1) + distance(hip[1..-1], hop[1..-1]), 1 + distance(hip[1..-1], hop), 1 + distance(hop, hip[1..-1])].min end end |
#example ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/rubykeyword.rb', line 48 def example set_keywords if keyword? puts @keywords[self].has_key?('example') ? @keywords[self]['example'].join("\n") : "No example" else return false end end |
#example_string ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/rubykeyword.rb', line 39 def example_string set_keywords if keyword? return @keywords[self].has_key?('example') ? @keywords[self]['example'].join("\n") : "No example" else return false end end |
#keyword? ⇒ Boolean
9 10 11 12 |
# File 'lib/rubykeyword.rb', line 9 def keyword? set_keywords return (@keywords.keys.include? self) end |
#seek ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/rubykeyword.rb', line 30 def seek set_keywords result = [] @keywords.keys.each do |keyword| result << keyword if distance(self.downcase, keyword.downcase) <= keyword.length / 2 end result end |
#set_keywords ⇒ Object
5 6 7 |
# File 'lib/rubykeyword.rb', line 5 def set_keywords @keywords = YAML::load( File.open( "#{File. File.dirname(__FILE__)}/settings.yaml" ) ) end |