class OData::AbstractQuery::Segments::LinksSegment
Public Class Methods
can_follow?(anOtherSegment)
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 25 def self.can_follow?(anOtherSegment) if anOtherSegment.is_a?(Class) anOtherSegment == CollectionSegment || anOtherSegment == NavigationPropertySegment else (anOtherSegment.is_a?(CollectionSegment) || anOtherSegment.is_a?(NavigationPropertySegment)) # && anOtherSegment.countable? end end
countable?()
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 17 def self.countable? true end
new(query)
click to toggle source
Calls superclass method
OData::AbstractQuery::Segment::new
# File lib/o_data/abstract_query/segments/links_segment.rb, line 21 def initialize(query) super(query, self.class.segment_name) end
parse!(query, str)
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 7 def self.parse!(query, str) return nil unless str.to_s == segment_name query.Segment(self) end
segment_name()
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 13 def self.segment_name "$links" end
Public Instance Methods
execute!(acc)
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 33 def execute!(acc) [acc].flatten.compact.collect { |one| if entity_type = self.query.schema.entity_types.find { |et| et.name == one.class.name } [one, entity_type.plural_name + '(' + entity_type.primary_key_for(one).to_s + ')'] else [one, nil] end } end
valid?(results)
click to toggle source
# File lib/o_data/abstract_query/segments/links_segment.rb, line 43 def valid?(results) results.all? { |pair| !pair[1].blank? } end