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.



206
207
208
# File 'lib/odata_duty.rb', line 206

def initialize(schema)
  @schema = schema
end

Instance Attribute Details

#schemaObject (readonly)

Returns the value of attribute schema.



204
205
206
# File 'lib/odata_duty.rb', line 204

def schema
  @schema
end

Instance Method Details

#check_namesObject



242
243
244
245
246
247
248
249
# File 'lib/odata_duty.rb', line 242

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



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

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

#descriptionObject



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

def description = schema.description

#endpointsObject



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

def endpoints
  entity_sets
end

#entity_setsObject



218
219
220
# File 'lib/odata_duty.rb', line 218

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

#entity_typesObject



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

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

#enum_typesObject



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

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

#metadata_typesObject



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

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

#namespaceObject



214
215
216
# File 'lib/odata_duty.rb', line 214

def namespace
  schema.namespace
end

#titleObject



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

def title = schema.title

#versionObject



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

def version = schema.version