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 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