qiita-elasticsearch 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d55e5e12468e89a3e9b902858d5bb4c50e70604c
4
- data.tar.gz: 432915c14a639a533c206592df5f1df5ba5dfc9f
3
+ metadata.gz: 1e3d2f73e88e60c1d6b4e3b43fdbd53d8d205f55
4
+ data.tar.gz: 283b4bb3a7aebe01f57e9d2973d0513244483cb9
5
5
  SHA512:
6
- metadata.gz: bc55dc75f2de4fa3791796f11c43006975e6be87ed2c30d02dddd3eeb6ff63f3fd63419e231e3315c796df6488f516a63ad77f3ace5a908bdfae31c215b9d733
7
- data.tar.gz: 5197b2b423fd8447914f3e4e14cd781eae6eb262bc719c1c736b7e70f6d6191ec294382567b52a4327f1e3cc5e7f591622f812721583056e70a9e2bcf8a5ac27
6
+ metadata.gz: 405882ddc1197902022a273cc4d196d4230b8165f6db854eb709e05aafdf206297a3a3e334aeb9f574d5cdf237c008c402464c086ec3235d9a5196410de01120
7
+ data.tar.gz: 486f63464413202789ee596c9bb4ca5083d5c8c688b3b0edd27548b211d0dfcd15aba12979062baefed00c829dea57aea47ff0bf6a4587471c4cd635dd9f1356
@@ -1,3 +1,6 @@
1
+ ## 0.16.0
2
+ - Support groups filter query
3
+
1
4
  ## 0.14.3
2
5
  - Use match phrase for code search
3
6
 
@@ -28,6 +28,13 @@ module Qiita
28
28
  "edit_permission" => EDIT_PERMISSION_COEDITING,
29
29
  },
30
30
  }
31
+ when group?
32
+ {
33
+ "terms" => {
34
+ "execution" => "or",
35
+ "group_id" => group_ids,
36
+ }
37
+ }
31
38
  when type?
32
39
  {
33
40
  "type" => {
@@ -75,6 +82,34 @@ module Qiita
75
82
  field_name == "code"
76
83
  end
77
84
 
85
+ # @private
86
+ # @note This is for group filter query (e.g. "group:dev", "group:dev,sales")
87
+ # @return [Array<Integer>]
88
+ def group_ids
89
+ groups.pluck(:id)
90
+ end
91
+
92
+ # @private
93
+ # @return [Array<String>]
94
+ def group_url_names
95
+ if group?
96
+ term.split(",")
97
+ else
98
+ []
99
+ end
100
+ end
101
+
102
+ def group?
103
+ field_name == "group"
104
+ end
105
+
106
+ # @private
107
+ # @note This method depends on the existence of `Group` ActiveRecord model class.
108
+ # @return [ActiveRecord::Relation]
109
+ def groups
110
+ ::Group.where(url_name: group_url_names)
111
+ end
112
+
78
113
  def project_type?
79
114
  field_name == "is" && term == "project"
80
115
  end
@@ -1,5 +1,5 @@
1
1
  module Qiita
2
2
  module Elasticsearch
3
- VERSION = "0.15.0"
3
+ VERSION = "0.16.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiita-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2016-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  version: '0'
154
154
  requirements: []
155
155
  rubyforge_project:
156
- rubygems_version: 2.4.5.1
156
+ rubygems_version: 2.4.5
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Elasticsearch client helper for Qiita.