Class: OdataDuty::Schema::Metadata

Inherits:
Object
  • Object
show all
Defined in:
lib/odata_duty.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema) ⇒ Metadata

Returns a new instance of Metadata.



222
223
224
# File 'lib/odata_duty.rb', line 222

def initialize(schema)
  @schema = schema
end

Instance Attribute Details

#schemaObject (readonly)

Returns the value of attribute schema.



220
221
222
# File 'lib/odata_duty.rb', line 220

def schema
  @schema
end

Instance Method Details

#check_namesObject



257
258
259
260
261
262
263
264
# File 'lib/odata_duty.rb', line 257

def check_names
  names = Set.new
  (enum_types + complex_types + entity_types).each do |et|
    raise "Duplicate #{et.name} type" if names.include?(et.name)

    names << et.name
  end
end

#complex_typesObject



245
246
247
# File 'lib/odata_duty.rb', line 245

def complex_types
  .select { |mt| mt. == :complex }
end

#endpointsObject



253
254
255
# File 'lib/odata_duty.rb', line 253

def endpoints
  entity_sets
end

#entity_setsObject



233
234
235
# File 'lib/odata_duty.rb', line 233

def entity_sets
  schema.entity_sets.map(&:__metadata)
end

#entity_typesObject



241
242
243
# File 'lib/odata_duty.rb', line 241

def entity_types
  .select { |mt| mt. == :entity }
end

#enum_typesObject



249
250
251
# File 'lib/odata_duty.rb', line 249

def enum_types
  .select { |mt| mt. == :enum }
end

#metadata_typesObject



237
238
239
# File 'lib/odata_duty.rb', line 237

def 
  @metadata_types ||= entity_sets.flat_map(&:metadata_types).uniq.map(&:__metadata)
end

#namespaceObject



229
230
231
# File 'lib/odata_duty.rb', line 229

def namespace
  schema.namespace
end

#titleObject



227
# File 'lib/odata_duty.rb', line 227

def title = schema.title

#versionObject



226
# File 'lib/odata_duty.rb', line 226

def version = schema.version