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 +4 -4
- data/k_doc.gemspec +3 -0
- data/lib/k_doc/container.rb +3 -3
- data/lib/k_doc/csv_doc.rb +2 -2
- data/lib/k_doc/json_doc.rb +2 -2
- data/lib/k_doc/mixins/datum.rb +6 -9
- data/lib/k_doc/mixins/guarded.rb +13 -4
- data/lib/k_doc/version.rb +1 -1
- data/lib/k_doc/yaml_doc.rb +4 -2
- metadata +3 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2dcd9625fafb133dca240894911cad20bf220718f4d12b9d73240d2079f4294f
|
4
|
+
data.tar.gz: 592c2661f4b9a8cd905325b60d6488110029245e89f3dfdd7c1f0eb518205afd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 303a6524573902efd1e7488d080ed1affe6aa23abd4eac80371d7aaceac7289c06fc4ab8dea4b9c817e3a896fce6538ded912684929586487fa043ca9f14cae2
|
7
|
+
data.tar.gz: 996f72379212f095f6786897287282a6add950ca83c5c554da61434556b919b258e1f5777d88116f57bbe756c247c9c09f19ca9b9536edb77c678786a5d16f50
|
data/k_doc.gemspec
CHANGED
data/lib/k_doc/container.rb
CHANGED
@@ -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
|
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
data/lib/k_doc/json_doc.rb
CHANGED
data/lib/k_doc/mixins/datum.rb
CHANGED
@@ -8,17 +8,14 @@ module KDoc
|
|
8
8
|
attr_reader :data
|
9
9
|
|
10
10
|
def initialize_data(opts)
|
11
|
-
@
|
12
|
-
@data = opts.delete(:data) || opts.delete(:default_data) ||
|
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
|
-
|
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
|
21
|
-
raise 'Implement
|
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
|
-
|
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
|
data/lib/k_doc/mixins/guarded.rb
CHANGED
@@ -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 <<
|
11
|
+
errors << Guard.new(:guard, message)
|
10
12
|
end
|
11
13
|
|
12
14
|
def warn(message)
|
13
|
-
errors <<
|
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
|
-
|
24
|
+
errors.map(&:message)
|
23
25
|
end
|
24
26
|
|
25
27
|
def valid?
|
26
|
-
|
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
data/lib/k_doc/yaml_doc.rb
CHANGED
@@ -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
|
54
|
-
|
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.
|
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-
|
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
|
-
|
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:
|