k_doc 0.0.21 → 0.0.22

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: a39ec448d9de5183b86d1ee4e4d45cf529db22669bf10567efd9c35151aaf79c
4
- data.tar.gz: 5d2388c614eeedec80cc2a1b2a587d94763102983b3ffdf64b04906a7efcc8ea
3
+ metadata.gz: 2dcd9625fafb133dca240894911cad20bf220718f4d12b9d73240d2079f4294f
4
+ data.tar.gz: 592c2661f4b9a8cd905325b60d6488110029245e89f3dfdd7c1f0eb518205afd
5
5
  SHA512:
6
- metadata.gz: 9dd44d107a8b053afadace454dec1b650a9bb92b5f24451ff77dec479000a270904938d925efc9639c10a955c605995b3608465437d46b670c687fd595915564
7
- data.tar.gz: b27b655fcd670d9db544f52b2b998fbf7adbbe00572cfec09c3e80d14518a403e1101826197c2d580e55768452c7791c6420f048ecafeeca59e0906ef2d1fbe0
6
+ metadata.gz: 303a6524573902efd1e7488d080ed1affe6aa23abd4eac80371d7aaceac7289c06fc4ab8dea4b9c817e3a896fce6538ded912684929586487fa043ca9f14cae2
7
+ data.tar.gz: 996f72379212f095f6786897287282a6add950ca83c5c554da61434556b919b258e1f5777d88116f57bbe756c247c9c09f19ca9b9536edb77c678786a5d16f50
data/k_doc.gemspec CHANGED
@@ -44,4 +44,7 @@ Gem::Specification.new do |spec|
44
44
  spec.add_dependency 'k_type' , '~> 0.0.0'
45
45
  spec.add_dependency 'k_util' , '~> 0.0.0'
46
46
  # spec.add_dependency 'tty-box', '~> 0.5.0'
47
+ spec.metadata = {
48
+ 'rubygems_mfa_required' => 'true'
49
+ }
47
50
  end
@@ -14,7 +14,7 @@ module KDoc
14
14
 
15
15
  # TODO: Owner/Owned need to be in a module and tested
16
16
  attr_accessor :owner
17
-
17
+
18
18
  def owned?
19
19
  @owner != nil
20
20
  end
@@ -31,8 +31,8 @@ module KDoc
31
31
  :container
32
32
  end
33
33
 
34
- def default_data_value
35
- {}
34
+ def default_data_type
35
+ Hash
36
36
  end
37
37
 
38
38
  def debug
data/lib/k_doc/csv_doc.rb CHANGED
@@ -53,8 +53,8 @@ module KDoc
53
53
  @loaded = false
54
54
  end
55
55
 
56
- def default_data_value
57
- []
56
+ def default_data_type
57
+ Array
58
58
  end
59
59
 
60
60
  def default_container_type
@@ -47,8 +47,8 @@ module KDoc
47
47
  @loaded = false
48
48
  end
49
49
 
50
- def default_data_value
51
- @default_data_value ||= {}
50
+ def default_data_type
51
+ Hash
52
52
  end
53
53
 
54
54
  def default_container_type
@@ -8,17 +8,14 @@ module KDoc
8
8
  attr_reader :data
9
9
 
10
10
  def initialize_data(opts)
11
- @default_data_value = opts.delete(:default_data_value) if opts.key?(:default_data_value)
12
- @data = opts.delete(:data) || opts.delete(:default_data) || default_data_value
11
+ @default_data_type = opts.delete(:default_data_type) if opts.key?(:default_data_type)
12
+ @data = opts.delete(:data) || opts.delete(:default_data) || default_data_type.new
13
13
 
14
- return if data.is_a?(default_data_value.class)
15
-
16
- warn("Incompatible data type - #{default_data_value.class} is incompatible with #{data.class}")
17
- @data = default_data_value
14
+ warn("Incompatible data type - #{default_data_type} is incompatible with #{data.class} in constructor") unless data.is_a?(default_data_type)
18
15
  end
19
16
 
20
- def default_data_value
21
- raise 'Implement default_data_value in container' unless @default_data_value
17
+ def default_data_type
18
+ raise 'Implement default_data_type in container' unless @default_data_type
22
19
  end
23
20
 
24
21
  # Write data object
@@ -28,7 +25,7 @@ module KDoc
28
25
  # @param [:replace] data_action :replace will replace the existing data instance with the incoming data value
29
26
  # @param [:append] data_action :append will keep existing data and then new value data over the top
30
27
  def set_data(value, data_action: :replace)
31
- return warn("Incompatible data type - #{default_data_value.class} is incompatible with #{value.class}") unless value.is_a?(default_data_value.class)
28
+ warn("Incompatible data type - #{default_data_type} is incompatible with #{value.class} in set data") unless value.is_a?(default_data_type)
32
29
 
33
30
  case data_action
34
31
  when :replace
@@ -5,12 +5,14 @@ module KDoc
5
5
  #
6
6
  # TODO: this could be moved into KType or KGuard
7
7
  module Guarded
8
+ Guard = Struct.new(:type, :message)
9
+
8
10
  def guard(message)
9
- errors << OpenStruct.new(type: :guard, message: message)
11
+ errors << Guard.new(:guard, message)
10
12
  end
11
13
 
12
14
  def warn(message)
13
- errors << OpenStruct.new(type: :warning, message: message)
15
+ errors << Guard.new(:warning, message)
14
16
  end
15
17
  alias warning warn
16
18
 
@@ -19,11 +21,18 @@ module KDoc
19
21
  end
20
22
 
21
23
  def error_messages
22
- @errors.map(&:message)
24
+ errors.map(&:message)
23
25
  end
24
26
 
25
27
  def valid?
26
- @errors.length.zero?
28
+ errors.length.zero?
29
+ end
30
+
31
+ def log_any_messages
32
+ errors.each do |error|
33
+ log.warn error.message if error.type == :warning
34
+ log.error error.message if error.type == :guard
35
+ end
27
36
  end
28
37
  end
29
38
  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.21'
4
+ VERSION = '0.0.22'
5
5
  end
@@ -37,6 +37,8 @@ module KDoc
37
37
  set_data(hash, data_action: data_action)
38
38
 
39
39
  @loaded = true
40
+
41
+ log_any_messages
40
42
  end
41
43
 
42
44
  def loaded?
@@ -50,8 +52,8 @@ module KDoc
50
52
  @loaded = false
51
53
  end
52
54
 
53
- def default_data_value
54
- @default_data_value ||= {}
55
+ def default_data_type
56
+ Hash
55
57
  end
56
58
 
57
59
  def default_container_type
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_doc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21
4
+ version: 0.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-27 00:00:00.000000000 Z
11
+ date: 2021-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -140,9 +140,7 @@ homepage: http://appydave.com/gems/k-doc
140
140
  licenses:
141
141
  - MIT
142
142
  metadata:
143
- homepage_uri: http://appydave.com/gems/k-doc
144
- source_code_uri: https://github.com/klueless-io/k_doc
145
- changelog_uri: https://github.com/klueless-io/k_doc/commits/master
143
+ rubygems_mfa_required: 'true'
146
144
  post_install_message:
147
145
  rdoc_options: []
148
146
  require_paths: