Module: OData::Model::Query::ClassMethods

Defined in:
lib/odata/model/query.rb

Overview

Methods mixed in at the class level.

Instance Method Summary collapse

Instance Method Details

#[](primary_key_value) ⇒ OData::Model?

Enables lookup of model entities by their primary key.

Parameters:

  • primary_key_value (to_s)

    primary key value to lookup

Returns:



62
63
64
65
66
67
68
# File 'lib/odata/model/query.rb', line 62

def [](primary_key_value)
  entity = odata_entity_set[primary_key_value]
  return entity if entity.nil?
  model = self.new
  model.instance_variable_set(:@odata_entity, entity)
  model
end

#allOData::Model::Query

Gives you a handle to get at everything as an Enumerable

Returns:



15
16
17
# File 'lib/odata/model/query.rb', line 15

def all
  OData::Model::QueryProxy.new(self)
end

#limit(value) ⇒ OData::Model::Query

Starts a query chain with a limit to entities returned.

Parameters:

  • value (to_i)

Returns:



30
31
32
33
# File 'lib/odata/model/query.rb', line 30

def limit(value)
  query_proxy = OData::Model::QueryProxy.new(self)
  query_proxy.limit(value.to_i)
end

#order_by(property_name) ⇒ OData::Model::Query

Starts a query chain with a order operator for a given property’s name.

Parameters:

  • property_name (to_sym)

Returns:



46
47
48
49
# File 'lib/odata/model/query.rb', line 46

def order_by(property_name)
  query_proxy = OData::Model::QueryProxy.new(self)
  query_proxy.order_by(property_name.to_sym)
end

#select(property_name) ⇒ OData::Model::Query

Starts a query chain with a list of properties to select.

Parameters:

  • property_name (to_sym)

Returns:



54
55
56
57
# File 'lib/odata/model/query.rb', line 54

def select(property_name)
  query_proxy = OData::Model::QueryProxy.new(self)
  query_proxy.select(property_name.to_sym)
end

#skip(value) ⇒ OData::Model::Query

Starts a query chain with the number of entities to skip.

Parameters:

  • value (to_i)

Returns:



38
39
40
41
# File 'lib/odata/model/query.rb', line 38

def skip(value)
  query_proxy = OData::Model::QueryProxy.new(self)
  query_proxy.skip(value.to_i)
end

#where(arguments) ⇒ OData::Model::Query

Starts a query chain with a filter for a given property’s name.

Parameters:

  • property_name (Hash, to_sym)

Returns:



22
23
24
25
# File 'lib/odata/model/query.rb', line 22

def where(arguments)
  query_proxy = OData::Model::QueryProxy.new(self)
  query_proxy.where(arguments)
end