microsoft_graph 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +11 -11
- data/.rspec +2 -2
- data/.travis.yml +4 -4
- data/Gemfile +4 -4
- data/LICENSE +10 -10
- data/README.md +99 -98
- data/Rakefile +7 -7
- data/data/metadata_v1.0.xml +1686 -1686
- data/integration_spec/integration_spec_helper.rb +18 -18
- data/integration_spec/live_spec.rb +180 -180
- data/lib/microsoft_graph.rb +35 -35
- data/lib/microsoft_graph/base.rb +110 -110
- data/lib/microsoft_graph/base_entity.rb +152 -152
- data/lib/microsoft_graph/cached_metadata_directory.rb +3 -3
- data/lib/microsoft_graph/class_builder.rb +217 -217
- data/lib/microsoft_graph/collection.rb +95 -95
- data/lib/microsoft_graph/collection_association.rb +232 -232
- data/lib/microsoft_graph/errors.rb +6 -6
- data/lib/microsoft_graph/version.rb +3 -3
- data/lib/odata.rb +49 -49
- data/lib/odata/entity_set.rb +20 -20
- data/lib/odata/errors.rb +18 -18
- data/lib/odata/navigation_property.rb +30 -30
- data/lib/odata/operation.rb +17 -17
- data/lib/odata/property.rb +38 -38
- data/lib/odata/request.rb +49 -49
- data/lib/odata/service.rb +279 -279
- data/lib/odata/singleton.rb +20 -20
- data/lib/odata/type.rb +25 -25
- data/lib/odata/types/collection_type.rb +30 -30
- data/lib/odata/types/complex_type.rb +19 -19
- data/lib/odata/types/entity_type.rb +33 -33
- data/lib/odata/types/enum_type.rb +37 -37
- data/lib/odata/types/primitive_type.rb +12 -12
- data/lib/odata/types/primitive_types/binary_type.rb +15 -15
- data/lib/odata/types/primitive_types/boolean_type.rb +15 -15
- data/lib/odata/types/primitive_types/date_time_offset_type.rb +15 -15
- data/lib/odata/types/primitive_types/date_type.rb +23 -23
- data/lib/odata/types/primitive_types/double_type.rb +16 -16
- data/lib/odata/types/primitive_types/guid_type.rb +24 -24
- data/lib/odata/types/primitive_types/int_16_type.rb +19 -19
- data/lib/odata/types/primitive_types/int_32_type.rb +15 -15
- data/lib/odata/types/primitive_types/int_64_type.rb +15 -15
- data/lib/odata/types/primitive_types/stream_type.rb +15 -15
- data/lib/odata/types/primitive_types/string_type.rb +15 -15
- data/microsoft_graph-0.1.2.gem +0 -0
- data/microsoft_graph.gemspec +31 -31
- data/tasks/update_metadata.rb +17 -17
- metadata +6 -6
- data/microsoft_graph-0.1.0.gem +0 -0
data/lib/odata/singleton.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
module OData
|
2
|
-
class Singleton
|
3
|
-
attr_reader :name
|
4
|
-
attr_reader :type_name
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@name = options[:name]
|
8
|
-
@type_name = options[:type]
|
9
|
-
@service = options[:service]
|
10
|
-
end
|
11
|
-
|
12
|
-
def collection?
|
13
|
-
false
|
14
|
-
end
|
15
|
-
|
16
|
-
def type
|
17
|
-
@service.get_type_by_name(type_name)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
1
|
+
module OData
|
2
|
+
class Singleton
|
3
|
+
attr_reader :name
|
4
|
+
attr_reader :type_name
|
5
|
+
|
6
|
+
def initialize(options = {})
|
7
|
+
@name = options[:name]
|
8
|
+
@type_name = options[:type]
|
9
|
+
@service = options[:service]
|
10
|
+
end
|
11
|
+
|
12
|
+
def collection?
|
13
|
+
false
|
14
|
+
end
|
15
|
+
|
16
|
+
def type
|
17
|
+
@service.get_type_by_name(type_name)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/odata/type.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
module OData
|
2
|
-
class Type
|
3
|
-
attr_reader :name
|
4
|
-
|
5
|
-
def initialize(options = {})
|
6
|
-
@name = options[:name]
|
7
|
-
end
|
8
|
-
|
9
|
-
def coerce(value)
|
10
|
-
value
|
11
|
-
end
|
12
|
-
|
13
|
-
def collection?
|
14
|
-
false
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
Dir[
|
20
|
-
File.join(
|
21
|
-
File.dirname(__FILE__),
|
22
|
-
'types',
|
23
|
-
'*.rb'
|
24
|
-
)
|
25
|
-
].each { |f| require f }
|
1
|
+
module OData
|
2
|
+
class Type
|
3
|
+
attr_reader :name
|
4
|
+
|
5
|
+
def initialize(options = {})
|
6
|
+
@name = options[:name]
|
7
|
+
end
|
8
|
+
|
9
|
+
def coerce(value)
|
10
|
+
value
|
11
|
+
end
|
12
|
+
|
13
|
+
def collection?
|
14
|
+
false
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Dir[
|
20
|
+
File.join(
|
21
|
+
File.dirname(__FILE__),
|
22
|
+
'types',
|
23
|
+
'*.rb'
|
24
|
+
)
|
25
|
+
].each { |f| require f }
|
@@ -1,30 +1,30 @@
|
|
1
|
-
module OData
|
2
|
-
class CollectionType < Type
|
3
|
-
attr_reader :member_type
|
4
|
-
|
5
|
-
def initialize(options = {})
|
6
|
-
super
|
7
|
-
@member_type = options[:member_type]
|
8
|
-
end
|
9
|
-
|
10
|
-
def valid_value?(value)
|
11
|
-
member_type.valid_value?(value)
|
12
|
-
end
|
13
|
-
|
14
|
-
def primitive_type?
|
15
|
-
OData::PrimitiveType === member_type
|
16
|
-
end
|
17
|
-
|
18
|
-
def enum_type?
|
19
|
-
OData::EnumType === member_type
|
20
|
-
end
|
21
|
-
|
22
|
-
def collection?
|
23
|
-
true
|
24
|
-
end
|
25
|
-
|
26
|
-
def properties
|
27
|
-
member_type.properties
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
1
|
+
module OData
|
2
|
+
class CollectionType < Type
|
3
|
+
attr_reader :member_type
|
4
|
+
|
5
|
+
def initialize(options = {})
|
6
|
+
super
|
7
|
+
@member_type = options[:member_type]
|
8
|
+
end
|
9
|
+
|
10
|
+
def valid_value?(value)
|
11
|
+
member_type.valid_value?(value)
|
12
|
+
end
|
13
|
+
|
14
|
+
def primitive_type?
|
15
|
+
OData::PrimitiveType === member_type
|
16
|
+
end
|
17
|
+
|
18
|
+
def enum_type?
|
19
|
+
OData::EnumType === member_type
|
20
|
+
end
|
21
|
+
|
22
|
+
def collection?
|
23
|
+
true
|
24
|
+
end
|
25
|
+
|
26
|
+
def properties
|
27
|
+
member_type.properties
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,19 +1,19 @@
|
|
1
|
-
module OData
|
2
|
-
class ComplexType < Type
|
3
|
-
attr_reader :base_type
|
4
|
-
|
5
|
-
def initialize(options = {})
|
6
|
-
super
|
7
|
-
@base_type = options[:base_type]
|
8
|
-
@service = options[:service]
|
9
|
-
end
|
10
|
-
|
11
|
-
def properties
|
12
|
-
@properties ||= @service.properties_for_type(name)
|
13
|
-
end
|
14
|
-
|
15
|
-
def valid_value?(value)
|
16
|
-
value.respond_to?(:odata_type) && self.name == value.odata_type
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
1
|
+
module OData
|
2
|
+
class ComplexType < Type
|
3
|
+
attr_reader :base_type
|
4
|
+
|
5
|
+
def initialize(options = {})
|
6
|
+
super
|
7
|
+
@base_type = options[:base_type]
|
8
|
+
@service = options[:service]
|
9
|
+
end
|
10
|
+
|
11
|
+
def properties
|
12
|
+
@properties ||= @service.properties_for_type(name)
|
13
|
+
end
|
14
|
+
|
15
|
+
def valid_value?(value)
|
16
|
+
value.respond_to?(:odata_type) && self.name == value.odata_type
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
module OData
|
2
|
-
class EntityType < Type
|
3
|
-
attr_reader :base_type
|
4
|
-
attr_reader :abstract
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
super
|
8
|
-
@abstract = options[:abstract]
|
9
|
-
@base_type = options[:base_type]
|
10
|
-
@open_type = options[:open_type]
|
11
|
-
@has_stream = options[:has_stream]
|
12
|
-
@service = options[:service]
|
13
|
-
end
|
14
|
-
|
15
|
-
def properties
|
16
|
-
@properties ||= @service.properties_for_type(name)
|
17
|
-
end
|
18
|
-
|
19
|
-
def navigation_properties
|
20
|
-
@navigation_properties ||= @service.navigation_properties_for_type(name)
|
21
|
-
end
|
22
|
-
|
23
|
-
def navigation_property_by_name(name)
|
24
|
-
navigation_properties.find do |navigation_property|
|
25
|
-
navigation_property.name == name
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def valid_value?(value)
|
30
|
-
value.respond_to?(:odata_type) && (name == value.odata_type || name == value.class.superclass.odata_type.name)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
1
|
+
module OData
|
2
|
+
class EntityType < Type
|
3
|
+
attr_reader :base_type
|
4
|
+
attr_reader :abstract
|
5
|
+
|
6
|
+
def initialize(options = {})
|
7
|
+
super
|
8
|
+
@abstract = options[:abstract]
|
9
|
+
@base_type = options[:base_type]
|
10
|
+
@open_type = options[:open_type]
|
11
|
+
@has_stream = options[:has_stream]
|
12
|
+
@service = options[:service]
|
13
|
+
end
|
14
|
+
|
15
|
+
def properties
|
16
|
+
@properties ||= @service.properties_for_type(name)
|
17
|
+
end
|
18
|
+
|
19
|
+
def navigation_properties
|
20
|
+
@navigation_properties ||= @service.navigation_properties_for_type(name)
|
21
|
+
end
|
22
|
+
|
23
|
+
def navigation_property_by_name(name)
|
24
|
+
navigation_properties.find do |navigation_property|
|
25
|
+
navigation_property.name == name
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def valid_value?(value)
|
30
|
+
value.respond_to?(:odata_type) && (name == value.odata_type || name == value.class.superclass.odata_type.name)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,37 +1,37 @@
|
|
1
|
-
module OData
|
2
|
-
class EnumType < Type
|
3
|
-
attr_reader :members
|
4
|
-
|
5
|
-
def initialize(options={})
|
6
|
-
super
|
7
|
-
@members = options[:members]
|
8
|
-
end
|
9
|
-
|
10
|
-
def valid_value?(value)
|
11
|
-
member_names.include?(value) || member_values.include?(value)
|
12
|
-
end
|
13
|
-
|
14
|
-
def type
|
15
|
-
name
|
16
|
-
end
|
17
|
-
|
18
|
-
def coerce(value)
|
19
|
-
if value && value.is_a?(Integer)
|
20
|
-
member = @members.find { |m| m[:value] == value }
|
21
|
-
member && member[:name]
|
22
|
-
else
|
23
|
-
super
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def member_names
|
30
|
-
members.map { |m| m[:name] }
|
31
|
-
end
|
32
|
-
|
33
|
-
def member_values
|
34
|
-
members.map { |m| m[:value] }
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
1
|
+
module OData
|
2
|
+
class EnumType < Type
|
3
|
+
attr_reader :members
|
4
|
+
|
5
|
+
def initialize(options={})
|
6
|
+
super
|
7
|
+
@members = options[:members]
|
8
|
+
end
|
9
|
+
|
10
|
+
def valid_value?(value)
|
11
|
+
member_names.include?(value) || member_values.include?(value)
|
12
|
+
end
|
13
|
+
|
14
|
+
def type
|
15
|
+
name
|
16
|
+
end
|
17
|
+
|
18
|
+
def coerce(value)
|
19
|
+
if value && value.is_a?(Integer)
|
20
|
+
member = @members.find { |m| m[:value] == value }
|
21
|
+
member && member[:name]
|
22
|
+
else
|
23
|
+
super
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def member_names
|
30
|
+
members.map { |m| m[:name] }
|
31
|
+
end
|
32
|
+
|
33
|
+
def member_values
|
34
|
+
members.map { |m| m[:value] }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
module OData
|
2
|
-
class PrimitiveType < Type
|
3
|
-
end
|
4
|
-
end
|
5
|
-
|
6
|
-
Dir[
|
7
|
-
File.join(
|
8
|
-
File.dirname(__FILE__),
|
9
|
-
'primitive_types',
|
10
|
-
'*.rb'
|
11
|
-
)
|
12
|
-
].each { |f| require f }
|
1
|
+
module OData
|
2
|
+
class PrimitiveType < Type
|
3
|
+
end
|
4
|
+
end
|
5
|
+
|
6
|
+
Dir[
|
7
|
+
File.join(
|
8
|
+
File.dirname(__FILE__),
|
9
|
+
'primitive_types',
|
10
|
+
'*.rb'
|
11
|
+
)
|
12
|
+
].each { |f| require f }
|
@@ -1,15 +1,15 @@
|
|
1
|
-
module OData
|
2
|
-
class BinaryType < PrimitiveType
|
3
|
-
def valid_value?(value)
|
4
|
-
String === value
|
5
|
-
end
|
6
|
-
|
7
|
-
def coerce(value)
|
8
|
-
raise RuntimeError
|
9
|
-
end
|
10
|
-
|
11
|
-
def name
|
12
|
-
"Edm.Binary"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module OData
|
2
|
+
class BinaryType < PrimitiveType
|
3
|
+
def valid_value?(value)
|
4
|
+
String === value
|
5
|
+
end
|
6
|
+
|
7
|
+
def coerce(value)
|
8
|
+
raise RuntimeError
|
9
|
+
end
|
10
|
+
|
11
|
+
def name
|
12
|
+
"Edm.Binary"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
module OData
|
2
|
-
class BooleanType < PrimitiveType
|
3
|
-
def valid_value?(value)
|
4
|
-
TrueClass === value || FalseClass === value
|
5
|
-
end
|
6
|
-
|
7
|
-
def coerce(value)
|
8
|
-
value
|
9
|
-
end
|
10
|
-
|
11
|
-
def name
|
12
|
-
"Edm.Boolean"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module OData
|
2
|
+
class BooleanType < PrimitiveType
|
3
|
+
def valid_value?(value)
|
4
|
+
TrueClass === value || FalseClass === value
|
5
|
+
end
|
6
|
+
|
7
|
+
def coerce(value)
|
8
|
+
value
|
9
|
+
end
|
10
|
+
|
11
|
+
def name
|
12
|
+
"Edm.Boolean"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
module OData
|
2
|
-
class DateTimeOffsetType < PrimitiveType
|
3
|
-
def valid_value?(value)
|
4
|
-
DateTime === value || Time === value
|
5
|
-
end
|
6
|
-
|
7
|
-
def coerce(value)
|
8
|
-
DateTime.parse(value)
|
9
|
-
end
|
10
|
-
|
11
|
-
def name
|
12
|
-
"Edm.DateTimeOffset"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module OData
|
2
|
+
class DateTimeOffsetType < PrimitiveType
|
3
|
+
def valid_value?(value)
|
4
|
+
DateTime === value || Time === value
|
5
|
+
end
|
6
|
+
|
7
|
+
def coerce(value)
|
8
|
+
DateTime.parse(value)
|
9
|
+
end
|
10
|
+
|
11
|
+
def name
|
12
|
+
"Edm.DateTimeOffset"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|