pg_search_scope 0.1.7 → 0.1.9

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8f2ef54178f521230b95924c5bcfc66d39eec323
4
+ data.tar.gz: 18762a7573132d83971d7c6976216ed43a456908
5
+ SHA512:
6
+ metadata.gz: 311674c09aeb714f86c22c42e59606d177ffa860b1a1c0165cf757bc2548b98403612de3cc97a38f7ab0d7dd6e682f3f1b2669b7bca6635a2a75de9409b56678
7
+ data.tar.gz: fd72df8d924704eff25d06388ac1015a08fee7ced54ddefb9e44e1265568cf86fcf26c71627a72d98c2f52f42c27af8b952d30f26bc451c2e798e3be47a66adb
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- ### PG Search Scope
1
+ ### PG Search Scope ;
2
2
 
3
- PostgreSQL full text search using Rails 3 scopes
3
+ PostgreSQL full text search using Rails 3 and 4 scopes
4
4
 
5
5
  ## Basic usage
6
6
 
@@ -38,7 +38,7 @@ You can set additional search options:
38
38
 
39
39
  :rank_function - Ranking function. Valid values are 'ts_rank' and 'ts_rank_cd'
40
40
 
41
- :rank_columns - If you want to sort table by rank only by specific fields - input column names hear
41
+ :rank_columns - If you want to sort table by rank only by specific fields - input column names here
42
42
 
43
43
  If you use `:language` option, you need to use the same option for `add_fulltext_index`
44
44
 
@@ -57,4 +57,4 @@ Examples:
57
57
  ## Copyright
58
58
 
59
59
  Copyright (c) 2011 Ivan Efremov, Ilia Ablamonov, Cloud Castle Inc.
60
- See LICENSE for details.
60
+ See LICENSE for details.
@@ -1,5 +1,7 @@
1
1
  module PgSearchScope
2
2
  module ModelHelper
3
+ SCOPE_METHOD = defined?(ActiveRecord) && ActiveRecord::VERSION::MAJOR > 3 ? :all : :scoped
4
+
3
5
  DEFAULT_OPTIONS = {
4
6
  :as => nil,
5
7
  :wildcard => true,
@@ -33,7 +35,7 @@ module PgSearchScope
33
35
  #
34
36
  # * <tt>:language</tt> - Search language, e.g. 'simple' (without magic), 'english'
35
37
  # * <tt>:rank_function</tt> - Ranking function. Valid values are 'ts_rank' and 'ts_rank_cd'
36
- # * <tt>:rank_columns</tt> - If you want to sort table by rank only by specific fields - input column names hear
38
+ # * <tt>:rank_columns</tt> - If you want to sort table by rank only by specific fields - input column names here
37
39
  #
38
40
  # == Usage
39
41
  #
@@ -56,7 +58,8 @@ module PgSearchScope
56
58
  options = scope_options.merge(options || {})
57
59
  search_string ||= ''
58
60
 
59
- terms = search_string.scan(/'*([\p{Lu}\p{Ll}\d\.'@]+)/u).map { |s, _| s.gsub /'/, "''" }
61
+ terms = search_string.scan(/([\p{Lu}\p{Ll}\d][\p{Lu}\p{Ll}\d\.'@]*)/u).map {|s,_| s.gsub /'/, "''"}
62
+
60
63
 
61
64
  if terms.present?
62
65
  prefix = arel_table.table_alias || arel_table.name
@@ -79,7 +82,7 @@ module PgSearchScope
79
82
 
80
83
  rank = "#{scope_options[:rank_function]}(#{rank_tsvector}, #{tsquery}, #{options[:normalization]})"
81
84
 
82
- search_scope = scoped
85
+ search_scope = send(SCOPE_METHOD)
83
86
 
84
87
  if options[:select_rank]
85
88
  search_scope = search_scope.select("#{rank} #{scope_name}_rank")
@@ -96,4 +99,4 @@ module PgSearchScope
96
99
  end
97
100
  end
98
101
 
99
- ActiveRecord::Base.send :extend, PgSearchScope::ModelHelper
102
+ ActiveRecord::Base.send :extend, PgSearchScope::ModelHelper
@@ -1,3 +1,3 @@
1
1
  module PgSearchScope
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_search_scope
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
5
- prerelease:
4
+ version: 0.1.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ivan Efremov, Ilia Ablamonov, Cloud Castle Inc.
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-08 00:00:00.000000000 Z
11
+ date: 2014-11-10 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: ''
15
14
  email:
@@ -19,7 +18,7 @@ executables: []
19
18
  extensions: []
20
19
  extra_rdoc_files: []
21
20
  files:
22
- - .gitignore
21
+ - ".gitignore"
23
22
  - Gemfile
24
23
  - LICENSE
25
24
  - README.md
@@ -31,26 +30,25 @@ files:
31
30
  - pg_search_scope.gemspec
32
31
  homepage: https://github.com/cloudcastle/pg_search_scope
33
32
  licenses: []
33
+ metadata: {}
34
34
  post_install_message:
35
35
  rdoc_options: []
36
36
  require_paths:
37
37
  - lib
38
38
  required_ruby_version: !ruby/object:Gem::Requirement
39
- none: false
40
39
  requirements:
41
- - - ! '>='
40
+ - - ">="
42
41
  - !ruby/object:Gem::Version
43
42
  version: '0'
44
43
  required_rubygems_version: !ruby/object:Gem::Requirement
45
- none: false
46
44
  requirements:
47
- - - ! '>='
45
+ - - ">="
48
46
  - !ruby/object:Gem::Version
49
47
  version: '0'
50
48
  requirements: []
51
49
  rubyforge_project: pg_search_scope
52
- rubygems_version: 1.8.21
50
+ rubygems_version: 2.2.2
53
51
  signing_key:
54
- specification_version: 3
52
+ specification_version: 4
55
53
  summary: PostgreSQL full text search using Rails 3 scopes
56
54
  test_files: []