qiita-elasticsearch 0.7.1 → 0.8.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/qiita/elasticsearch/filterable_token.rb +36 -1
- data/lib/qiita/elasticsearch/query.rb +5 -0
- data/lib/qiita/elasticsearch/token.rb +17 -1
- data/lib/qiita/elasticsearch/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 333733578e54d24085a56f2fd3fbfc1ab2f470f7
|
4
|
+
data.tar.gz: c9941d2326ff2b8b342b7376ce7ed1403a28ffe1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 913f66abcacb21fa9d4e4275b836932d2ff314fa60a434362aa40febe8b90dd33f554d8af6ac90aa5eec33eb7eb9d1f1db11064aa06f53f9faead14a4cfc505c
|
7
|
+
data.tar.gz: 52e29cda8406122a3b9d62be825f7e0e67e4367740894e8c08d49adbcf2d596909a53231acde2ab8881b62f3d0f9b4457de14a0e19d764974bd85b21e4b21163
|
data/CHANGELOG.md
CHANGED
@@ -7,12 +7,19 @@ module Qiita
|
|
7
7
|
|
8
8
|
# @return [Hash]
|
9
9
|
def to_hash
|
10
|
-
|
10
|
+
case
|
11
|
+
when coediting?
|
11
12
|
{
|
12
13
|
"term" => {
|
13
14
|
"edit_permission" => EDIT_PERMISSION_COEDITING,
|
14
15
|
},
|
15
16
|
}
|
17
|
+
when type?
|
18
|
+
{
|
19
|
+
"type" => {
|
20
|
+
"value" => type,
|
21
|
+
},
|
22
|
+
}
|
16
23
|
else
|
17
24
|
{
|
18
25
|
"term" => {
|
@@ -21,6 +28,34 @@ module Qiita
|
|
21
28
|
}
|
22
29
|
end
|
23
30
|
end
|
31
|
+
|
32
|
+
# @return [String] actual type name on Elasticsearch
|
33
|
+
def type
|
34
|
+
if article_type?
|
35
|
+
"team_item"
|
36
|
+
else
|
37
|
+
term
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# @note Override
|
42
|
+
def type?
|
43
|
+
article_type? || project_type?
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def article_type?
|
49
|
+
field_name == "is" && term == "article"
|
50
|
+
end
|
51
|
+
|
52
|
+
def coediting?
|
53
|
+
field_name == "is" && term == "coediting"
|
54
|
+
end
|
55
|
+
|
56
|
+
def project_type?
|
57
|
+
field_name == "is" && term == "project"
|
58
|
+
end
|
24
59
|
end
|
25
60
|
end
|
26
61
|
end
|
@@ -84,6 +84,11 @@ module Qiita
|
|
84
84
|
@tokens.join(" ")
|
85
85
|
end
|
86
86
|
|
87
|
+
# @return [String, nil] last positive type name in query string
|
88
|
+
def type
|
89
|
+
@tokens.select(&:type?).select(&:positive?).last.try(:type)
|
90
|
+
end
|
91
|
+
|
87
92
|
# @param [String] field_name
|
88
93
|
# @param [String] term
|
89
94
|
# @return [Qiita::Elasticsearch::Query]
|
@@ -1,7 +1,17 @@
|
|
1
1
|
module Qiita
|
2
2
|
module Elasticsearch
|
3
3
|
class Token
|
4
|
-
|
4
|
+
# @return [String, nil]
|
5
|
+
# @note `xxxxxxxxxxxx:yyyyyyyyyyy`
|
6
|
+
# ^^^^^^^^^^^^
|
7
|
+
# field_name
|
8
|
+
attr_reader :field_name
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
# @note `xxxxxxxxxxxx:yyyyyyyyyyy`
|
12
|
+
# ^^^^^^^^^^^
|
13
|
+
# term
|
14
|
+
attr_reader :term
|
5
15
|
|
6
16
|
# @param [true, false] downcased True if given term must be downcased on query representation
|
7
17
|
# @param [String, nil] field_name Field name part
|
@@ -99,6 +109,12 @@ module Qiita
|
|
99
109
|
@token_string.to_s
|
100
110
|
end
|
101
111
|
|
112
|
+
# @note Override me if needed
|
113
|
+
# @return [true, false]
|
114
|
+
def type?
|
115
|
+
false
|
116
|
+
end
|
117
|
+
|
102
118
|
private
|
103
119
|
|
104
120
|
# @note Override me if needed
|
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.
|
4
|
+
version: 0.8.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
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|