my_data 0.10.0 → 0.12.1

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: 3273ccb4d8c804998eb68ca24672853ac653d978c345aa48defa92630f9e38ef
4
- data.tar.gz: 2405e53492df2ed8a5b6a7767a047970ba5ff023ebe96579c2fe7dd1e9ba8729
3
+ metadata.gz: 33987a7e6f6ffd9d4378c7e63bef80b41b5a849cfbd35c4f2e38c6bd68371a42
4
+ data.tar.gz: 8221798228321c166954a13398deafb2858486a3654dc0e874a28db0f425bad8
5
5
  SHA512:
6
- metadata.gz: 7b06573c6884bf67928aee498df4dad7e27150c64343a7fbf55df81cba1101aee4582b414e4c5b043eef9ec59b231d1eb0d8a7fd7f52d88e6ef55283554f0dfa
7
- data.tar.gz: 0023b41d611bfb42026195a57d9a387e551f2025ba6057a59e46a843a78504a6a06bbaa47a0142591d9d867f636ee1fd3dd8dfe7ca85445a2ca1d3c2c59e9aed
6
+ metadata.gz: 77b89a0e5ad00c055f1d48b892d397ac04c417bedff3045841dca8080dbe435801bd4bfd75867827458595dc0f01c6086983e6f3e98e990b26b49a1c17e4a624
7
+ data.tar.gz: feb750a3903d4dbe7c90f9cc589be1dec89319d92550db2e0ccde8d3df2aaaa68449a45ce1e31bbb681bd7453f12124557bd2e6c6e50dc9dfa3cda8c08dc0940
@@ -1,4 +1,4 @@
1
- name: Lint
1
+ name: CI
2
2
 
3
3
  on: push
4
4
 
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # AADE MyData ruby client
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/my_data.svg)](https://rubygems.org/gems/my_data)
4
+ [![GitHub Actions CI](https://github.com/mikezaby/my_data/actions/workflows/ci.yml/badge.svg)](https://github.com/mikezaby/my_data/actions/workflows/ci.yml)
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/7a96aa72dce8a761467d/maintainability)](https://codeclimate.com/github/mikezaby/my_data/maintainability)
6
+
3
7
  A Ruby client for [AADE myDATA](https://www.aade.gr/mydata) API
4
8
 
5
9
  ## Installation
@@ -7,11 +7,27 @@ class MyData::ResponseParser
7
7
  @root = root
8
8
  end
9
9
 
10
+ def status
11
+ if success?
12
+ :success
13
+ elsif original_response.status == 401
14
+ :unauthorized
15
+ elsif original_response.status == 400
16
+ :bad_request
17
+ else
18
+ :validation_error
19
+ end
20
+ end
21
+
10
22
  def success?
11
23
  original_response.status == 200 &&
12
24
  (!response_type? || response.response.all? { |r| r.status_code == "Success" })
13
25
  end
14
26
 
27
+ def responded_at
28
+ @responded_at ||= Time.parse(original_response.headers["date"])
29
+ end
30
+
15
31
  def errors
16
32
  @errors ||=
17
33
  if success?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MyData
4
- VERSION = "0.10.0"
4
+ VERSION = "0.12.1"
5
5
  end
@@ -32,11 +32,24 @@ module MyData
32
32
 
33
33
  private
34
34
 
35
+ def value_to_string(key, value)
36
+ case mappings[key][:type]
37
+ when :date
38
+ value.strftime("%Y-%m-%d")
39
+ else
40
+ value.to_s
41
+ end
42
+ end
43
+
35
44
  def value_to_xml_structure(key, value)
36
45
  is_resource = mappings[key][:resource].present?
37
46
 
38
47
  transform = lambda do |v|
39
- is_resource ? self.class.new(v, parent_namespace: namespace).to_xml_structure : v.to_s
48
+ if is_resource
49
+ self.class.new(v, parent_namespace: namespace).to_xml_structure
50
+ else
51
+ value_to_string(key, v)
52
+ end
40
53
  end
41
54
 
42
55
  value.is_a?(Array) ? value.map(&transform) : transform.call(value)
@@ -61,9 +61,7 @@ module MyData::Xsd::Structure
61
61
  end
62
62
 
63
63
  def classify(type)
64
- namespace, name = type.split(":").map(&:camelize)
65
-
66
- "#{namespace}::#{name}"
64
+ type.split(":").map(&:camelize).join("::")
67
65
  end
68
66
 
69
67
  def type_mapping(type)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michalis Zamparas
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-22 00:00:00.000000000 Z
11
+ date: 2022-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -87,7 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - ".github/workflows/lint.yml"
90
+ - ".github/workflows/ci.yml"
91
91
  - ".gitignore"
92
92
  - ".rspec"
93
93
  - ".rubocop.yml"
@@ -153,7 +153,7 @@ licenses:
153
153
  metadata:
154
154
  homepage_uri: https://github.com/mikezaby/my_data
155
155
  source_code_uri: https://github.com/mikezaby/my_data
156
- post_install_message:
156
+ post_install_message:
157
157
  rdoc_options: []
158
158
  require_paths:
159
159
  - lib
@@ -168,8 +168,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubygems_version: 3.1.4
172
- signing_key:
171
+ rubygems_version: 3.2.26
172
+ signing_key:
173
173
  specification_version: 4
174
174
  summary: Api client for AADE myData
175
175
  test_files: []