k_builder 0.0.68 → 0.0.73

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +0,0 @@
1
- /Users/davidcruwys/dev/slides-addons/highlight_css
@@ -1,7 +0,0 @@
1
- <html>
2
- <head><title>404 Not Found</title></head>
3
- <body bgcolor="white">
4
- <center><h1>404 Not Found</h1></center>
5
- <hr><center>nginx</center>
6
- </body>
7
- </html>
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module KBuilder
4
- # Base configuration object for all k_builder* GEM
5
- class BaseConfiguration
6
- class << self
7
- # Attach a child configuration with it's own settings to a parent configuration
8
- #
9
- # @param [Class] klass_child what class would you like as the child
10
- # @param [Class] klass_parent what class would you like to extend with a new child configuration
11
- # @param [Symbol] accessor_name what is the name of the accessor that you are adding
12
- def attach_config_to_parent(klass_child, klass_parent, accessor_name)
13
- # Create a memoized getter to an instance of the attaching class (:klass_child)
14
- #
15
- # def third_party
16
- # @third_party ||= KBuilder::ThirdPartyGem::Configuration.new
17
- # end
18
- klass_parent.send(:define_method, accessor_name) do
19
- return instance_variable_get("@#{accessor_name}") if instance_variable_defined?("@#{accessor_name}")
20
-
21
- instance_variable_set("@#{accessor_name}", klass_child.new)
22
- end
23
- end
24
- alias attach_to attach_config_to_parent
25
- end
26
-
27
- # move out into module
28
- def to_h
29
- hash = {}
30
- instance_variables.each do |var|
31
- value = instance_variable_get(var)
32
-
33
- value = KUtil.data.to_hash(value) if complex_type?(value)
34
-
35
- hash[var.to_s.delete('@')] = value
36
- end
37
- hash
38
- end
39
-
40
- # This code is being moved into k_util (data)
41
- # Any basic (aka primitive) type
42
- def basic_type?(value)
43
- value.is_a?(String) ||
44
- value.is_a?(Symbol) ||
45
- value.is_a?(FalseClass) ||
46
- value.is_a?(TrueClass) ||
47
- value.is_a?(Integer) ||
48
- value.is_a?(Float)
49
- end
50
-
51
- # Anything container that is not a regular class
52
- def complex_type?(value)
53
- value.is_a?(Array) ||
54
- value.is_a?(Hash) ||
55
- value.is_a?(Struct) ||
56
- value.is_a?(OpenStruct) ||
57
- value.respond_to?(:to_h)
58
- end
59
-
60
- def kv(name, value)
61
- puts "#{name.rjust(30)} : #{value}"
62
- end
63
- end
64
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Attach configuration to the KBuilder module
4
- module KBuilder
5
- # Configuration for webpack5/builder
6
- class << self
7
- attr_writer :configuration
8
-
9
- def configuration(name = :default)
10
- @configuration ||= Hash.new do |h, key|
11
- h[key] = KBuilder::Configuration.new
12
- end
13
- @configuration[name]
14
- end
15
-
16
- def reset(name = :default)
17
- @configuration ||= Hash.new do |h, key|
18
- h[key] = KBuilder::Configuration.new
19
- end
20
- @configuration[name] = KBuilder::Configuration.new
21
- end
22
-
23
- def configure(name = :default)
24
- yield(configuration(name))
25
- end
26
- end
27
-
28
- # Does this class need to move out into k_types?
29
- # It is being used with k_manager in a similar fashion
30
- #
31
- # Configuration class
32
- class Configuration < BaseConfiguration
33
- include KLog::Logging
34
-
35
- # Target folders provide a set named folders that can be written to
36
- attr_accessor :target_folders
37
-
38
- # Template folders provides layered folders that templates can exist within
39
- attr_accessor :template_folders
40
-
41
- def initialize
42
- super
43
- # @target_folder = Dir.getwd
44
- # @template_folder = File.join(Dir.getwd, '.templates')
45
- # @global_template_folder = nil
46
- @target_folders = KType::NamedFolders.new
47
- @template_folders = KType::LayeredFolders.new
48
- end
49
-
50
- def initialize_copy(orig)
51
- super(orig)
52
-
53
- @target_folders = orig.target_folders.clone
54
- @template_folders = orig.template_folders.clone
55
- end
56
-
57
- def debug(heading: 'kbuilder base configuration')
58
- log.section_heading 'kbuilder base configuration' if heading
59
-
60
- # TODO: Add name to configuration object
61
- # Don't have support for name on the configuration object yet
62
- # log.kv 'config name', name
63
-
64
- target_folders.debug(title: 'target_folders')
65
-
66
- # log.info ''
67
-
68
- template_folders.debug(title: 'template folders (search order)')
69
- ''
70
- end
71
- end
72
- end