k_doc 0.0.5 → 0.0.6

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: 03b82733202ef286cfa4fb0d07f46da4b6b6979361b17174f737e5e8e677fa04
4
- data.tar.gz: cadbc6795fc6816aae37fdab6155aedb87b3088674fed43fbce7c1d295a7f20c
3
+ metadata.gz: a09106429335b14c4ee45ec10c378f620261b22f086e45065fa37a2e797c9246
4
+ data.tar.gz: d9ceb85d7df7c168579258624328a096cdf664d00d007b4fc71aa2d611d78531
5
5
  SHA512:
6
- metadata.gz: 4490d6fdbd9e74ad5bafe67107eede6f0585df1a2971fcb11a55ac273f17abab111731ebdd2bc4c7588f19374bc4f5a46b8e2f25e2bd72a5b0f00bec9a9e9d61
7
- data.tar.gz: df71d4889f44ec61a235862392bb2dbc5c83ad2f750295c03f5b267df308cb9cd7f6ae53d24180f8343597b4481855586d6519c07089616f9678d36c436d47ec
6
+ metadata.gz: 41e58349fd4b47312ac209c0d70afd49ee66b5370ab97e4bf5cc4615bd35461f8e3f8fb6849001bf655851fe266a2ea1f0ef997a1ac8b292a56fa13c2397dc65
7
+ data.tar.gz: 78ca5c98f0f1d25a7d5148dd28dfb477cedad276f44a49177bd9b8e5e4508daa1138f995bfef49ab337c4d67f9674b1130cc9e8c381b075cef8b20fd1b14dc49
data/lib/k_doc.rb CHANGED
@@ -11,7 +11,7 @@ require 'k_log/log_helper'
11
11
  require 'k_log/log_util'
12
12
 
13
13
  require 'k_doc/version'
14
- require 'k_doc/data'
14
+ require 'k_doc/logging'
15
15
  require 'k_doc/document'
16
16
  require 'k_doc/fake_opinion'
17
17
  require 'k_doc/settings'
@@ -37,18 +37,6 @@ module KDoc
37
37
 
38
38
  KDoc.opinion = KDoc::FakeOpinion.new
39
39
  KDoc.util = KDoc::Util.new
40
-
41
- # Need to move this into a KLog factory
42
- def self.configure_logger
43
- logger = Logger.new($stdout)
44
- logger.level = Logger::DEBUG
45
- logger.formatter = KLog::LogFormatter.new
46
- KLog::LogUtil.new(logger)
47
- end
48
-
49
- # KDoc.log = configure_logger
50
40
  end
51
41
 
52
- L = KDoc.configure_logger
53
-
54
42
  puts "KDoc::Version: #{KDoc::VERSION}" if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
@@ -5,6 +5,8 @@ module KDoc
5
5
  #
6
6
  # Made up of 0 or more setting groups and table groups
7
7
  class Document
8
+ include KDoc::Logging
9
+
8
10
  attr_reader :key
9
11
  attr_reader :type
10
12
  attr_reader :namespace
@@ -39,12 +41,12 @@ module KDoc
39
41
  # @error = e
40
42
  # raise
41
43
  rescue StandardError => e
42
- L.error('Standard error in document')
44
+ log.error('Standard error in document')
43
45
  puts "key #{unique_key}"
44
46
  # puts "file #{KUtil.data.console_file_hyperlink(resource.file, resource.file)}"
45
- L.error(e.message)
47
+ log.error(e.message)
46
48
  @error = e
47
- # L.exception exception2
49
+ # log.exception exception2
48
50
  raise
49
51
  ensure
50
52
  @run_actions = nil
@@ -132,24 +134,26 @@ module KDoc
132
134
 
133
135
  # tp dsls.values, :k_key, :k_type, :state, :save_at, :last_at, :data, :last_data, :source, { :file => { :width => 150 } }
134
136
  # puts JSON.pretty_generate(data)
135
- L.o(raw_data_struct)
137
+ log.o(raw_data_struct)
136
138
  end
137
139
 
140
+ # rubocop:disable Metrics/AbcSize
138
141
  def debug_header
