my_data 0.10.0 → 0.12.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/{lint.yml → ci.yml} +1 -1
- data/README.md +4 -0
- data/lib/my_data/response_parser.rb +16 -0
- data/lib/my_data/version.rb +1 -1
- data/lib/my_data/xml_generator.rb +14 -1
- data/lib/my_data/xsd/structure.rb +1 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33987a7e6f6ffd9d4378c7e63bef80b41b5a849cfbd35c4f2e38c6bd68371a42
|
4
|
+
data.tar.gz: 8221798228321c166954a13398deafb2858486a3654dc0e874a28db0f425bad8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77b89a0e5ad00c055f1d48b892d397ac04c417bedff3045841dca8080dbe435801bd4bfd75867827458595dc0f01c6086983e6f3e98e990b26b49a1c17e4a624
|
7
|
+
data.tar.gz: feb750a3903d4dbe7c90f9cc589be1dec89319d92550db2e0ccde8d3df2aaaa68449a45ce1e31bbb681bd7453f12124557bd2e6c6e50dc9dfa3cda8c08dc0940
|
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?
|
data/lib/my_data/version.rb
CHANGED
@@ -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
|
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)
|
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.
|
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:
|
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/
|
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.
|
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: []
|