esse 0.0.2 → 0.0.3

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
  SHA256:
3
- metadata.gz: 7f309243fb21b878b0d14b85c16a2d344dd595659d7972cadc7cd40c246ffd9a
4
- data.tar.gz: 670f66a022b7fe568fe9f995c0d8cd9832d65da5a9bfb21490a4a7e222540023
3
+ metadata.gz: 6d7f91a4ecb008fe3d8849175cb6f1bb08605d56432b7bc7f52ca9df0c55e77e
4
+ data.tar.gz: a9b4143597ca2ca571360814b381e8398bd3ac8b45134fc5b3086dfc8a33f0a1
5
5
  SHA512:
6
- metadata.gz: 99b6fa0017361c185cdf71c7505f6a37dcfc28127f04504496dc1fbdddf8b7ca4a2c06e6c2e56dd30464c90f3b2012fc982bcdb3ed5159a1b331bfbe3c2e30d1
7
- data.tar.gz: db75895be7643f9bbedb9c81c071b4438e1f277637b2447dd7d8444c719820c41a97bdf69f0230e422a60412b2de93b674d2e459d0a324cb21bd49cbf2763f91
6
+ metadata.gz: ef25dc5238beea72d67eeaf146dad16184cd8d78c76fc84516154e8ddd5cb93f2c5f1fd84574359147d6428dbdb1d25f037d0dce004f79e4e22cbbf1dcc2a30b
7
+ data.tar.gz: 6c5237fc9f5b59376ef6e948132c5a78200f4f849acab591ba603b3c5173d95c6179dfec3844331a6ba30f41ae519515b12c3f3396d80e4bff5dd3445525faad
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- esse (0.0.1)
4
+ esse (0.0.2)
5
5
  elasticsearch
6
6
  multi_json
7
7
  thor (>= 0.19)
@@ -29,7 +29,7 @@ GEM
29
29
  pry (0.12.0)
30
30
  coderay (~> 1.1.0)
31
31
  method_source (~> 0.9.0)
32
- rake (10.5.0)
32
+ rake (12.3.3)
33
33
  rspec (3.9.0)
34
34
  rspec-core (~> 3.9.0)
35
35
  rspec-expectations (~> 3.9.0)
@@ -53,7 +53,7 @@ DEPENDENCIES
53
53
  dotenv
54
54
  esse!
55
55
  pry
56
- rake (~> 10.0)
56
+ rake (~> 12.3)
57
57
  rspec (~> 3.0)
58
58
 
59
59
  BUNDLED WITH
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # esse
2
2
 
3
+ **This project is under development and may suffer constant structural changes. I don't recommend using it right now**
4
+
3
5
  Simple and efficient way to organize queries/mapping/indices/tasks based on the official elasticsearch-ruby.
4
6
 
5
7
  ## Why to use it?
data/esse.gemspec CHANGED
@@ -34,6 +34,6 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency 'dotenv'
35
35
  spec.add_development_dependency 'awesome_print'
36
36
  spec.add_development_dependency 'pry'
37
- spec.add_development_dependency 'rake', '~> 10.0'
37
+ spec.add_development_dependency 'rake', '~> 12.3'
38
38
  spec.add_development_dependency 'rspec', '~> 3.0'
39
39
  end
data/lib/esse.rb CHANGED
@@ -3,5 +3,8 @@
3
3
  require 'esse/index'
4
4
 
5
5
  module Esse
6
+ SETTING_ROOT_KEY = 'settings'
7
+ MAPPING_ROOT_KEY = 'mappings'
8
+
6
9
  class Error < StandardError; end
7
10
  end
@@ -11,6 +11,8 @@ module Esse
11
11
  require_relative 'index/existance'
12
12
  require_relative 'index/update'
13
13
  require_relative 'index/documents'
14
+ require_relative 'index/open'
15
+ require_relative 'index/close'
14
16
 
15
17
  extend Forwardable
16
18
 
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Esse
4
+ module Backend
5
+ class Index
6
+ module InstanceMethods
7
+ # Close an index (keep the data on disk, but deny operations with the index).
8
+ #
9
+ # @option options [String, nil] :suffix The index suffix. Defaults to the index_version.
10
+ # Use nil if you want to check existence of the `index_name` index or alias.
11
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
12
+ # are open, closed or both. (options: open, closed)
13
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
14
+ # `missing` ones (options: none, missing) @until 1.0
15
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
16
+ # unavailable (missing, closed, etc)
17
+ # @option options [Time] :timeout Explicit operation timeout
18
+ # @raise [Elasticsearch::Transport::Transport::Errors::BadRequest, Elasticsearch::Transport::Transport::Errors::NotFound]
19
+ # in case of failure
20
+ # @return [Hash] the elasticsearch response
21
+ #
22
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
23
+ def close!(suffix: index_version, **options)
24
+ name = suffix ? real_index_name(suffix) : index_name
25
+
26
+ client.indices.close(options.merge(index: name))
27
+ end
28
+
29
+ # Close an index (keep the data on disk, but deny operations with the index).
30
+ #
31
+ # @option options [String, nil] :suffix The index suffix. Defaults to the index_version.
32
+ # Use nil if you want to check existence of the `index_name` index or alias.
33
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
34
+ # are open, closed or both. (options: open, closed)
35
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
36
+ # `missing` ones (options: none, missing) @until 1.0
37
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
38
+ # unavailable (missing, closed, etc)
39
+ # @option options [Time] :timeout Explicit operation timeout
40
+ # @return [Hash, false] the elasticsearch response, or false in case of failure
41
+ #
42
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
43
+ def close(suffix: index_version, **options)
44
+ close!(suffix: suffix, **options)
45
+ rescue Elasticsearch::Transport::Transport::ServerError
46
+ false
47
+ end
48
+ end
49
+
50
+ include InstanceMethods
51
+ end
52
+ end
53
+ end
@@ -10,7 +10,7 @@ module Esse
10
10
 
11
11
  # Creates index and applies mappings and settings.
12
12
  #
13
- # UsersIndex.backend.create # creates index named `<prefix_>users_<suffix|index_version|timestamp>`
13
+ # UsersIndex.backend.create_index # creates index named `<prefix_>users_<suffix|index_version|timestamp>`
14
14
  #
15
15
  # @param options [Hash] Options hash
16
16
  # @option options [Boolean] :alias Update `index_name` alias along with the new index
@@ -19,15 +19,15 @@ module Esse
19
19
  # @return [Hash, false] the elasticsearch response or false in case of unsuccessful creation.
20
20
  #
21
21
  # @see http://www.elasticsearch.org/blog/changing-mapping-with-zero-downtime/
22
- def create(suffix: nil, **options)
23
- create!(suffix: suffix, **options)
22
+ def create_index(suffix: nil, **options)
23
+ create_index!(suffix: suffix, **options)
24
24
  rescue Elasticsearch::Transport::Transport::Errors::BadRequest
25
25
  false
26
26
  end
27
27
 
28
28
  # Creates index and applies mappings and settings.
29
29
  #
30
- # UsersIndex.backend.create! # creates index named `<prefix_>users_<suffix|index_version|timestamp>`
30
+ # UsersIndex.backend.create_index! # creates index named `<prefix_>users_<suffix|index_version|timestamp>`
31
31
  #
32
32
  # @param options [Hash] Options hash
33
33
  # @option options [Boolean] :alias Update `index_name` alias along with the new index
@@ -37,7 +37,7 @@ module Esse
37
37
  # @return [Hash] the elasticsearch response
38
38
  #
39
39
  # @see http://www.elasticsearch.org/blog/changing-mapping-with-zero-downtime/
40
- def create!(suffix: nil, **options)
40
+ def create_index!(suffix: nil, **options)
41
41
  options = DEFAULT_OPTIONS.merge(options)
42
42
  name = real_index_name(suffix)
43
43
  definition = [settings_hash, mappings_hash].reduce(&:merge)
@@ -6,13 +6,13 @@ module Esse
6
6
  module InstanceMethods
7
7
  # Deletes ES index
8
8
  #
9
- # UsersIndex.backend.delete! # deletes `<prefix_>users<_suffix|_index_version|_timestamp>` index
9
+ # UsersIndex.backend.delete_index! # deletes `<prefix_>users<_suffix|_index_version|_timestamp>` index
10
10
  #
11
11
  # @param options [Hash] Options hash
12
12
  # @option [String, nil] :suffix The index suffix Use nil if you want to delete the current index.
13
13
  # @raise [Elasticsearch::Transport::Transport::Errors::NotFound] when index does not exists
14
14
  # @return [Hash] elasticsearch response
15
- def delete!(suffix:)
15
+ def delete_index!(suffix:)
16
16
  name = suffix ? real_index_name(suffix) : index_name
17
17
 
18
18
  client.indices.delete(index: name)
@@ -20,13 +20,13 @@ module Esse
20
20
 
21
21
  # Deletes ES index
22
22
  #
23
- # UsersIndex.backend.delete # deletes `<prefix_>users<_suffix|_index_version|_timestamp>` index
23
+ # UsersIndex.backend.delete_index # deletes `<prefix_>users<_suffix|_index_version|_timestamp>` index
24
24
  #
25
25
  # @param options [Hash] Options hash
26
26
  # @option [String] :suffix The index suffix. Use nil if you want to delete the current index.
27
27
  # @return [Hash, false] elasticsearch response, of false in case of error.
28
- def delete(suffix: index_version)
29
- delete!(suffix: suffix)
28
+ def delete_index(suffix: index_version)
29
+ delete_index!(suffix: suffix)
30
30
  rescue Elasticsearch::Transport::Transport::Errors::NotFound
31
31
  false
32
32
  end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Esse
4
+ module Backend
5
+ class Index
6
+ module InstanceMethods
7
+ # Open a previously closed index
8
+ #
9
+ # @option options [String, nil] :suffix The index suffix. Defaults to the index_version.
10
+ # Use nil if you want to check existence of the `index_name` index or alias.
11
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
12
+ # are open, closed or both. (options: open, closed)
13
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
14
+ # `missing` ones (options: none, missing) @until 1.0
15
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
16
+ # unavailable (missing, closed, etc)
17
+ # @option options [Time] :timeout Explicit operation timeout
18
+ # @raise [Elasticsearch::Transport::Transport::Errors::BadRequest, Elasticsearch::Transport::Transport::Errors::NotFound]
19
+ # in case of failure
20
+ # @return [Hash] the elasticsearch response
21
+ #
22
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-open.html
23
+ def open!(suffix: index_version, **options)
24
+ name = suffix ? real_index_name(suffix) : index_name
25
+
26
+ client.indices.open(options.merge(index: name))
27
+ end
28
+
29
+ # Open a previously closed index
30
+ #
31
+ # @option options [String, nil] :suffix The index suffix. Defaults to the index_version.
32
+ # Use nil if you want to check existence of the `index_name` index or alias.
33
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
34
+ # are open, closed or both. (options: open, closed)
35
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
36
+ # `missing` ones (options: none, missing) @until 1.0
37
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
38
+ # unavailable (missing, closed, etc)
39
+ # @option options [Time] :timeout Explicit operation timeout
40
+ # @return [Hash, false] the elasticsearch response, or false in case of failure
41
+ #
42
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-open.html
43
+ def open(suffix: index_version, **options)
44
+ open!(suffix: suffix, **options)
45
+ rescue Elasticsearch::Transport::Transport::ServerError
46
+ false
47
+ end
48
+ end
49
+
50
+ include InstanceMethods
51
+ end
52
+ end
53
+ end
@@ -4,12 +4,114 @@ module Esse
4
4
  module Backend
5
5
  class Index
6
6
  module InstanceMethods