139
- L.heading self.class.name
140
- L.kv 'key', key
141
- L.kv 'type', type
142
- L.kv 'namespace', namespace
143
- L.kv 'error', error
142
+ log.heading self.class.name
143
+ log.kv 'key', key
144
+ log.kv 'type', type
145
+ log.kv 'namespace', namespace
146
+ log.kv 'error', error
144
147
 
145
148
  debug_header_keys
146
149
 
147
- L.line
150
+ log.line
148
151
  end
152
+ # rubocop:enable Metrics/AbcSize
149
153
 
150
154
  def debug_header_keys
151
155
  options&.keys&.reject { |k| k == :namespace }&.each do |key|
152
- L.kv key, options[key]
156
+ log.kv key, options[key]
153
157
  end
154
158
  end
155
159
 
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'k_log'
4
+ module KDoc
5
+ module Logging
6
+ def log
7
+ @log ||= KLog.logger
8
+ end
9
+ end
10
+ end
@@ -6,6 +6,8 @@ module KDoc
6
6
  # Builds up key/value settings from the block
7
7
  # and applies them to a key coded node on the hash
8
8
  class Settings
9
+ include Logging
10
+
9
11
  attr_reader :parent
10
12
  attr_reader :key
11
13
 
@@ -73,14 +75,14 @@ module KDoc
73
75
  # object.my_name
74
76
  # object.my_name('david')
75
77
  def add_getter_or_param_method(name)
76
- # L.progress(1, 'add_getter_or_param_method')
78
+ # log.progress(1, 'add_getter_or_param_method')
77
79
  self.class.class_eval do
78
- # L.progress(2, 'add_getter_or_param_method')
80
+ # log.progress(2, 'add_getter_or_param_method')
79
81
  name = name.to_s.gsub(/=$/, '')
80
- # L.progress(3, 'add_getter_or_param_method')
82
+ # log.progress(3, 'add_getter_or_param_method')
81
83
  define_method(name) do |*args|
82
- # L.progress(4, 'add_getter_or_param_method')
83
- # L.kv 'add_getter_or_param_method', name
84
+ # log.progress(4, 'add_getter_or_param_method')
85
+ # log.kv 'add_getter_or_param_method', name
84
86
  raise KDoc::Error, 'Multiple setting values is not supported' if args.length > 1
85
87
 
86
88
  if args.length.zero?
@@ -95,15 +97,15 @@ module KDoc
95
97
  # Handles Setter method
96
98
  # object.my_name = 'david'
97
99
  def add_setter_method(name)
98
- # L.progress(1, 'add_setter_method')
100
+ # log.progress(1, 'add_setter_method')
99
101
  self.class.class_eval do
100
- # L.progress(2, 'add_setter_method')
102
+ # log.progress(2, 'add_setter_method')
101
103
  name = name.to_s.gsub(/=$/, '')
102
- # L.progress(3, 'add_setter_method')
103
- # L.kv 'add_setter_method', name
104
+ # log.progress(3, 'add_setter_method')
105
+ # log.kv 'add_setter_method', name
104
106
  define_method("#{name}=") do |value|
105
- # L.progress(4, 'add_setter_method')
106
- # L.kv 'value', value
107
+ # log.progress(4, 'add_setter_method')
108
+ # log.kv 'value', value
107
109
  my_data[name.to_s] = value
108
110
  end
109
111
  end
data/lib/k_doc/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KDoc
4
- VERSION = '0.0.5'
4
+ VERSION = '0.0.6'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_doc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -67,9 +67,9 @@ files:
67
67
  - hooks/update-version
68
68
  - k_doc.gemspec
69
69
  - lib/k_doc.rb
70
- - lib/k_doc/data.rb
71
70
  - lib/k_doc/document.rb
72
71
  - lib/k_doc/fake_opinion.rb
72
+ - lib/k_doc/logging.rb
73
73
  - lib/k_doc/settings.rb
74
74
  - lib/k_doc/table.rb
75
75
  - lib/k_doc/util.rb
