reportinator 0.3.2 → 0.3.3

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