7
- def update_mapping!(**options)
8
- # @TODO
7
+ # Create or update a mapping
8
+ #
9
+ # @option options [String] :type The name of the document type. This field is required for some elasticsearch versions
10
+ # @option options [Boolean] :ignore_conflicts Specify whether to ignore conflicts while updating the mapping
11
+ # (default: false)
12
+ # @option options [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
13
+ # no concrete indices. (This includes `_all` string or when no indices have been specified)
14
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
15
+ # are open, closed or both. (options: open, closed)
16
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
17
+ # `missing` ones (options: none, missing) @until 1.0
18
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
19
+ # unavailable (missing, closed, etc)
20
+ # @option options [Boolean] :update_all_types Whether to update the mapping for all fields
21
+ # with the same name across all types
22
+ # @option options [Time] :timeout Explicit operation timeout
23
+ # @option options [Boolean] :master_timeout Timeout for connection to master
24
+ # @raise [Elasticsearch::Transport::Transport::Errors::BadRequest, Elasticsearch::Transport::Transport::Errors::NotFound]
25
+ # in case of failure
26
+ # @return [Hash] the elasticsearch response
27
+ #
28
+ # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/
29
+ def update_mapping!(suffix: index_version, **options)
30
+ name = suffix ? real_index_name(suffix) : index_name
31
+
32
+ client.indices.put_mapping(options.merge(index: name, body: mappings_hash.fetch(Esse::MAPPING_ROOT_KEY)))
33
+ end
34
+
35
+ # Create or update a mapping
36
+ #
37
+ # @option options [String] :type The name of the document type. This field is required for some elasticsearch versions
38
+ # @option options [Boolean] :ignore_conflicts Specify whether to ignore conflicts while updating the mapping
39
+ # (default: false)
40
+ # @option options [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
41
+ # no concrete indices. (This includes `_all` string or when no indices have been specified)
42
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
43
+ # are open, closed or both. (options: open, closed)
44
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
45
+ # `missing` ones (options: none, missing) @until 1.0
46
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
47
+ # unavailable (missing, closed, etc)
48
+ # @option options [Boolean] :update_all_types Whether to update the mapping for all fields
49
+ # with the same name across all types
50
+ # @option options [Time] :timeout Explicit operation timeout
51
+ # @option options [Boolean] :master_timeout Timeout for connection to master
52
+ # @return [Hash, false] the elasticsearch response, or false in case of failure
53
+ #
54
+ # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/
55
+ def update_mapping(suffix: index_version, **options)
56
+ update_mapping!(suffix: suffix, **options)
57
+ rescue Elasticsearch::Transport::Transport::ServerError
58
+ false
59
+ end
60
+
61
+
62
+ # Closes the index for read/write operations, updates the index settings, and open it again
63
+ #
64
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
65
+ # are open, closed or both. (options: open, closed)
66
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
67
+ # `missing` ones (options: none, missing) @until 1.0
68
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
69
+ # unavailable (missing, closed, etc)
70
+ # @option options [Boolean] :include_defaults Whether to return all default clusters setting
71
+ # @option options [Boolean] :preserve_existing Whether to update existing settings.
72
+ # If set to `true` existing settings on an index remain unchanged, the default is `false`
73
+ # @option options [Time] :master_timeout Specify timeout for connection to master
74
+ # @option options [Boolean] :flat_settings Return settings in flat format (default: false)
75
+ # @raise [Elasticsearch::Transport::Transport::Errors::BadRequest, Elasticsearch::Transport::Transport::Errors::NotFound]
76
+ # in case of failure
77
+ # @return [Hash] the elasticsearch response
78
+ #
79
+ # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings/
80
+ def update_settings!(suffix: index_version, **options)
81
+ name = suffix ? real_index_name(suffix) : index_name
82
+ response = nil
83
+
84
+ close!(suffix: suffix)
85
+ begin
86
+ body = settings_hash(cluster_settings: false).fetch(Esse::SETTING_ROOT_KEY)
87
+ response = client.indices.put_settings(options.merge(index: name, body: body))
88
+ ensure
89
+ open!(suffix: suffix)
90
+ end
91
+
92
+ response
9
93
  end
10
94
 
11
- def update_settings!(**options)
12
- # @TODO
95
+ # Closes the index for read/write operations, updates the index settings, and open it again
96
+ #
97
+ # @option options [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
98
+ # are open, closed or both. (options: open, closed)
99
+ # @option options [String] :ignore_indices When performed on multiple indices, allows to ignore
100
+ # `missing` ones (options: none, missing) @until 1.0
101
+ # @option options [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
102
+ # unavailable (missing, closed, etc)
103
+ # @option options [Boolean] :include_defaults Whether to return all default clusters setting
104
+ # @option options [Boolean] :preserve_existing Whether to update existing settings.
105
+ # If set to `true` existing settings on an index remain unchanged, the default is `false`
106
+ # @option options [Time] :master_timeout Specify timeout for connection to master
107
+ # @option options [Boolean] :flat_settings Return settings in flat format (default: false)
108
+ # @return [Hash, false] the elasticsearch response, false in case of failure
109
+ #
110
+ # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings/
111
+ def update_settings(suffix: index_version, **options)
112
+ update_settings!(suffix: suffix, **options)
113
+ rescue Elasticsearch::Transport::Transport::ServerError
114
+ false
13
115
  end
