rubykeyword 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rubykeyword.rb +19 -0
  2. metadata +24 -44
data/lib/rubykeyword.rb CHANGED
@@ -16,6 +16,25 @@ class String
16
16
  return keyword? ? @keywords[self]['definition'] : false
17
17
  end
18
18
 
19
+ def distance hip, hop
20
+ case
21
+ when hip.empty? then hop.length
22
+ when hop.empty? then hip.length
23
+ else
24
+ [(hip[0] == hop[0] ? 0 : 1) + distance(hip[1..-1], hop[1..-1]),
25
+ 1 + distance(hip[1..-1], hop),
26
+ 1 + distance(hop, hip[1..-1])].min
27
+ end
28
+ end
29
+
30
+ def seek
31
+ set_keywords
32
+ result = []
33
+ @keywords.keys.each do |keyword|
34
+ result << keyword if distance(self.downcase, keyword.downcase) <= keyword.length / 2
35
+ end
36
+ result
37
+ end
19
38
 
20
39
  def example_string
21
40
  set_keywords
metadata CHANGED
@@ -1,69 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rubykeyword
3
- version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 3
10
- version: 0.0.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Edwin Rozario
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-07 00:00:00 +05:30
19
- default_executable:
12
+ date: 2012-08-21 00:00:00.000000000 Z
20
13
  dependencies: []
21
-
22
14
  description: Checks if a given string is a ruby keyword. Also defines the keyword
23
- email:
24
- - rozarioe@gmail.com
15
+ and seek similar keywords.
16
+ email:
17
+ - rozarioed@gmail.com
25
18
  executables: []
26
-
27
19
  extensions: []
28
-
29
20
  extra_rdoc_files: []
30
-
31
- files:
21
+ files:
32
22
  - lib/rubykeyword.rb
33
23
  - lib/settings.yaml
34
- has_rdoc: true
35
24
  homepage: https://github.com/EdwinRozario/RubyKeyword
36
25
  licenses: []
37
-
38
26
  post_install_message:
39
27
  rdoc_options: []
40
-
41
- require_paths:
28
+ require_paths:
42
29
  - lib
43
- required_ruby_version: !ruby/object:Gem::Requirement
30
+ required_ruby_version: !ruby/object:Gem::Requirement
44
31
  none: false
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- hash: 3
49
- segments:
50
- - 0
51
- version: "0"
52
- required_rubygems_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
37
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
61
42
  requirements: []
62
-
63
43
  rubyforge_project:
64
- rubygems_version: 1.3.7
44
+ rubygems_version: 1.8.24
65
45
  signing_key:
66
46
  specification_version: 3
67
- summary: String Extend
47
+ summary: Checks if a given string is a ruby keyword. Also defines the keyword
68
48
  test_files: []
69
-
49
+ has_rdoc: