microsoft_graph 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +98 -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 -230
- 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.gemspec +31 -31
- data/tasks/update_metadata.rb +17 -17
- metadata +5 -5
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
|