Sha256: 09c0618200fa1895d2af4f78d7856202fae207d4ee17d1451159d13e4e9f0cf9
Contents?: true
Size: 770 Bytes
Versions: 6
Compression:
Stored size: 770 Bytes
Contents
require 'odata4/navigation_property/proxy' module OData4 class NavigationProperty attr_reader :name, :type, :nullable, :partner def initialize(options) @name = options[:name] or raise ArgumentError, 'Name is required' @type = options[:type] or raise ArgumentError, 'Type is required' @nullable = options[:nullable] || true @partner = options[:partner] end def nav_type @nav_type ||= type =~ /^Collection/ ? :collection : :entity end def entity_type @entity_type ||= type.split(/[()]/).last end def self.build(nav_property_xml) options = nav_property_xml.attributes.map do |name, attr| [name.downcase.to_sym, attr.value] end.to_h new(options) end end end
Version data entries
6 entries across 6 versions & 1 rubygems