qiita-elasticsearch 0.7.1 → 0.8.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: f39699ec977541d65c4ee8418fb0f3421b7ea3b8
4
- data.tar.gz: 050835abda85a07822f5b4d4dba83b8fcb9c3a7b
3
+ metadata.gz: 333733578e54d24085a56f2fd3fbfc1ab2f470f7
4
+ data.tar.gz: c9941d2326ff2b8b342b7376ce7ed1403a28ffe1
5
5
  SHA512:
6
- metadata.gz: a7b6f0354481c6cc810467734c569c4e5d93bb86b2800421186d6d9ad306637ff37763598a36036c19c09cf62e2eeb2d39cc5e184519f67bed5cf3138dbc3fcd
7
- data.tar.gz: 394fd0a5cd2acab4aefc683bbf938b1275fd434d9c1018eafe2f947975693164dc8f7ab65ca26986be86055a1e82cc973b25d93b78ea9f9c7149ee15fda6b6cf
6
+ metadata.gz: 913f66abcacb21fa9d4e4275b836932d2ff314fa60a434362aa40febe8b90dd33f554d8af6ac90aa5eec33eb7eb9d1f1db11064aa06f53f9faead14a4cfc505c
7
+ data.tar.gz: 52e29cda8406122a3b9d62be825f7e0e67e4367740894e8c08d49adbcf2d596909a53231acde2ab8881b62f3d0f9b4457de14a0e19d764974bd85b21e4b21163
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.8.0
2
+ - Add is:project & is:article tokens
3
+
1
4
  ## 0.7.1
2
5
  - Take empty token query as any matcher
3
6
 
@@ -7,12 +7,19 @@ module Qiita
7
7
 
8
8
  # @return [Hash]
9
9
  def to_hash
10
- if field_name == "is" && term == "coediting"
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
- attr_reader :field_name, :term
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
@@ -1,5 +1,5 @@
1
1
  module Qiita
2
2
  module Elasticsearch
3
- VERSION = "0.7.1"
3
+ VERSION = "0.8.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.7.1
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-04-28 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport