dina 0.5.5.0 → 0.5.6.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: 2219751eeaf3e31b3b3206c5ca7b87a9e724662c3ed64c0781f8c35668b365cf
4
- data.tar.gz: c951a685a472e4486a8847d1a2bf415e4ff39c540e80b9b4e50da72d073e69c4
3
+ metadata.gz: 62273e1ca015c3dd396d3b172fbeed70a28c4643596757d90f66c633c55fce8c
4
+ data.tar.gz: b7f144bf00746282effeb0fe051311d1cad137ba50723423b21d282ce64f73fe
5
5
  SHA512:
6
- metadata.gz: 7fe97ac48169a94af0b4b4d8dc5fe380b9b7aca9ac9abf656b915c428df20949f5b2bd034b681b9e23ac2e44d10635a7c64a5c947348a0f7f9f0bd6d79f5f882
7
- data.tar.gz: 131b8bab4675a4bffec2aa7f22a2b52ef495914ad6f4203cf73866736c16ddceba2142a26e8135f3d5ad161d8618f2a151087ab73658d24799b1043fa2c399b2
6
+ metadata.gz: b46857817cc32098431b2f26968fed5c1114abd1f7d5c73ad2b0f6712391f3c68aa8b1dc119f3d6738dccfbf650c027fbd269108837c6cc460211769265859a2
7
+ data.tar.gz: 49450a8abbb6797d7be3ff0f0d63d1359c61fa1c983898fe39e6644fbbfe70a3d7ee85aad2403f7f05d5d2251e714f5bc55174aa32d333e51514e2ee3e2ec15d
@@ -39,6 +39,10 @@ module Dina
39
39
  @endpoint_url = options[:endpoint_url]
40
40
  Keycloak.auth_server_url = options[:authorization_url]
41
41
  Keycloak.realm = options[:realm]
42
+
43
+ if ::File.zero?(@token_store_file)
44
+ create_empty_token
45
+ end
42
46
  end
43
47
 
44
48
  # Gets, sets, and renews a Bearer access token as required
@@ -46,10 +50,6 @@ module Dina
46
50
  #
47
51
  # @return [String] the Bearer token
48
52
  def self.header
49
- if ::File.zero?(@token_store_file)
50
- create_empty_token
51
- end
52
-
53
53
  if access_token.nil? || refresh_token.nil?
54
54
  set_token
55
55
  end
@@ -17,7 +17,7 @@ module Dina
17
17
  has_many :identifiers, class_name: "Identifier"
18
18
 
19
19
  validates_presence_of :familyNames, message: "familyNames is required"
20
- validates_presence_of :displayName
20
+ validates_presence_of :displayName, message: "displayName is required"
21
21
 
22
22
  def self.endpoint_path
23
23
  "agent-api/"
@@ -23,6 +23,10 @@ module Dina
23
23
  self.where("group.groupName": group).page(page).per(per)
24
24
  end
25
25
 
26
+ def self.properties
27
+ self.schema.instance_values["properties"]
28
+ end
29
+
26
30
  def initialize(params = {})
27
31
  symbolized_params = params.transform_keys(&:to_sym)
28
32
  params["id"] = SecureRandom.uuid if !symbolized_params[:id]
@@ -33,7 +33,7 @@ module Dina
33
33
  # @param email [String] a name
34
34
  # @return object [Object] a Collection object
35
35
  def self.find_by_name(name)
36
- where(name: name).all.first
36
+ where(name: name).all
37
37
  end
38
38
 
39
39
  # Finds a Collection object by code
@@ -41,7 +41,7 @@ module Dina
41
41
  # @param code [String] a code
42
42
  # @return object [Object] a Collection object
43
43
  def self.find_by_code(code)
44
- where(code: code).all.first
44
+ where(code: code).all
45
45
  end
46
46
 
47
47
  end
@@ -16,6 +16,7 @@ module Dina
16
16
  belongs_to :ac_derived_from, shallow_path: true, class_name: "ObjectStore"
17
17
 
18
18
  validates_presence_of :group, message: "group is required"
19
+ validates_presence_of :bucket, message: "bucket is required"
19
20
 
20
21
  def self.endpoint_path
21
22
  "objectstore-api/"
@@ -28,8 +29,8 @@ module Dina
28
29
  private
29
30
 
30
31
  def on_before_save
31
- if self.bucket.nil?
32
- self.bucket = self.group
32
+ if self.group && self.bucket.nil?
33
+ self.bucket = self.group.downcase
33
34
  end
34
35
  super
35
36
  end
@@ -34,6 +34,7 @@ module Dina
34
34
  has_many :derivatives, class_name: "Derivative"
35
35
 
36
36
  validates_presence_of :group, message: "group is required"
37
+ validates_presence_of :bucket, message: "bucket is required"
37
38
  validates_presence_of :dcFormat, message: "dcFormat is required"
38
39
  validates_presence_of :dcType, message: "dcType is required"
39
40
  validates_presence_of :xmpRightsUsageTerms, message: "xmpRightsUsageTerms is required"
@@ -63,6 +64,9 @@ module Dina
63
64
  private
64
65
 
65
66
  def on_before_save
67
+ if self.group && self.bucket.nil?
68
+ self.bucket = self.group.downcase
69
+ end
66
70
  if !self.dcType.nil? && !self.class.accepted_types.include?(self.dcType)
67
71
  raise PropertyValueInvalid, "#{self.class} is invalid. Accepted value for dcType is one of #{self.class.accepted_types.join(", ")}"
68
72
  end
data/lib/dina/version.rb CHANGED
@@ -3,7 +3,7 @@ module Dina
3
3
 
4
4
  MAJOR = 0
5
5
  MINOR = 5
6
- PATCH = 5
6
+ PATCH = 6
7
7
  BUILD = 0
8
8
 
9
9
  def self.version
data/lib/dina.rb CHANGED
@@ -14,4 +14,7 @@ module Dina
14
14
  JsonApiClient::Schema.register multilingual_title: Dina::MultilingualTitleCaster
15
15
  JsonApiClient::Schema.register multilingual_description: Dina::MultilingualDescriptionCaster
16
16
 
17
+ def self.classes
18
+ Dina::BaseModel.subclasses
19
+ end
17
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5.0
4
+ version: 0.5.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David P. Shorthouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-13 00:00:00.000000000 Z
11
+ date: 2022-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_api_client