Class: FdxV660Api::DataProviderAtEcosystemRegistry

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb

Overview

Record of Data Provider at Ecosystem Registry. Properties in this structure use 'snake_case' names to match the properties in IETF RFC 7591.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(name: SKIP, description: SKIP, uri: SKIP, logo_uri: SKIP, contacts: SKIP, registry_references: SKIP, data_provider_id: SKIP, scope: SKIP, duration_type: SKIP, duration_period: SKIP, lookback_period: SKIP, intermediaries: SKIP, additional_properties: nil) ⇒ DataProviderAtEcosystemRegistry

Returns a new instance of DataProviderAtEcosystemRegistry.



106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 106

def initialize(name: SKIP, description: SKIP, uri: SKIP, logo_uri: SKIP,
               contacts: SKIP, registry_references: SKIP,
               data_provider_id: SKIP, scope: SKIP, duration_type: SKIP,
               duration_period: SKIP, lookback_period: SKIP,
               intermediaries: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @name = name unless name == SKIP
  @description = description unless description == SKIP
  @uri = uri unless uri == SKIP
  @logo_uri = logo_uri unless logo_uri == SKIP
  @contacts = contacts unless contacts == SKIP
  @registry_references = registry_references unless registry_references == SKIP
  @data_provider_id = data_provider_id unless data_provider_id == SKIP
  @scope = scope unless scope == SKIP
  @duration_type = duration_type unless duration_type == SKIP
  @duration_period = duration_period unless duration_period == SKIP
  @lookback_period = lookback_period unless lookback_period == SKIP
  @intermediaries = intermediaries unless intermediaries == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#contactsArray[String]

Array of strings representing ways to contact people responsible for this intermediary

Returns:

  • (Array[String])


33
34
35
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 33

def contacts
  @contacts
end

#data_provider_idString

Data Provider Id at ecosystem registry

Returns:

  • (String)


41
42
43
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 41

def data_provider_id
  @data_provider_id
end

#descriptionString

A short description of the intermediary

Returns:

  • (String)


20
21
22
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 20

def description
  @description
end

#duration_periodInteger

The maximum consent duration in days for duration_type TIME_BOUND for the Data Recipient

Returns:

  • (Integer)


54
55
56
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 54

def duration_period
  @duration_period
end

#duration_typeArray[ConsentDurationType]

The allowable duration types of consent for Data Recipient consumers

Returns:



49
50
51
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 49

def duration_type
  @duration_type
end

#intermediariesArray[Intermediary]

An array of the intermediaries for this data provider

Returns:



63
64
65
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 63

def intermediaries
  @intermediaries
end

#logo_uriString

A URL string that references a logo for this intermediary

Returns:

  • (String)


28
29
30
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 28

def logo_uri
  @logo_uri
end

#lookback_periodInteger

The maximum number of days allowed for Data Recipients to obtain in transaction history

Returns:

  • (Integer)


59
60
61
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 59

def lookback_period
  @lookback_period
end

#nameString

Name of intermediary party

Returns:

  • (String)


16
17
18
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 16

def name
  @name
end

#registry_referencesArray[RegistryReference]

Registry references for this intermediary

Returns:



37
38
39
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 37

def registry_references
  @registry_references
end

#scopeString

Space-separated array of provider-supported data clusters

Returns:

  • (String)


45
46
47
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 45

def scope
  @scope
end

#uriString

A URL string of a web page providing information about the intermediary

Returns:

  • (String)


24
25
26
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 24

def uri
  @uri
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 130

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  name = hash.key?('name') ? hash['name'] : SKIP
  description = hash.key?('description') ? hash['description'] : SKIP
  uri = hash.key?('uri') ? hash['uri'] : SKIP
  logo_uri = hash.key?('logo_uri') ? hash['logo_uri'] : SKIP
  contacts = hash.key?('contacts') ? hash['contacts'] : SKIP
  # Parameter is an array, so we need to iterate through it
  registry_references = nil
  unless hash['registry_references'].nil?
    registry_references = []
    hash['registry_references'].each do |structure|
      registry_references << (RegistryReference.from_hash(structure) if structure)
    end
  end

  registry_references = SKIP unless hash.key?('registry_references')
  data_provider_id =
    hash.key?('data_provider_id') ? hash['data_provider_id'] : SKIP
  scope = hash.key?('scope') ? hash['scope'] : SKIP
  duration_type = hash.key?('duration_type') ? hash['duration_type'] : SKIP
  duration_period =
    hash.key?('duration_period') ? hash['duration_period'] : SKIP
  lookback_period =
    hash.key?('lookback_period') ? hash['lookback_period'] : SKIP
  # Parameter is an array, so we need to iterate through it
  intermediaries = nil
  unless hash['intermediaries'].nil?
    intermediaries = []
    hash['intermediaries'].each do |structure|
      intermediaries << (Intermediary.from_hash(structure) if structure)
    end
  end

  intermediaries = SKIP unless hash.key?('intermediaries')

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  DataProviderAtEcosystemRegistry.new(name: name,
                                      description: description,
                                      uri: uri,
                                      logo_uri: logo_uri,
                                      contacts: contacts,
                                      registry_references: registry_references,
                                      data_provider_id: data_provider_id,
                                      scope: scope,
                                      duration_type: duration_type,
                                      duration_period: duration_period,
                                      lookback_period: lookback_period,
                                      intermediaries: intermediaries,
                                      additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 66

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['name'] = 'name'
  @_hash['description'] = 'description'
  @_hash['uri'] = 'uri'
  @_hash['logo_uri'] = 'logo_uri'
  @_hash['contacts'] = 'contacts'
  @_hash['registry_references'] = 'registry_references'
  @_hash['data_provider_id'] = 'data_provider_id'
  @_hash['scope'] = 'scope'
  @_hash['duration_type'] = 'duration_type'
  @_hash['duration_period'] = 'duration_period'
  @_hash['lookback_period'] = 'lookback_period'
  @_hash['intermediaries'] = 'intermediaries'
  @_hash
end

.nullablesObject

An array for nullable fields



102
103
104
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 102

def self.nullables
  []
end

.optionalsObject

An array for optional fields



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 84

def self.optionals
  %w[
    name
    description
    uri
    logo_uri
    contacts
    registry_references
    data_provider_id
    scope
    duration_type
    duration_period
    lookback_period
    intermediaries
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



203
204
205
206
207
208
209
210
211
212
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 203

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, uri:"\
  " #{@uri.inspect}, logo_uri: #{@logo_uri.inspect}, contacts: #{@contacts.inspect},"\
  " registry_references: #{@registry_references.inspect}, data_provider_id:"\
  " #{@data_provider_id.inspect}, scope: #{@scope.inspect}, duration_type:"\
  " #{@duration_type.inspect}, duration_period: #{@duration_period.inspect}, lookback_period:"\
  " #{@lookback_period.inspect}, intermediaries: #{@intermediaries.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



192
193
194
195
196
197
198
199
200
# File 'lib/fdx_v660_api/models/data_provider_at_ecosystem_registry.rb', line 192

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name}, description: #{@description}, uri: #{@uri}, logo_uri:"\
  " #{@logo_uri}, contacts: #{@contacts}, registry_references: #{@registry_references},"\
  " data_provider_id: #{@data_provider_id}, scope: #{@scope}, duration_type:"\
  " #{@duration_type}, duration_period: #{@duration_period}, lookback_period:"\
  " #{@lookback_period}, intermediaries: #{@intermediaries}, additional_properties:"\
  " #{@additional_properties}>"
end