14
116
  end
15
117
 
@@ -7,11 +7,10 @@
7
7
  module Esse
8
8
  class Index
9
9
  module ClassMethods
10
- MAPPING_ROOT_KEY = 'mappings'
11
10
 
12
11
  # This is the actually content that will be passed through the ES api
13
12
  def mappings_hash
14
- { MAPPING_ROOT_KEY => (index_mapping || type_mapping) }
13
+ { Esse::MAPPING_ROOT_KEY => (index_mapping || type_mapping) }
15
14
  end
16
15
 
17
16
  # This method is only used to define mapping
@@ -32,7 +31,7 @@ module Esse
32
31
  return if mapping.empty?
33
32
 
34
33
  hash = mapping.body
35
- hash.key?(MAPPING_ROOT_KEY) ? hash[MAPPING_ROOT_KEY] : hash
34
+ hash.key?(Esse::MAPPING_ROOT_KEY) ? hash[Esse::MAPPING_ROOT_KEY] : hash
36
35
  end
37
36
 
38
37
  def type_mapping
@@ -4,11 +4,10 @@ module Esse
4
4
  # https://github.com/elastic/elasticsearch-ruby/blob/master/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_settings.rb
5
5
  class Index
6
6
  module ClassMethods
7
- SETTING_ROOT_KEY = 'settings'
8
7
 
9
- def settings_hash
10
- hash = setting.body
11
- { SETTING_ROOT_KEY => (hash.key?(SETTING_ROOT_KEY) ? hash[SETTING_ROOT_KEY] : hash) }
8
+ def settings_hash(cluster_settings: true)
9
+ hash = cluster_settings ? cluster.index_settings.merge(setting.body) : setting.body
10
+ { Esse::SETTING_ROOT_KEY => (hash.key?(Esse::SETTING_ROOT_KEY) ? hash[Esse::SETTING_ROOT_KEY] : hash) }
12
11
  end
13
12
 
14
13
  # Define /_settings definition by each index.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Esse
4
4
  class IndexType
5
- # https://github.com/elastic/elasticsearch-ruby/blob/master/elasticsearch-api/lib/elasticsearch/api/actions/indices/put_mapping.rb
5
+ # https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-put-mapping.html
6
6
  module ClassMethods
7
7
  # This method is only used to define mapping
8
8
  def mappings(hash = {}, &block)
data/lib/esse/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Esse
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos G. Zimmermann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-05 00:00:00.000000000 Z
11
+ date: 2020-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: elasticsearch
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '10.0'
103
+ version: '12.3'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '10.0'
110
+ version: '12.3'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -146,10 +146,12 @@ files:
146
146
  - lib/esse.rb
147
147
  - lib/esse/backend/index.rb
148
148
  - lib/esse/backend/index/aliases.rb
149
+ - lib/esse/backend/index/close.rb
149
150
  - lib/esse/backend/index/create.rb
150
151
  - lib/esse/backend/index/delete.rb
151
152
  - lib/esse/backend/index/documents.rb
152
153
  - lib/esse/backend/index/existance.rb
154
+ - lib/esse/backend/index/open.rb
153
155
  - lib/esse/backend/index/update.rb
154
156
  - lib/esse/backend/index_type.rb
155
157
  - lib/esse/backend/index_type/documents.rb
@@ -183,7 +185,6 @@ files:
183
185
  - lib/esse/primitives.rb
184
186
  - lib/esse/primitives/hstring.rb
185
187
  - lib/esse/template_loader.rb
186
- - lib/esse/types/mapping.rb
187
188
  - lib/esse/version.rb
188
189
  homepage: https://github.com/marcosgz/esse
189
190
  licenses:
File without changes