data/lib/k_doc/data.rb DELETED
@@ -1,258 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # module KDoc
4
- # # TODO
5
- # # Missing tests around errors
6
- # # Make sure that error writes to resource or document appropriately
7
- # # Puts errors onto a project manager pipeline so that they can be be printed out after the documents
8
- # #
9
- # # General purpose document DSL
10
- # #
11
- # # Made up of 0 or more setting groups and table groups
12
- # class Data
13
- # extend Forwardable
14
-
15
- # attr_reader :key
16
- # attr_reader :type
17
- # attr_reader :namespace
18
- # attr_reader :options
19
- # attr_reader :error
20
-
21
- # # State of document
22
- # # - :initializing
23
- # # - :initialized
24
- # # - :loading
25
- # # - :loaded
26
- # # - :executing
27
- # # - :executed
28
- # attr_reader :state
29
-
30
- # # Shortcut to formatter
31
- # attr_reader :f
32
-
33
- # attr_accessor :resource
34
-
35
- # def_delegator :resource, :project
36
-
37
- # def state=(state)
38
- # @state = state
39
- # # if [:initialized, :loaded, :executed].include?(state) &&
40
- # # (project.nil? || project.name == 'k_dsl')
41
- # # # pname = project.nil? ? '' : "#{project&.name} "
42
- # # L.kv "#{unique_key} - state", state
43
- # # end
44
- # @state
45
- # end
46
-
47
- # # Create document
48
- # #
49
- # # @param [String|Symbol] name Name of the document
50
- # # @param args[0] Type of the document, defaults to KDsl.config.default_document_type if not set
51
- # # @param default: Default value (using named params), as above
52
- # def initialize(key = SecureRandom.alphanumeric(8), *args, **options, &block)
53
- # @key = key
54
- # @type = args.length.positive? ? args[0] || KDsl.config.default_document_type : KDsl.config.default_document_type
55
-
56
- # @options = options || {}
57
- # @namespace = options[:namespace] || ''
58
- # default_data = options[:default_data] || {}
59
-
60
- # @namespace = @namespace.to_s
61
- # @error = nil
62
-
63
- # self.state = :initializing
64
-
65
- # # Most documents live within a hash, some tabular documents such as
66
- # # CSV will use an []
67
- # set_data(default_data)
68
-
69
- # @f = KDsl::Util.format
70
-
71
- # @block = block if block_given?
72
-
73
- # self.state = :initialized
74
- # end
75
-
76
- # def execute_block(run_actions: nil)
77
- # return if @block.nil?
78
-
79
- # # The DSL actions method will only run on run_actions: true
80
- # @run_actions = run_actions
81
-
82
- # # if unique_key == 'template_options_entity'
83
- # # L.kv '2:CLASS_ID', object_id
84
- # # end
85
- # if initialized?
86
- # self.state = :loading
87
- # instance_eval(&@block)
88
- # self.state = :loaded
89
- # end
90
- # # if unique_key == 'template_options_entity'
91
- # # L.kv '3:CLASS_ID', resource_document.object_id
92
- # # end
93
-
94
- # if loaded? && run_actions && respond_to?(:on_action)
95
- # @state = :executed
96
- # on_action
97
- # end
98
- # rescue KDsl::Error => e
99
- # L.error('KDsl::Error in document')
100
- # L.kv 'key', unique_key
101
- # L.kv 'file', KDsl::Util.data.console_file_hyperlink(resource.file, resource.file)
102
- # L.error(e.message)
103
- # @error = e
104
- # # L.heading "Invalid code block in document_dsl during registration: #{k_key}"
105
- # # L.exception exception
106
- # raise
107
- # rescue StandardError => e
108
- # L.error('Standard error in document')
109
- # L.kv 'key', unique_key
110
- # L.kv 'file', KDsl::Util.data.console_file_hyperlink(resource.file, resource.file)
111
- # L.error(e.message)
112
- # @error = e
113
- # # L.exception exception2
114
- # raise
115
- # ensure
116
- # @run_actions = nil
117
- # return
118
- # end
119
-
120
- # def initialized?
121
- # @state == :initialized
122
- # end
123
-
124
- # def loaded?
125
- # @state == :loaded
126
- # end
127
-
128
- # def executed?
129
- # @state == :executed
130
- # end
131
-
132
- # def unique_key
133
- # @unique_key ||= KDsl::Util.dsl.build_unique_key(key, type, namespace)
134
- # end
135
-
136
- # def settings(key = nil, **options, &block)
137
- # options ||= {}
138
-
139
- # opts = {}.merge(@options) # Document Options
140
- # .merge(options) # Settings Options
141
-
142
- # settings = settings_instance(@data, key, parent: self, &block)
143
- # settings.run_decorators(opts)
144
- # settings
145
- # end
146
-
147
- # def table(key = :table, &block)
148
- # # NEED to add support for run_decorators I think
149
- # table_instance(@data, key, parent: self, &block)
150
- # end
151
- # alias rows table
152
-
153
- # # Sweet add-on would be builders
154
- # # def builder(key, &block)
155
- # # # example
156
- # # KDsl::Builder::Shotstack.new(@data, key, &block)
157
- # # end
158
-
159
- # def set_data(data)
160
- # @data = data
161
- # end
162
-
163
- # def data
164
- # @data.clone
165
- # end
166
-
167
- # def data_struct
168
- # KDsl::Util.data.to_struct(data)
169
- # end
170
- # alias d data_struct
171
-
172
- # def raw_data_struct
173
- # KDsl::Util.data.to_struct(raw_data)
174
- # end
175
-
176
- # def get_node_type(node_name)
177
- # node_name = KDsl::Util.data.clean_symbol(node_name)
178
- # node_data = @data[node_name]
179
-
180
- # raise KDsl::Error, "Node not found: #{node_name}" if node_data.nil?
181
-
182
- # if node_data.keys.length == 2 && (node_data.key?('fields') && node_data.key?('rows'))
183
- # :table
184
- # else
185
- # :settings
186
- # end
187
- # end
188
-
189
- # # Removes any meta data eg. "fields" from a table and just returns the raw data
190
- # def raw_data
191
- # # REFACT, what if this is CSV, meaning it is just an array?
192
- # # add specs
193
- # result = data
194
-
195
- # result.each_key do |key|
196
- # # ANTI: get_node_type uses @data while we are using @data.clone here
197
- # data[key] = if get_node_type(key) == :table
198
- # result[key].delete('fields')
199
- # else
200
- # result[key]
201
- # end
202
- # end
203
-
204
- # data
205
- # end
206
-
207
- # # Move this out to the logger function when it has been refactor
208
- # def debug(include_header = false)
209
- # debug_header if include_header
210
-
211
- # # tp dsls.values, :k_key, :k_type, :state, :save_at, :last_at, :data, :last_data, :source, { :file => { :width => 150 } }
212
- # # puts JSON.pretty_generate(data)
213
- # L.o(raw_data_struct)
214
- # end
215
-
216
- # def debug_header
217
- # L.heading self.class.name
218
- # L.kv 'key', key
219
- # L.kv 'type', type
220
- # L.kv 'namespace', namespace
221
- # L.kv 'error', error
222
- # L.kv 'state', state
223
- # L.kv 'respond_to?(:on_import)', respond_to?(:on_import)
224
- # L.kv 'respond_to?(:david)', respond_to?(:david)
225
- # david if respond_to?(:david)
226
- # # L.kv 'INITALIZED', resource_document.initialized?
227
- # # L.kv 'EXECUTED', resource_document.executed?
228
-
229
- # options&.keys.reject { |k| k == :namespace }&.each do |key|
230
- # L.kv key, options[key]
231
- # end
232
-
233
- # L.line
234
- # end
235
-
236
- # # Helpers that often get called by extensions
237
-
238
- # def project
239
- # project ||= resource&.project
240
- # end
241
-
242
- # # Warning message
243
- # def warn(message)
244
- # L.warn message
245
- # nil
246
- # end
247
-
248
- # private
249
-
250
- # def settings_instance(data, key, **options, &block)
251
- # KDsl.config.settings_class.new(data, key, **options, &block)
252
- # end
253
-
254
- # def table_instance(data, key, **options, &block)
255
- # KDsl.config.table_class.new(data, key, **options, &block)
256
- # end
257
- # end
258
- # end