eac_templates 0.1.0 → 0.3.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
  SHA256:
3
- metadata.gz: af93be7bf79c5e3ecf4cd7eb1ef371076cff21ee1a3df7a91f87214b4720f4cb
4
- data.tar.gz: b52cb1e8a2aa0ccf991c649bc02cd601cb83f26c1d838e7f1046886f17517bc8
3
+ metadata.gz: 7f12706546bf46d8517098bc6c070cfc6fb805dc160c4eb0e9a8216f7d46852e
4
+ data.tar.gz: 88ed7d531bb707d9b9c0b03abf4dd40ca8444976ad6d9cdd6b5558f184706ce2
5
5
  SHA512:
6
- metadata.gz: a5950e2d66256f9f89b99419017911ebd66a9242afa40d1b6d107b07e9b006811ae50af006c08fbbf1beb555d5b7365843ecb50214884212f53b869aea72cceb
7
- data.tar.gz: dae82810a933ba499b2027833cefb832ce2cb90d8e9e9ec022c6de859829244944f1b6e91f2636691a674037769985e7f090247cc43e00bed3f4c6dfa00574b6
6
+ metadata.gz: 8673350ac1bcca993d36c03ecc8564707e3f3c72ec2428adfdaaaca9e8298ee1885677b4ddfa71f08f02628490d38fae6373273813478384400a29e1cd1dfb06
7
+ data.tar.gz: cc714645f6104566f1a15fc8d439bf95048f5ea82bf81f1e82796c4407b29a8a44b7a4a90aed98eb262ca248c5764a89303c3fa2a80933d0878b4ae032141429
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_templates/patches'
4
+ require 'eac_templates/from_all_gems'
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_templates/from_gem'
4
+ ::EacTemplates::FromGem.include_all
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_templates/searcher'
4
+
5
+ module EacTemplates
6
+ class FromGem
7
+ class << self
8
+ def include_all(searcher = nil)
9
+ ::Gem::Specification.each { |gemspec| new(gemspec, searcher).include }
10
+ end
11
+ end
12
+
13
+ TEMPLATES_DIR_SUBPATH = 'template'
14
+
15
+ common_constructor :gemspec, :searcher, default: [nil] do
16
+ self.searcher ||= ::EacTemplates::Searcher.default
17
+ end
18
+
19
+ # @return [Boolean]
20
+ delegate :exist?, to: :path
21
+
22
+ # @return [Pathname]
23
+ def include
24
+ return nil unless exist?
25
+
26
+ searcher.included_paths << path
27
+ path
28
+ end
29
+
30
+ # @return [Pathname]
31
+ def path
32
+ gemspec.gem_dir.to_pathname.join(TEMPLATES_DIR_SUBPATH)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'erb'
4
+
5
+ class Module
6
+ def erb_template(subpath, binding_obj)
7
+ ::ERB.new(template.child(subpath).path.read).result(binding_obj)
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub __FILE__
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_templates/patches/module/erb_template'
4
+
5
+ class Object
6
+ def erb_template(subpath, binding_obj = nil)
7
+ self.class.erb_template(subpath, binding_obj || binding)
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub __FILE__
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/require_sub'
4
+ ::EacRubyUtils.require_sub __FILE__
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_config/node'
4
+ require 'eac_templates/variable_providers/base'
5
+
6
+ module EacTemplates
7
+ module VariableProviders
8
+ class ConfigReader < ::EacTemplates::VariableProviders::Base
9
+ class << self
10
+ def accept?(variables_source)
11
+ return false unless variables_source.respond_to?(:entry)
12
+
13
+ entry = variables_source.entry(:any_value)
14
+ entry.respond_to?(:value) && entry.respond_to?(:found?)
15
+ end
16
+ end
17
+
18
+ def variable_exist?(name)
19
+ source.entry(name).found?
20
+ end
21
+
22
+ def variable_fetch(name)
23
+ source.entry(name).value
24
+ end
25
+ end
26
+ end
27
+ end
@@ -6,7 +6,7 @@ module EacTemplates
6
6
  module VariableProviders
7
7
  require_sub __FILE__
8
8
 
9
- PROVIDERS = %w[entries_reader hash generic].map do |name|
9
+ PROVIDERS = %w[config_reader entries_reader hash generic].map do |name|
10
10
  "eac_templates/variable_providers/#{name}".camelize.constantize
11
11
  end
12
12
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTemplates
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-23 00:00:00.000000000 Z
11
+ date: 2021-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eac_config
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.3'
19
+ version: '0.5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.3'
26
+ version: '0.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: eac_ruby_utils
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +59,23 @@ extensions: []
59
59
  extra_rdoc_files: []
60
60
  files:
61
61
  - lib/eac_templates.rb
62
+ - lib/eac_templates/core_ext.rb
62
63
  - lib/eac_templates/directory.rb
63
64
  - lib/eac_templates/file.rb
65
+ - lib/eac_templates/from_all_gems.rb
66
+ - lib/eac_templates/from_gem.rb
67
+ - lib/eac_templates/patches.rb
68
+ - lib/eac_templates/patches/module.rb
69
+ - lib/eac_templates/patches/module/erb_template.rb
64
70
  - lib/eac_templates/patches/module/template.rb
71
+ - lib/eac_templates/patches/object.rb
72
+ - lib/eac_templates/patches/object/erb_template.rb
65
73
  - lib/eac_templates/patches/object/template.rb
66
74
  - lib/eac_templates/searcher.rb
67
75
  - lib/eac_templates/variable_not_found_error.rb
68
76
  - lib/eac_templates/variable_providers.rb
69
77
  - lib/eac_templates/variable_providers/base.rb
78
+ - lib/eac_templates/variable_providers/config_reader.rb
70
79
  - lib/eac_templates/variable_providers/entries_reader.rb
71
80
  - lib/eac_templates/variable_providers/generic.rb
72
81
  - lib/eac_templates/variable_providers/hash.rb
@@ -89,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
98
  - !ruby/object:Gem::Version
90
99
  version: '0'
91
100
  requirements: []
92
- rubygems_version: 3.0.9
101
+ rubygems_version: 3.1.6
93
102
  signing_key:
94
103
  specification_version: 4
95
104
  summary: Put here de description.