eac_templates 0.1.0 → 0.3.0

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