es_fields 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: 3d869fd22f7fc259d78bea3742ef9db1451ac20cb8d7d8424b80f78b8a9172ec
4
- data.tar.gz: 514c789b69c8adaa99fabf46b4f0647db9a32a0ff030f6bcae7eb4ff7b027b53
3
+ metadata.gz: 499198729884f132c63e5e3130626036027cc17453570f27657f219c7739b0c9
4
+ data.tar.gz: f645e5485faeaff767b113280749e06f5c7250728c7c040c3fd9500b42c1aca3
5
5
  SHA512:
6
- metadata.gz: 2934a424924afddc6c2a02e3fec7f250caaec5228be83461396ca3a6b12d3b92d782dcd3130e7622f48042a673fffb2427030203a4d454c23c63db212a3d6d10
7
- data.tar.gz: eb0556ae2d22a58abe3ab4c72994596edf7060f68e01b0758787aefbe381c338e003ac75f3f676cbdab300ddc6bc9fe0512208734033483d83959f38337a3818
6
+ metadata.gz: 79c057f7aecfb28ec1fb7353ff483bcc04836414600eb243275229bde5b016f6672e13c0642122bc1365313ce14f848e15a670272d999b18c740dd5d9ac493d2
7
+ data.tar.gz: 11f87e3a57a2f9ffd097a648592b20f27cbbc3b08d638cd5a0fb0aa1da636a6da7729a1df4078b7f531f914b84b40429d8345d9da2d24809a9c6bd1fd41e18fc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- es_fields (0.1.0)
4
+ es_fields (0.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # EsFields
2
- Provides an idiomatic way to generate elastic search fields mappings.
2
+ Provides an idiomatic way to generate elastic search field mappings.
3
3
 
4
4
  ## Installation
5
5
 
@@ -23,6 +23,7 @@ Or install it yourself as:
23
23
  mapping do
24
24
  field :name, :string
25
25
  field :age, :long
26
+ field :email, :keyword
26
27
  end
27
28
  ```
28
29
  This will generate ElasticSearch field mappings and return a
@@ -0,0 +1,32 @@
1
+ class Fields
2
+ BASE_MAPPING =
3
+ {
4
+ "mappings": {
5
+ "doc": {
6
+ "properties": {
7
+ }
8
+ }
9
+ }
10
+ }
11
+
12
+ TYPE_MAPPING = {
13
+ string: 'text',
14
+ long: 'long',
15
+ date: 'date',
16
+ keyword: 'keyword',
17
+ double: 'double',
18
+ boolean: 'boolean',
19
+ ip: 'ip',
20
+ }
21
+
22
+ def initialize
23
+ @base_mapping = BASE_MAPPING.dup
24
+ end
25
+
26
+ def field(name, type)
27
+ @base_mapping[:mappings][:doc][:properties].merge!(
28
+ { name => { type: TYPE_MAPPING[type]}}
29
+ )
30
+ @base_mapping
31
+ end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module EsFields
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/es_fields.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "es_fields/version"
2
+ require "es_fields/fields"
2
3
 
3
4
  module EsFields
4
5
  def mapping(&block)
@@ -6,36 +7,3 @@ module EsFields
6
7
  field_instance.instance_eval &block
7
8
  end
8
9
  end
9
-
10
- class Fields
11
- BASE_MAPPING =
12
- {
13
- "mappings": {
14
- "doc": {
15
- "properties": {
16
- }
17
- }
18
- }
19
- }
20
-
21
- TYPE_MAPPING = {
22
- string: 'text',
23
- long: 'long',
24
- date: 'date',
25
- keyword: 'keyword',
26
- double: 'double',
27
- boolean: 'boolean',
28
- ip: 'ip',
29
- }
30
-
31
- def initialize
32
- @base_mapping = BASE_MAPPING.dup
33
- end
34
-
35
- def field(name, type)
36
- @base_mapping[:mappings][:doc][:properties].merge!(
37
- { name => { type: TYPE_MAPPING[type]}}
38
- )
39
- @base_mapping
40
- end
41
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: es_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yask Srivastava
@@ -71,6 +71,7 @@ files:
71
71
  - bin/setup
72
72
  - es_fields.gemspec
73
73
  - lib/es_fields.rb
74
+ - lib/es_fields/fields.rb
74
75
  - lib/es_fields/version.rb
75
76
  homepage: https://github.com/yask123/es_fields
76
77
  licenses: