error_response 1.1.3 → 1.1.5

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: eea1c185857878a19d01ad3e5cd4d111ba65eadab2c084b1e5ab78fa92616acf
4
- data.tar.gz: 36469f89051a6de9d3e8fe6f7bca009be69fc9d47ef2599b8908f535521ade9c
3
+ metadata.gz: be55d329521776f2e80ba371ea10d3117c7d9888576657473703c73abbff6d02
4
+ data.tar.gz: 5aa2d7f720ad2b7c43a385b1a5c93f9be45dcf4a497e78eb448dbe55d7d66fb3
5
5
  SHA512:
6
- metadata.gz: 0c03ed6ff00be3f3089b03a0520b8972a0bf1dcee42c97427ef5d47ea3a901cf20ca0cda362bd1beeefa4144747a6616959f19717934efb4aef026dc759d483c
7
- data.tar.gz: 12ca545903972857e0e16743a1174b05dd05dd8739dbac43206ae5cc784063d8428146931a3eff64a31b20d6a024054b8921316cfaf9704ec8862ed1c4a62dbb
6
+ metadata.gz: 94d0af3979cf503914748fc80b3bf1485f269eff26b249c41537591d7e3bc5b5bec16132f6832fd2d2e0883dc4b391749a41a5478a26566ed63b7b942d1b66f0
7
+ data.tar.gz: 8affff0d7054b45b8ccdfe8a89d285335e2b7f1f7334416ffa2ec5ea8f8355216ef3d76d2467f8bccec0283e9b2fcf15f8f4cc9f83d2ccb17ab62bda4893ea7a
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support'
3
+ require 'active_support/concern'
4
4
 
5
5
  module ErrorResponse
6
6
  module Helper
@@ -18,8 +18,11 @@ module ErrorResponse
18
18
 
19
19
  def error_response(key, error_message = nil, error_data = {})
20
20
  render_content = ErrorResponse.to_api(key, error_message).deep_dup
21
- render_content[:json].merge!(error_data) if error_data.present? && error_data.is_a?(Hash)
22
- render_content[:json].merge!(error_data: error_data) if error_data.present? && error_data.is_a?(Array)
21
+ if error_data.is_a?(Hash) && !error_data.empty?
22
+ render_content[:json] = render_content[:json].merge(error_data)
23
+ elsif error_data.is_a?(Array) && !error_data.empty?
24
+ render_content[:json] = render_content[:json].merge(error_data: error_data)
25
+ end
23
26
  render(render_content)
24
27
  end
25
28
  end
@@ -45,9 +45,9 @@ module ErrorResponse
45
45
  def yaml_hash
46
46
  return @hash unless @hash.nil?
47
47
 
48
- settings = YAML.load(File.read(configuration.yaml_config_path))
48
+ settings = YAML.safe_load(File.read(configuration.yaml_config_path), permitted_classes: permitted_classes, aliases: true)
49
49
  local_array = settings['source']['local']
50
- local_hash = local_array.nil? ? {} : local_array.map { |path| YAML.load_file(path) }.inject(&:merge)
50
+ local_hash = local_array.nil? ? {} : local_array.map { |path| YAML.safe_load_file(path, permitted_classes: permitted_classes, aliases: true) }.inject(&:merge)
51
51
 
52
52
  remote_array = settings['source']['remote']
53
53
  remote_hash = remote_array.nil? ? {} : remote_array.map { |url| build_yaml(url) }.inject(&:merge)
@@ -57,7 +57,7 @@ module ErrorResponse
57
57
 
58
58
  def build_yaml(url)
59
59
  content = URI.open(url){|f| f.read}
60
- YAML.load(content)
60
+ YAML.safe_load(content, permitted_classes: permitted_classes, aliases: true)
61
61
  rescue
62
62
  puts "Load yaml from URL (#{url}) failed."
63
63
  {}
@@ -76,6 +76,20 @@ module ErrorResponse
76
76
  end
77
77
  ]}]
78
78
  end
79
+
80
+ def permitted_classes
81
+ [
82
+ Date,
83
+ Time,
84
+ Symbol,
85
+ Integer,
86
+ Float,
87
+ String,
88
+ TrueClass,
89
+ FalseClass,
90
+ NilClass
91
+ ]
92
+ end
79
93
  end
80
94
 
81
95
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: error_response
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kdan Mobile Software Developer
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-05-18 00:00:00.000000000 Z
10
+ date: 2025-07-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,14 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 6.1.7.3
18
+ version: 7.1.5.1
20
19
  type: :development
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: 6.1.7.3
25
+ version: 7.1.5.1
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
27
40
  description: use for error_response
28
41
  email: dev@kdanmobile.com
29
42
  executables: []
@@ -40,7 +53,6 @@ licenses:
40
53
  metadata:
41
54
  source_code_uri: https://github.com/kdan-mobile-software-ltd/error_response
42
55
  changelog_uri: https://github.com/kdan-mobile-software-ltd/error_response/blob/master/CHANGELOG.md
43
- post_install_message:
44
56
  rdoc_options: []
45
57
  require_paths:
46
58
  - lib
@@ -55,8 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
67
  - !ruby/object:Gem::Version
56
68
  version: '0'
57
69
  requirements: []
58
- rubygems_version: 3.4.6
59
- signing_key:
70
+ rubygems_version: 3.6.9
60
71
  specification_version: 4
61
72
  summary: A tool for API error response
62
73
  test_files: []