esse 0.0.2 → 0.0.3

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