dina 1.0.6.0 → 1.0.8.0

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: 4064ad0573e136cd9689cdaad722614941511d0b1500ce2dfc19d74ff3da3ee2
4
- data.tar.gz: 6c4b607e887e95c373be9641d54d0c4af81283189c1571d6bb9f43665c149347
3
+ metadata.gz: 917397652abb2b0768af4cadfe8bf3dd1eb24a68af6e787b391c9d604af9b84c
4
+ data.tar.gz: 434bf97f14162b26121f4ce86816bdcf716932c25432b7bb2c4378caa30f26bd
5
5
  SHA512:
6
- metadata.gz: 311f7c9495cd53b3f1ceae8fa574716b4176bbb98a7d58c3d972ccb117f7f5f568995855f4ee05d4211391ddc4a8ca1f7ee8520dd0d4812a62d47545336a78ad
7
- data.tar.gz: cfc8f399764083a03997839dba46858ba36f9ae86f3ea12684424a6064be58ac9fbe42bd796f1d5032e62f56531a00d9b20756b741837c544d85e0071a832601
6
+ metadata.gz: d8e655d7ac450c38480dbd9579705db8fcb4ba66a24d17db017a2dd9dcd3e26c2bf01accd258c2add7dd70fb1d49ef5c5063868fd59f81ca4c95bd8322b81829
7
+ data.tar.gz: 188fef0f7584d401d0f0f92eb27f00ff727a335fde51b76199924e8ab369cb7fe95f5b1a438f362fbc2151bc131264015a9aba4506a90fd818f81000cce018b3
@@ -21,7 +21,7 @@ module Dina
21
21
  Dina.config.endpoint_url + "/" + endpoint_path
22
22
  end
23
23
 
24
- # injects keybloak bearer token with all json_api_client calls
24
+ # injects keycloak bearer token with all json_api_client calls
25
25
  def self.custom_headers
26
26
  { content_type: "application/vnd.api+json", authorization: Dina.header }
27
27
  end
@@ -70,6 +70,18 @@ module Dina
70
70
  if self.geographicPlaceNameSource.nil?
71
71
  self.geographicPlaceNameSourceDetail = nil
72
72
  end
73
+ if self.dwcMinimumDepthInMeters && !Validator.valid_depth_elevation(value: self.dwcMinimumDepthInMeters)
74
+ raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dwcMinimumDepthInMeters must have no more than two decimal points and be >= 0 and <= 15000."
75
+ end
76
+ if self.dwcMaximumDepthInMeters && !Validator.valid_depth_elevation(value: self.dwcMaximumDepthInMeters)
77
+ raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dwcMaximumDepthInMeters must have no more than two decimal points and be >= 0 and <= 15000."
78
+ end
79
+ if self.dwcMinimumElevationInMeters && !Validator.valid_depth_elevation(value: self.dwcMinimumElevationInMeters)
80
+ raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dwcMinimumElevationInMeters must have no more than two decimal points and be >= 0 and <= 15000."
81
+ end
82
+ if self.dwcMaximumElevationInMeters && !Validator.valid_depth_elevation(value: self.dwcMaximumElevationInMeters)
83
+ raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dwcMaximumElevationInMeters must have no more than two decimal points and be >= 0 and <= 15000."
84
+ end
73
85
  super
74
86
  end
75
87
 
@@ -0,0 +1,9 @@
1
+ module Dina
2
+ class Validator
3
+
4
+ def self.valid_depth_elevation(value:)
5
+ value >= 0 && value <= 15000 && value.to_s.split('.').last.size <= 2
6
+ end
7
+
8
+ end
9
+ end
data/lib/dina/version.rb CHANGED
@@ -3,7 +3,7 @@ module Dina
3
3
 
4
4
  MAJOR = 1
5
5
  MINOR = 0
6
- PATCH = 6
6
+ PATCH = 8
7
7
  BUILD = 0
8
8
 
9
9
  def self.version
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dina
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6.0
4
+ version: 1.0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David P. Shorthouse
8
+ - Julia Douglas Freitas
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2023-06-21 00:00:00.000000000 Z
12
+ date: 2023-08-23 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: json_api_client
@@ -207,6 +208,7 @@ files:
207
208
  - lib/dina/utils/identifier_type.rb
208
209
  - lib/dina/utils/multi_lingual_description.rb
209
210
  - lib/dina/utils/multi_lingual_title.rb
211
+ - lib/dina/utils/validator.rb
210
212
  - lib/dina/version.rb
211
213
  homepage: https://github.com/dshorthouse/dina
212
214
  licenses: