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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1640b58d6109a19bdbf48ce1065c18cee4e026a0eb4e4fc0b983664258d3794d
4
- data.tar.gz: '097529bb768d21517db8d511fa9b7b17c029c8a513bbdd95ee52e8d8e2747450'
3
+ metadata.gz: dacec3e0a6c1fa83b9d6ab56a73e89718ec8a05abc97faad0bffc8e1abfd06cf
4
+ data.tar.gz: 531551d591e30e5963bde825412f0611d4b2aacb899db8438c5e27e7bb6725df
5
5
  SHA512:
6
- metadata.gz: a8fc97d8d0d8ad6a780d25cd07ee87ef52960b9175be94f8b9cc6f8714921b5a489cfedd77a3546ad73b8dd68e61d918ef515d221b744427490c6c949a980bbb
7
- data.tar.gz: 8b94e32337cf10a45ac0a699e729e1361d649a0122bf4e09696cee054fc45c3318a58d72b4394816f62313ae4ecef2f2e3e70c54dff7dd9654de463430c13210
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.methods.include?(method.to_sym)
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
- new(element: element.dup, metadata: metadata).output
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Reportinator
4
- VERSION = "0.3.2"
4
+ VERSION = "0.3.3"
5
5
  end
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.2
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-24 00:00:00.000000000 Z
11
+ date: 2022-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel