k_doc 0.0.21 → 0.0.22

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