easy_solr 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/easy_solr/queryer.rb +20 -8
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29b01cc093f40d89a9d0f19e1da4a44e9c7335b4
4
- data.tar.gz: 1aaa68fcc6ae97f1c136f3ff004615deb599ecf4
3
+ metadata.gz: 583dd9d2f7d895485a6c1d0df29852dff069dcde
4
+ data.tar.gz: 2bb3c3beb640ef3c0750981a54a6ea9114a98f3c
5
5
  SHA512:
6
- metadata.gz: d6e80eb73d0d6139736fa33007c2428ada1b6d755d38e8072f0b4f6d90d9bfd10843103d8675c1df6224d3b315592bf04cf9b2b8b50efa7f76ebea5fef9a1f14
7
- data.tar.gz: 95a222de96d874342762bc5c7d15a9a1e3d027fe9061d1079c9320806e895994d85fa82aa309ca160673997b001120abd55b3fc35b8c7c6b9730d9c26d873987
6
+ metadata.gz: a9cea2972cf56973eab33bfefd7d701fc659e9f03ea7064adb8aa2ed2e0d8ebe4f78fbf481c202d248b6788b8d060323151356d5939043652d8ce688f830133b
7
+ data.tar.gz: 0ae6d00e0dcc52a3ae5dd2778d1a0ce495c4fc956ceddddf936a03755c15f58fdabbffd6ed30040a74c80381e688fb617bc166acedb7c2a50011a1db07f7d94a
@@ -5,13 +5,14 @@ module EasySolr
5
5
  include ::EasySolr::ResultItem
6
6
  include ::EasySolr::Translate
7
7
 
8
- attr_accessor :solr_settings
9
-
10
- def initialize(links, r_settings)
11
- @solr_settings = r_settings
8
+ attr_accessor :solr_settings, :client_class_name
12
9
 
10
+ def initialize(client_class_name)
11
+ nn_object = Object.const_get(client_class_name)
12
+ @client_class_name = nn_object.table_name
13
+ @solr_settings = nn_object::SOLR_SEVICE_CONFIG
14
+ @expr.nn_custom_links = nn_object::LINKS
13
15
  @expr = ::EasySolr::Expressions.new
14
- @expr.nn_custom_links = links
15
16
  end
16
17
 
17
18
  ##
@@ -19,7 +20,7 @@ module EasySolr
19
20
  #
20
21
  # 根据所有生成的信息 执行 Solr 模糊查询
21
22
  #
22
- def solr_perform
23
+ def perform
23
24
  solr_str = @expr.query_string_for_solr
24
25
 
25
26
  solr_params = { :q => solr_str, :rows => 10 }
@@ -64,8 +65,19 @@ module EasySolr
64
65
  ## 2、solr_pri_key || mysql_pri_key
65
66
  break_down(@expr.nn_custom_links)
66
67
 
67
- pri_ids = solr_perform.map{|_item| _item[solr_pri_key].to_i}
68
- scope.where(" #{ mysql_pri_key } IN (?) ", pri_ids)
68
+ pri_ids = self.perform.map{|_item| _item[solr_pri_key].to_i}
69
+ scope.where(" #{ client_class_name }.#{ mysql_pri_key } IN (?) ", pri_ids)
70
+ end
71
+
72
+ ##
73
+ # ==== Description
74
+ #
75
+ # 根据主键生成 scope 的字符串形式
76
+ #
77
+ def generate_scope_str(scope)
78
+ break_down(@expr.nn_custom_links)
79
+
80
+ " #{ client_class_name }.#{ mysql_pri_key } IN (?) "
69
81
  end
70
82
 
71
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_solr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hao Wang