dynamics_crm 0.6.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -1
- data/CHANGELOG.md +10 -0
- data/dynamics_crm.gemspec +6 -5
- data/lib/dynamics_crm.rb +7 -0
- data/lib/dynamics_crm/client.rb +25 -14
- data/lib/dynamics_crm/fetch_xml/builder.rb +26 -27
- data/lib/dynamics_crm/metadata/attribute_metadata.rb +35 -2
- data/lib/dynamics_crm/metadata/attribute_query_expression.rb +25 -0
- data/lib/dynamics_crm/metadata/entity_metadata.rb +1 -1
- data/lib/dynamics_crm/metadata/entity_query_expression.rb +29 -0
- data/lib/dynamics_crm/metadata/filter_expression.rb +47 -0
- data/lib/dynamics_crm/metadata/properties_expression.rb +30 -0
- data/lib/dynamics_crm/metadata/retrieve_metadata_changes_response.rb +18 -0
- data/lib/dynamics_crm/version.rb +1 -1
- data/lib/dynamics_crm/xml/attributes.rb +28 -2
- data/lib/dynamics_crm/xml/entity_collection.rb +10 -0
- data/lib/dynamics_crm/xml/message_builder.rb +3 -3
- data/lib/dynamics_crm/xml/message_parser.rb +2 -0
- data/lib/dynamics_crm/xml/money.rb +16 -0
- data/spec/fixtures/retrieve_metadata_changes_response.xml +215 -0
- data/spec/lib/client_spec.rb +169 -70
- data/spec/lib/fetch_xml/builder_spec.rb +44 -0
- data/spec/lib/metadata/attribute_query_expression_spec.rb +29 -0
- data/spec/lib/metadata/entity_metadata_spec.rb +13 -13
- data/spec/lib/metadata/filter_expression_spec.rb +44 -0
- data/spec/lib/metadata/properties_expression_spec.rb +19 -0
- data/spec/lib/metadata/retrieve_all_entities_response_spec.rb +8 -8
- data/spec/lib/metadata/retrieve_attribute_response_spec.rb +23 -23
- data/spec/lib/metadata/retrieve_entity_response_spec.rb +7 -7
- data/spec/lib/metadata/retrieve_metadata_changes_response_spec.rb +52 -0
- data/spec/lib/model/opportunity_spec.rb +7 -7
- data/spec/lib/response/execute_result_spec.rb +4 -4
- data/spec/lib/response/retrieve_multiple_spec.rb +10 -10
- data/spec/lib/response/retrieve_result_spec.rb +26 -26
- data/spec/lib/xml/attributes_spec.rb +9 -9
- data/spec/lib/xml/column_set_spec.rb +4 -4
- data/spec/lib/xml/entity_reference_spec.rb +8 -8
- data/spec/lib/xml/entity_spec.rb +18 -18
- data/spec/lib/xml/fault_spec.rb +8 -8
- data/spec/lib/xml/money_spec.rb +41 -0
- data/spec/lib/xml/query_spec.rb +15 -15
- data/spec/spec_helper.rb +1 -0
- metadata +82 -32
@@ -10,53 +10,53 @@ describe DynamicsCRM::Response::RetrieveResult do
|
|
10
10
|
|
11
11
|
context "parse attributes according to their type" do
|
12
12
|
|
13
|
-
it { subject.id.
|
14
|
-
it { subject.type.
|
15
|
-
it { subject.exchangerate.
|
16
|
-
it { subject.modifiedon.
|
17
|
-
it { subject.territorycode.
|
18
|
-
it { subject.importsequencenumber.
|
19
|
-
it { subject.donotemail.
|
20
|
-
it { subject.revenue.
|
21
|
-
it { subject.modifiedby.
|
13
|
+
it { expect(subject.id).to eq("93f0325c-a592-e311-b7f3-6c3be5a8a0c8") }
|
14
|
+
it { expect(subject.type).to eq("account") }
|
15
|
+
it { expect(subject.exchangerate).to eq(1.0) } # decimal
|
16
|
+
it { expect(subject.modifiedon).to be_a(Time) } # datetime
|
17
|
+
it { expect(subject.territorycode).to eq(1)} # OptionType
|
18
|
+
it { expect(subject.importsequencenumber).to eq(1)} # int
|
19
|
+
it { expect(subject.donotemail).to eq(false)} # boolean
|
20
|
+
it { expect(subject.revenue).to eq(60000.00) } # Money
|
21
|
+
it { expect(subject.modifiedby).to eq({
|
22
22
|
"Id" => "1bfa3886-df7e-468c-8435-b5adfb0441ed",
|
23
23
|
"LogicalName" => "systemuser",
|
24
|
-
"Name" => "Joe Heth"} }
|
24
|
+
"Name" => "Joe Heth"}) }
|
25
25
|
|
26
|
-
it { subject["id"].
|
27
|
-
it { subject["type"].
|
26
|
+
it { expect(subject["id"]).to eq("93f0325c-a592-e311-b7f3-6c3be5a8a0c8") }
|
27
|
+
it { expect(subject["type"]).to eq("account") }
|
28
28
|
end
|
29
29
|
|
30
30
|
context "parses Attributes list" do
|
31
|
-
it { subject.name.
|
32
|
-
it { subject.websiteurl.
|
33
|
-
it { subject.address1_city.
|
31
|
+
it { expect(subject.name).to eq("Adventure Works (sample)") }
|
32
|
+
it { expect(subject.websiteurl).to eq("http://www.adventure-works.com/") }
|
33
|
+
it { expect(subject.address1_city).to eq("Santa Cruz") }
|
34
34
|
|
35
|
-
it { subject["name"].
|
36
|
-
it { subject["websiteurl"].
|
37
|
-
it { subject["address1_city"].
|
35
|
+
it { expect(subject["name"]).to eq("Adventure Works (sample)") }
|
36
|
+
it { expect(subject["websiteurl"]).to eq("http://www.adventure-works.com/") }
|
37
|
+
it { expect(subject["address1_city"]).to eq("Santa Cruz") }
|
38
38
|
end
|
39
39
|
|
40
40
|
context "assignment" do
|
41
41
|
it "should assign through hash index" do
|
42
|
-
subject[:nothing].
|
42
|
+
expect(subject[:nothing]).to be_nil
|
43
43
|
subject[:nothing] = "New Value"
|
44
|
-
subject[:nothing].
|
45
|
-
subject.nothing.
|
46
|
-
subject.Nothing.
|
44
|
+
expect(subject[:nothing]).to eq("New Value")
|
45
|
+
expect(subject.nothing).to eq("New Value")
|
46
|
+
expect(subject.Nothing).to eq("New Value")
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
50
|
context "respond to hash methods" do
|
51
51
|
|
52
52
|
it "should has_key?" do
|
53
|
-
subject.
|
54
|
-
subject.
|
55
|
-
subject.
|
53
|
+
expect(subject.key?("name")).to be true
|
54
|
+
expect(subject.key?("type")).to be true
|
55
|
+
expect(subject.key?("nothing")).to be false
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should return keys" do
|
59
|
-
subject.keys.
|
59
|
+
expect(subject.keys).to include("type", "id", "accountid", "address1_city",
|
60
60
|
"address1_stateorprovince", "address1_postalcode", "websiteurl", "name",
|
61
61
|
"address1_line1", "address1_country", "address1_composite")
|
62
62
|
end
|
@@ -17,21 +17,21 @@ describe DynamicsCRM::XML::Attributes do
|
|
17
17
|
}
|
18
18
|
|
19
19
|
context "attributes extends hash" do
|
20
|
-
it { subject.
|
20
|
+
it { expect(subject).to eq(attrs) }
|
21
21
|
end
|
22
22
|
|
23
23
|
context "attributes uses method_missing for hash access" do
|
24
|
-
it { subject.telephone1.
|
25
|
-
it { subject.modifiedon.
|
26
|
-
it { subject.donotemail.
|
27
|
-
it { subject.id.
|
28
|
-
it { subject.reference.
|
24
|
+
it { expect(subject.telephone1).to eq(attrs["telephone1"])}
|
25
|
+
it { expect(subject.modifiedon).to eq(attrs["modifiedon"])}
|
26
|
+
it { expect(subject.donotemail).to eq(attrs["donotemail"])}
|
27
|
+
it { expect(subject.id).to eq(attrs["id"])}
|
28
|
+
it { expect(subject.reference).to eq(attrs["reference"])}
|
29
29
|
end
|
30
30
|
|
31
31
|
context "parse attributes according to their type" do
|
32
|
-
it { subject.to_xml.
|
33
|
-
it { subject.to_xml.
|
34
|
-
it { subject.to_xml.
|
32
|
+
it { expect(subject.to_xml).to include("<c:key>telephone1</c:key>") }
|
33
|
+
it { expect(subject.to_xml).to include("<c:key>donotemail</c:key>") }
|
34
|
+
it { expect(subject.to_xml).to include("<c:key>modifiedon</c:key>") }
|
35
35
|
end
|
36
36
|
|
37
37
|
end
|
@@ -8,10 +8,10 @@ describe DynamicsCRM::XML::ColumnSet do
|
|
8
8
|
}
|
9
9
|
|
10
10
|
context "generate ColumnSet XML" do
|
11
|
-
it { subject.to_xml.
|
12
|
-
it { subject.to_xml.
|
13
|
-
it { subject.to_xml.
|
14
|
-
it { subject.to_xml.
|
11
|
+
it { expect(subject.to_xml).to include("<b:AllColumns>false</b:AllColumns>") }
|
12
|
+
it { expect(subject.to_xml).to include("<d:string>accountid</d:string>") }
|
13
|
+
it { expect(subject.to_xml).to include("<d:string>donotemail</d:string>") }
|
14
|
+
it { expect(subject.to_xml).to include("<d:string>telephone1</d:string>") }
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -8,9 +8,9 @@ describe DynamicsCRM::XML::EntityReference do
|
|
8
8
|
}
|
9
9
|
|
10
10
|
context "default instance" do
|
11
|
-
it { subject.logical_name.
|
12
|
-
it { subject.id.
|
13
|
-
it { subject.name.
|
11
|
+
it { expect(subject.logical_name).to eq("opportunity") }
|
12
|
+
it { expect(subject.id).to eq("9BF1325C-A592-E311-B7F3-6C3BE5A8A0C8") }
|
13
|
+
it { expect(subject.name).to be_nil }
|
14
14
|
end
|
15
15
|
|
16
16
|
context "#to_xml" do
|
@@ -23,7 +23,7 @@ describe DynamicsCRM::XML::EntityReference do
|
|
23
23
|
<Name #{@name ? '' : 'nil="true"'}>#{@name}</Name>
|
24
24
|
</entityReference>
|
25
25
|
}
|
26
|
-
subject.to_xml.
|
26
|
+
expect(subject.to_xml).to eq(expected_xml)
|
27
27
|
end
|
28
28
|
|
29
29
|
it "outputs EntityReference with namespace" do
|
@@ -35,7 +35,7 @@ describe DynamicsCRM::XML::EntityReference do
|
|
35
35
|
<b:Name #{@name ? '' : 'nil="true"'}>#{@name}</b:Name>
|
36
36
|
</b:EntityReference>
|
37
37
|
}
|
38
|
-
subject.to_xml(namespace: 'b', camel_case: true).
|
38
|
+
expect(subject.to_xml(namespace: 'b', camel_case: true)).to eq(expected_xml)
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
@@ -50,9 +50,9 @@ describe DynamicsCRM::XML::EntityReference do
|
|
50
50
|
DynamicsCRM::XML::EntityReference.from_xml(xml.root)
|
51
51
|
}
|
52
52
|
|
53
|
-
it { subject.logical_name.
|
54
|
-
it { subject.id.
|
55
|
-
it { subject.name.
|
53
|
+
it { expect(subject.logical_name).to eq("opportunity") }
|
54
|
+
it { expect(subject.id).to eq("9BF1325C-A592-E311-B7F3-6C3BE5A8A0C8") }
|
55
|
+
it { expect(subject.name).to eq("Sample Opportunity Name") }
|
56
56
|
end
|
57
57
|
|
58
58
|
end
|
data/spec/lib/xml/entity_spec.rb
CHANGED
@@ -8,17 +8,17 @@ describe DynamicsCRM::XML::Entity do
|
|
8
8
|
}
|
9
9
|
|
10
10
|
context "default instance" do
|
11
|
-
it { subject.logical_name.
|
12
|
-
it { subject.id.
|
13
|
-
it { subject.attributes.
|
14
|
-
it { subject.entity_state.
|
15
|
-
it { subject.formatted_values.
|
16
|
-
it { subject.related_entities.
|
11
|
+
it { expect(subject.logical_name).to eq("account") }
|
12
|
+
it { expect(subject.id).to eq("00000000-0000-0000-0000-000000000000") }
|
13
|
+
it { expect(subject.attributes).to be_nil }
|
14
|
+
it { expect(subject.entity_state).to be_nil }
|
15
|
+
it { expect(subject.formatted_values).to be_nil }
|
16
|
+
it { expect(subject.related_entities).to be_nil }
|
17
17
|
end
|
18
18
|
|
19
19
|
context "#to_xml" do
|
20
|
-
it { subject.to_xml.
|
21
|
-
it { subject.to_xml.
|
20
|
+
it { expect(subject.to_xml).to include("<a:Id>00000000-0000-0000-0000-000000000000</a:Id>") }
|
21
|
+
it { expect(subject.to_xml).to include("<a:LogicalName>account</a:LogicalName>") }
|
22
22
|
end
|
23
23
|
|
24
24
|
end
|
@@ -34,10 +34,10 @@ describe DynamicsCRM::XML::Entity do
|
|
34
34
|
|
35
35
|
context "#to_xml" do
|
36
36
|
# Contains nested Attributes with EntityReference
|
37
|
-
it { subject.to_xml.
|
38
|
-
it { subject.to_xml.
|
39
|
-
it { subject.to_xml.
|
40
|
-
it { subject.to_xml.
|
37
|
+
it { expect(subject.to_xml).to include('<c:value i:type="a:EntityReference">') }
|
38
|
+
it { expect(subject.to_xml).to include("<a:Id>2dc8d7bb-149f-e311-ba8d-6c3be5a8ad64</a:Id>") }
|
39
|
+
it { expect(subject.to_xml).to include("<a:LogicalName>opportunity</a:LogicalName>") }
|
40
|
+
it { expect(subject.to_xml).to include("<a:Id>00000000-0000-0000-0000-000000000000</a:Id>") }
|
41
41
|
end
|
42
42
|
|
43
43
|
end
|
@@ -51,12 +51,12 @@ describe DynamicsCRM::XML::Entity do
|
|
51
51
|
}
|
52
52
|
|
53
53
|
context "parses XML document into instance variables" do
|
54
|
-
it { subject.id.
|
55
|
-
it { subject.attributes.
|
56
|
-
it { subject.entity_state.
|
57
|
-
it { subject.formatted_values.
|
58
|
-
it { subject.logical_name.
|
59
|
-
it { subject.related_entities.
|
54
|
+
it { expect(subject.id).to eq("7bf2e032-ad92-e311-9752-6c3be5a87df0") }
|
55
|
+
it { expect(subject.attributes).to eq({"accountid" => "7bf2e032-ad92-e311-9752-6c3be5a87df0"}) }
|
56
|
+
it { expect(subject.entity_state).to be_nil }
|
57
|
+
it { expect(subject.formatted_values).to be_nil }
|
58
|
+
it { expect(subject.logical_name).to eq("account") }
|
59
|
+
it { expect(subject.related_entities).to be_nil }
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
data/spec/lib/xml/fault_spec.rb
CHANGED
@@ -12,10 +12,10 @@ describe DynamicsCRM::XML::Fault do
|
|
12
12
|
}
|
13
13
|
|
14
14
|
context "generate ColumnSet XML" do
|
15
|
-
it { subject.code.
|
16
|
-
it { subject.subcode.
|
17
|
-
it { subject.reason.
|
18
|
-
it { subject.message.
|
15
|
+
it { expect(subject.code).to eq("s:Receiver") }
|
16
|
+
it { expect(subject.subcode).to eq("a:InternalServiceFault") }
|
17
|
+
it { expect(subject.reason).to eq("The server was unable to process the request due to an internal error.") }
|
18
|
+
it { expect(subject.message).to eq("#{subject.code}[#{subject.subcode}] #{subject.reason}") }
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -28,10 +28,10 @@ describe DynamicsCRM::XML::Fault do
|
|
28
28
|
}
|
29
29
|
|
30
30
|
context "generate ColumnSet XML" do
|
31
|
-
it { subject.code.
|
32
|
-
it { subject.subcode.
|
33
|
-
it { subject.reason.
|
34
|
-
it { subject.message.
|
31
|
+
it { expect(subject.code).to eq("s:Sender") }
|
32
|
+
it { expect(subject.subcode).to be_nil }
|
33
|
+
it { expect(subject.reason).to eq("'account' entity doesn't contain attribute with Name = 'ticketsymbol'.") }
|
34
|
+
it { expect(subject.message).to start_with("#{subject.code}[#{subject.subcode}] #{subject.reason} (Detail =>") }
|
35
35
|
end
|
36
36
|
|
37
37
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe DynamicsCRM::XML::Money do
|
4
|
+
|
5
|
+
describe '#initialize' do
|
6
|
+
let(:value) { 250.0 }
|
7
|
+
let(:precision) { 2 }
|
8
|
+
subject { DynamicsCRM::XML::Money.new(value, precision) }
|
9
|
+
|
10
|
+
context "with a string" do
|
11
|
+
let(:value) { "250.00" }
|
12
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.00</a:Value>") }
|
13
|
+
|
14
|
+
context "and precision is 1" do
|
15
|
+
let(:precision) { 1 }
|
16
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.0</a:Value>") }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "with a number" do
|
21
|
+
let(:value) { 250 }
|
22
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.00</a:Value>") }
|
23
|
+
|
24
|
+
context "and precision is 1" do
|
25
|
+
let(:precision) { 1 }
|
26
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.0</a:Value>") }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with a float" do
|
31
|
+
let(:value) { 250.00 }
|
32
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.00</a:Value>") }
|
33
|
+
|
34
|
+
context "and precision is 1" do
|
35
|
+
let(:precision) { 1 }
|
36
|
+
it { expect(subject.to_xml).to eq("<a:Value>250.0</a:Value>") }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
data/spec/lib/xml/query_spec.rb
CHANGED
@@ -8,12 +8,12 @@ describe DynamicsCRM::XML::Query do
|
|
8
8
|
}
|
9
9
|
|
10
10
|
context "generate empty Query fragment" do
|
11
|
-
it { subject.to_xml.
|
12
|
-
it { subject.to_xml.
|
13
|
-
it { subject.to_xml.
|
14
|
-
it { subject.to_xml.
|
15
|
-
it { subject.to_xml.
|
16
|
-
it { subject.to_xml.
|
11
|
+
it { expect(subject.to_xml).to include("<b:ColumnSet ") }
|
12
|
+
it { expect(subject.to_xml).to match(/<b:Conditions>\s+<\/b:Conditions>/) }
|
13
|
+
it { expect(subject.to_xml).to include("<b:AllColumns>true</b:AllColumns>") }
|
14
|
+
it { expect(subject.to_xml).to include("<b:Distinct>false</b:Distinct>") }
|
15
|
+
it { expect(subject.to_xml).to include("<b:EntityName>opportunity</b:EntityName>") }
|
16
|
+
it { expect(subject.to_xml).to include("<b:FilterOperator>And</b:FilterOperator>") }
|
17
17
|
end
|
18
18
|
|
19
19
|
end
|
@@ -27,15 +27,15 @@ describe DynamicsCRM::XML::Query do
|
|
27
27
|
}
|
28
28
|
|
29
29
|
context "generate empty Query fragment" do
|
30
|
-
it { subject.to_xml.
|
31
|
-
it { subject.to_xml.
|
32
|
-
it { subject.to_xml.
|
33
|
-
it { subject.to_xml.
|
34
|
-
it { subject.to_xml.
|
35
|
-
it { subject.to_xml.
|
36
|
-
it { subject.to_xml.
|
37
|
-
it { subject.to_xml.
|
38
|
-
it { subject.to_xml.
|
30
|
+
it { expect(subject.to_xml).to include("<b:ColumnSet ") }
|
31
|
+
it { expect(subject.to_xml).to include("<b:ConditionExpression") }
|
32
|
+
it { expect(subject.to_xml).to include("AttributeName>name</") }
|
33
|
+
it { expect(subject.to_xml).to include("Operator>Equal</") }
|
34
|
+
it { expect(subject.to_xml).to include('<d:anyType i:type="s:string" xmlns:s="http://www.w3.org/2001/XMLSchema">Test Opp</d:anyType>') }
|
35
|
+
it { expect(subject.to_xml).to include("<b:AllColumns>true</b:AllColumns>") }
|
36
|
+
it { expect(subject.to_xml).to include("<b:Distinct>false</b:Distinct>") }
|
37
|
+
it { expect(subject.to_xml).to include("<b:EntityName>opportunity</b:EntityName>") }
|
38
|
+
it { expect(subject.to_xml).to include("<b:FilterOperator>And</b:FilterOperator>") }
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,131 +1,163 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamics_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Heth
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.8'
|
20
|
-
- -
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 1.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0.8'
|
30
|
-
- -
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 1.0.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: mimemagic
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0.2'
|
40
|
-
- -
|
40
|
+
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 4.0.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0.2'
|
50
|
-
- -
|
50
|
+
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 0.
|
52
|
+
version: 4.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: builder
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- -
|
57
|
+
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 3.0.0
|
60
|
-
- - <
|
60
|
+
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 4.0.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: 3.0.0
|
70
|
-
- - <
|
70
|
+
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 4.0.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: bundler
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- -
|
77
|
+
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '1.3'
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.0'
|
80
83
|
type: :development
|
81
84
|
prerelease: false
|
82
85
|
version_requirements: !ruby/object:Gem::Requirement
|
83
86
|
requirements:
|
84
|
-
- -
|
87
|
+
- - ">="
|
85
88
|
- !ruby/object:Gem::Version
|
86
89
|
version: '1.3'
|
90
|
+
- - "<"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '2.0'
|
87
93
|
- !ruby/object:Gem::Dependency
|
88
94
|
name: rake
|
89
95
|
requirement: !ruby/object:Gem::Requirement
|
90
96
|
requirements:
|
91
|
-
- - ~>
|
97
|
+
- - "~>"
|
92
98
|
- !ruby/object:Gem::Version
|
93
99
|
version: '10.1'
|
94
100
|
type: :development
|
95
101
|
prerelease: false
|
96
102
|
version_requirements: !ruby/object:Gem::Requirement
|
97
103
|
requirements:
|
98
|
-
- - ~>
|
104
|
+
- - "~>"
|
99
105
|
- !ruby/object:Gem::Version
|
100
106
|
version: '10.1'
|
101
107
|
- !ruby/object:Gem::Dependency
|
102
108
|
name: rspec
|
103
109
|
requirement: !ruby/object:Gem::Requirement
|
104
110
|
requirements:
|
105
|
-
- -
|
111
|
+
- - ">="
|
106
112
|
- !ruby/object:Gem::Version
|
107
113
|
version: '2.14'
|
114
|
+
- - "<"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '4.0'
|
108
117
|
type: :development
|
109
118
|
prerelease: false
|
110
119
|
version_requirements: !ruby/object:Gem::Requirement
|
111
120
|
requirements:
|
112
|
-
- -
|
121
|
+
- - ">="
|
113
122
|
- !ruby/object:Gem::Version
|
114
123
|
version: '2.14'
|
124
|
+
- - "<"
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '4.0'
|
115
127
|
- !ruby/object:Gem::Dependency
|
116
128
|
name: simplecov
|
117
129
|
requirement: !ruby/object:Gem::Requirement
|
118
130
|
requirements:
|
119
|
-
- -
|
131
|
+
- - ">="
|
120
132
|
- !ruby/object:Gem::Version
|
121
133
|
version: '0.7'
|
134
|
+
- - "<"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '1.0'
|
122
137
|
type: :development
|
123
138
|
prerelease: false
|
124
139
|
version_requirements: !ruby/object:Gem::Requirement
|
125
140
|
requirements:
|
126
|
-
- -
|
141
|
+
- - ">="
|
127
142
|
- !ruby/object:Gem::Version
|
128
143
|
version: '0.7'
|
144
|
+
- - "<"
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '1.0'
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: pry
|
149
|
+
requirement: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - "~>"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 0.10.3
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "~>"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 0.10.3
|
129
161
|
description: Ruby API for integrating with MS Dynamics 2011/2013 SOAP API
|
130
162
|
email:
|
131
163
|
- joeheth@gmail.com
|
@@ -133,9 +165,9 @@ executables: []
|
|
133
165
|
extensions: []
|
134
166
|
extra_rdoc_files: []
|
135
167
|
files:
|
136
|
-
- .gitignore
|
137
|
-
- .rspec
|
138
|
-
- .travis.yml
|
168
|
+
- ".gitignore"
|
169
|
+
- ".rspec"
|
170
|
+
- ".travis.yml"
|
139
171
|
- CHANGELOG.md
|
140
172
|
- Gemfile
|
141
173
|
- LICENSE.txt
|
@@ -148,12 +180,17 @@ files:
|
|
148
180
|
- lib/dynamics_crm/fetch_xml/entity.rb
|
149
181
|
- lib/dynamics_crm/fetch_xml/link_entity.rb
|
150
182
|
- lib/dynamics_crm/metadata/attribute_metadata.rb
|
183
|
+
- lib/dynamics_crm/metadata/attribute_query_expression.rb
|
151
184
|
- lib/dynamics_crm/metadata/entity_metadata.rb
|
185
|
+
- lib/dynamics_crm/metadata/entity_query_expression.rb
|
186
|
+
- lib/dynamics_crm/metadata/filter_expression.rb
|
152
187
|
- lib/dynamics_crm/metadata/one_to_many_relationship.rb
|
188
|
+
- lib/dynamics_crm/metadata/properties_expression.rb
|
153
189
|
- lib/dynamics_crm/metadata/relationship_metadata.rb
|
154
190
|
- lib/dynamics_crm/metadata/retrieve_all_entities_response.rb
|
155
191
|
- lib/dynamics_crm/metadata/retrieve_attribute_response.rb
|
156
192
|
- lib/dynamics_crm/metadata/retrieve_entity_response.rb
|
193
|
+
- lib/dynamics_crm/metadata/retrieve_metadata_changes_response.rb
|
157
194
|
- lib/dynamics_crm/metadata/xml_document.rb
|
158
195
|
- lib/dynamics_crm/model/entity.rb
|
159
196
|
- lib/dynamics_crm/model/opportunity.rb
|
@@ -173,6 +210,7 @@ files:
|
|
173
210
|
- lib/dynamics_crm/xml/fetch_expression.rb
|
174
211
|
- lib/dynamics_crm/xml/message_builder.rb
|
175
212
|
- lib/dynamics_crm/xml/message_parser.rb
|
213
|
+
- lib/dynamics_crm/xml/money.rb
|
176
214
|
- lib/dynamics_crm/xml/orders.rb
|
177
215
|
- lib/dynamics_crm/xml/page_info.rb
|
178
216
|
- lib/dynamics_crm/xml/query.rb
|
@@ -192,6 +230,7 @@ files:
|
|
192
230
|
- spec/fixtures/retrieve_attribute_response.xml
|
193
231
|
- spec/fixtures/retrieve_entity_relationships_response.xml
|
194
232
|
- spec/fixtures/retrieve_entity_response.xml
|
233
|
+
- spec/fixtures/retrieve_metadata_changes_response.xml
|
195
234
|
- spec/fixtures/retrieve_multiple_result.xml
|
196
235
|
- spec/fixtures/sender_fault.xml
|
197
236
|
- spec/fixtures/update_response.xml
|
@@ -199,10 +238,14 @@ files:
|
|
199
238
|
- spec/fixtures/win_opportunity_response.xml
|
200
239
|
- spec/lib/client_spec.rb
|
201
240
|
- spec/lib/fetch_xml/builder_spec.rb
|
241
|
+
- spec/lib/metadata/attribute_query_expression_spec.rb
|
202
242
|
- spec/lib/metadata/entity_metadata_spec.rb
|
243
|
+
- spec/lib/metadata/filter_expression_spec.rb
|
244
|
+
- spec/lib/metadata/properties_expression_spec.rb
|
203
245
|
- spec/lib/metadata/retrieve_all_entities_response_spec.rb
|
204
246
|
- spec/lib/metadata/retrieve_attribute_response_spec.rb
|
205
247
|
- spec/lib/metadata/retrieve_entity_response_spec.rb
|
248
|
+
- spec/lib/metadata/retrieve_metadata_changes_response_spec.rb
|
206
249
|
- spec/lib/model/opportunity_spec.rb
|
207
250
|
- spec/lib/response/execute_result_spec.rb
|
208
251
|
- spec/lib/response/retrieve_multiple_spec.rb
|
@@ -213,6 +256,7 @@ files:
|
|
213
256
|
- spec/lib/xml/entity_spec.rb
|
214
257
|
- spec/lib/xml/fault_spec.rb
|
215
258
|
- spec/lib/xml/message_builder_spec.rb
|
259
|
+
- spec/lib/xml/money_spec.rb
|
216
260
|
- spec/lib/xml/query_spec.rb
|
217
261
|
- spec/spec_helper.rb
|
218
262
|
- spec/support/fixture_helpers.rb
|
@@ -226,17 +270,17 @@ require_paths:
|
|
226
270
|
- lib
|
227
271
|
required_ruby_version: !ruby/object:Gem::Requirement
|
228
272
|
requirements:
|
229
|
-
- -
|
273
|
+
- - ">="
|
230
274
|
- !ruby/object:Gem::Version
|
231
275
|
version: '0'
|
232
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
277
|
requirements:
|
234
|
-
- -
|
278
|
+
- - ">="
|
235
279
|
- !ruby/object:Gem::Version
|
236
280
|
version: '0'
|
237
281
|
requirements: []
|
238
282
|
rubyforge_project:
|
239
|
-
rubygems_version: 2.4.
|
283
|
+
rubygems_version: 2.4.8
|
240
284
|
signing_key:
|
241
285
|
specification_version: 4
|
242
286
|
summary: Ruby gem for integrating with MS Dynamics 2011/2013 SOAP API
|
@@ -257,6 +301,7 @@ test_files:
|
|
257
301
|
- spec/fixtures/retrieve_attribute_response.xml
|
258
302
|
- spec/fixtures/retrieve_entity_relationships_response.xml
|
259
303
|
- spec/fixtures/retrieve_entity_response.xml
|
304
|
+
- spec/fixtures/retrieve_metadata_changes_response.xml
|
260
305
|
- spec/fixtures/retrieve_multiple_result.xml
|
261
306
|
- spec/fixtures/sender_fault.xml
|
262
307
|
- spec/fixtures/update_response.xml
|
@@ -264,10 +309,14 @@ test_files:
|
|
264
309
|
- spec/fixtures/win_opportunity_response.xml
|
265
310
|
- spec/lib/client_spec.rb
|
266
311
|
- spec/lib/fetch_xml/builder_spec.rb
|
312
|
+
- spec/lib/metadata/attribute_query_expression_spec.rb
|
267
313
|
- spec/lib/metadata/entity_metadata_spec.rb
|
314
|
+
- spec/lib/metadata/filter_expression_spec.rb
|
315
|
+
- spec/lib/metadata/properties_expression_spec.rb
|
268
316
|
- spec/lib/metadata/retrieve_all_entities_response_spec.rb
|
269
317
|
- spec/lib/metadata/retrieve_attribute_response_spec.rb
|
270
318
|
- spec/lib/metadata/retrieve_entity_response_spec.rb
|
319
|
+
- spec/lib/metadata/retrieve_metadata_changes_response_spec.rb
|
271
320
|
- spec/lib/model/opportunity_spec.rb
|
272
321
|
- spec/lib/response/execute_result_spec.rb
|
273
322
|
- spec/lib/response/retrieve_multiple_spec.rb
|
@@ -278,6 +327,7 @@ test_files:
|
|
278
327
|
- spec/lib/xml/entity_spec.rb
|
279
328
|
- spec/lib/xml/fault_spec.rb
|
280
329
|
- spec/lib/xml/message_builder_spec.rb
|
330
|
+
- spec/lib/xml/money_spec.rb
|
281
331
|
- spec/lib/xml/query_spec.rb
|
282
332
|
- spec/spec_helper.rb
|
283
333
|
- spec/support/fixture_helpers.rb
|