reportinator 0.3.2 → 0.3.3
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/CHANGELOG.md +6 -0
- data/lib/reportinator/parsers/method.rb +2 -2
- data/lib/reportinator/parsers/value.rb +5 -4
- data/lib/reportinator/types/model.rb +1 -1
- data/lib/reportinator/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dacec3e0a6c1fa83b9d6ab56a73e89718ec8a05abc97faad0bffc8e1abfd06cf
|
4
|
+
data.tar.gz: 531551d591e30e5963bde825412f0611d4b2aacb899db8438c5e27e7bb6725df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7871de24cb6a5ee01b3d322c3eb1f608771fc295a465d17f9cb5b8972133f07b356f9f6d07303827828a1427f012a874b87bd1def683e3bcf54359d45ced25c4
|
7
|
+
data.tar.gz: 370375bb5373b1d84fdf26fde1fd92d449e09b65cc106645806796229f541c4c0491c11c139058e7c23b6712fbcf784bf10499a20bc4a35396a47ec539e04fce
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [0.3.3] 2022-11-28
|
9
|
+
### Fixed
|
10
|
+
- Target parsed by ValueParser.parse_and_execute method no longer is duplicated
|
11
|
+
- This fixes a bug where active record relations would not properly function
|
12
|
+
- ValueParser.parse has now a third parameter, a boolean on whether to duplicate
|
13
|
+
|
8
14
|
## [0.3.2] 2022-11-24
|
9
15
|
### Fixed
|
10
16
|
- Reference to schema file
|
@@ -48,15 +48,15 @@ module Reportinator
|
|
48
48
|
private
|
49
49
|
|
50
50
|
def send_value(target, method, value = nil)
|
51
|
-
method = method.to_s
|
52
51
|
return nil unless target_has_method?(target, method)
|
52
|
+
method = method.to_s
|
53
53
|
return target.send(method) unless value.present?
|
54
54
|
return target.send(method, *value) if value.instance_of?(Array)
|
55
55
|
target.send(method, value)
|
56
56
|
end
|
57
57
|
|
58
58
|
def target_has_method?(target, method)
|
59
|
-
target.
|
59
|
+
target.respond_to?(method)
|
60
60
|
end
|
61
61
|
|
62
62
|
def parse_method(target, method)
|
@@ -1,18 +1,19 @@
|
|
1
1
|
module Reportinator
|
2
|
-
class ValueParser < Parser
|
2
|
+
class ValueParser < Parser
|
3
3
|
attribute :element
|
4
4
|
attribute :metadata, default: {}
|
5
5
|
|
6
|
-
def self.parse(element, metadata = {})
|
6
|
+
def self.parse(element, metadata = {}, dup = true)
|
7
7
|
metadata = metadata.present? ? metadata : {}
|
8
|
-
|
8
|
+
input_element = (dup ? element.dup : element)
|
9
|
+
new(element: input_element, metadata: metadata).output
|
9
10
|
rescue => e
|
10
11
|
logger.error "[ERROR] #{e.class}: #{e}"
|
11
12
|
"Parsing Error"
|
12
13
|
end
|
13
14
|
|
14
15
|
def self.parse_and_execute(target, values, metadata = {})
|
15
|
-
parsed_target = parse(target, metadata)
|
16
|
+
parsed_target = parse(target, metadata, false)
|
16
17
|
parsed_values = parse(values, metadata)
|
17
18
|
MethodParser.parse(parsed_target, parsed_values)
|
18
19
|
end
|
@@ -8,7 +8,7 @@ module Reportinator
|
|
8
8
|
validates :target, presence: true
|
9
9
|
|
10
10
|
def data
|
11
|
-
self.target = ValueParser.parse(target, metadata)
|
11
|
+
self.target = ValueParser.parse(target, metadata, false)
|
12
12
|
return Row.create(get_model_data(target)) unless target.respond_to? :each
|
13
13
|
records_data.map { |data| Row.create(data) }
|
14
14
|
end
|
data/lib/reportinator/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reportinator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Moxvallix
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|