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