acts_as_tokenizable 0.4.0 → 0.5.0
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/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/acts_as_tokenizable.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{acts_as_tokenizable}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Enrique Garcia Cota}, %q{Francisco de Juan}]
|
@@ -27,10 +27,8 @@ Gem::Specification.new do |s|
|
|
27
27
|
"init.rb",
|
28
28
|
"lib/acts_as_tokenizable.rb",
|
29
29
|
"lib/acts_as_tokenizable/acts_as_tokenizable.rb",
|
30
|
-
"lib/acts_as_tokenizable/
|
30
|
+
"lib/acts_as_tokenizable/string_utils.rb",
|
31
31
|
"lib/tasks/acts_as_tokenizable.rake",
|
32
|
-
"pkg/acts_as_tokenizable-0.1.0.gem",
|
33
|
-
"pkg/acts_as_tokenizable-0.2.0.gem",
|
34
32
|
"test/helper.rb",
|
35
33
|
"test/test_acts_as_tokenizable.rb"
|
36
34
|
]
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'acts_as_tokenizable/
|
1
|
+
require 'acts_as_tokenizable/string_utils'
|
2
2
|
|
3
3
|
module ActsAsTokenizable
|
4
4
|
|
@@ -21,7 +21,7 @@ module ActsAsTokenizable
|
|
21
21
|
# stop words, replacing words.
|
22
22
|
# By default it tokenizes each word and removes duplicates.
|
23
23
|
def prepare_search_token(search_token)
|
24
|
-
|
24
|
+
StringUtils::words_to_token(search_token)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -1,11 +1,8 @@
|
|
1
|
-
|
1
|
+
require 'babosa' # ensure that the babosa gem is loaded
|
2
2
|
|
3
|
-
|
3
|
+
module ActsAsTokenizable
|
4
4
|
|
5
|
-
|
6
|
-
def self.normalize(str)
|
7
|
-
str.mb_chars.normalize(:d).gsub(/[^\x00-\x7F]/n,'').to_s
|
8
|
-
end
|
5
|
+
module StringUtils
|
9
6
|
|
10
7
|
#returns true if numeric, false, otherwise
|
11
8
|
def self.numeric?(str)
|
@@ -49,16 +46,12 @@ module ActsAsTokenizable
|
|
49
46
|
|
50
47
|
#convert into something that can be used as an indexation key
|
51
48
|
def self.to_token(str, max_length=255)
|
52
|
-
|
49
|
+
# to_slug and normalize are provided by the 'babosa' gem
|
50
|
+
str = str.to_slug.normalize.strip.downcase.gsub(/[^\w|-]/, '') #remove all non-alphanumeric but hyphen (-)
|
53
51
|
str = str.squeeze unless numeric?(str) #remove duplicates, except on pure numbers
|
54
52
|
return str[0..(max_length-1)]
|
55
53
|
end
|
56
54
|
|
57
|
-
#convert into something that can be used on links
|
58
|
-
def self.to_slug(str, separator='-')
|
59
|
-
words(normalize(str.strip.downcase)).join(separator)
|
60
|
-
end
|
61
|
-
|
62
55
|
#tokenizes each word individually, and joins the word with the separator char.
|
63
56
|
def self.words_to_token(str, max_length=255, separator = ' ')
|
64
57
|
words(str).collect{|w| to_token(w)}.uniq.join(separator)[0..(max_length-1)]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_tokenizable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2012-03-20 00:00:00.000000000Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thoughtbot-shoulda
|
17
|
-
requirement: &
|
17
|
+
requirement: &17156500 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :development
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *17156500
|
26
26
|
description: Make ActiveRecord models easily searchable via tokens.
|
27
27
|
email: github@splendeo.es
|
28
28
|
executables: []
|
@@ -41,10 +41,8 @@ files:
|
|
41
41
|
- init.rb
|
42
42
|
- lib/acts_as_tokenizable.rb
|
43
43
|
- lib/acts_as_tokenizable/acts_as_tokenizable.rb
|
44
|
-
- lib/acts_as_tokenizable/
|
44
|
+
- lib/acts_as_tokenizable/string_utils.rb
|
45
45
|
- lib/tasks/acts_as_tokenizable.rake
|
46
|
-
- pkg/acts_as_tokenizable-0.1.0.gem
|
47
|
-
- pkg/acts_as_tokenizable-0.2.0.gem
|
48
46
|
- test/helper.rb
|
49
47
|
- test/test_acts_as_tokenizable.rb
|
50
48
|
homepage: http://github.com/splendeo/acts_as_tokenizable
|
Binary file
|
Binary file
|