quickeebooks 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.md +5 -1
- data/coverage/index.html +698 -116
- data/lib/quickeebooks.rb +3 -1
- data/lib/quickeebooks/version.rb +1 -1
- data/lib/quickeebooks/windows/model/sync_activity_response.rb +28 -0
- data/lib/quickeebooks/windows/model/sync_status_drill_down.rb +18 -0
- data/lib/quickeebooks/windows/service/sync_activity.rb +35 -0
- data/quickeebooks-0.1.7.gem +0 -0
- data/spec/quickeebooks/windows/services/sync_activity_spec.rb +42 -0
- data/spec/xml/windows/sync_activity_responses.xml +20 -0
- metadata +8 -2
data/lib/quickeebooks.rb
CHANGED
@@ -178,7 +178,8 @@ require 'quickeebooks/windows/model/time_activity'
|
|
178
178
|
require 'quickeebooks/windows/model/time_activity_employee'
|
179
179
|
require 'quickeebooks/windows/model/time_activity_vendor'
|
180
180
|
require 'quickeebooks/windows/model/job'
|
181
|
-
|
181
|
+
require 'quickeebooks/windows/model/sync_activity_response'
|
182
|
+
require 'quickeebooks/windows/model/sync_status_drill_down'
|
182
183
|
|
183
184
|
# Services
|
184
185
|
require 'quickeebooks/windows/service/filter'
|
@@ -200,3 +201,4 @@ require 'quickeebooks/windows/service/access_token'
|
|
200
201
|
require 'quickeebooks/windows/service/employee'
|
201
202
|
require 'quickeebooks/windows/service/time_activity'
|
202
203
|
require 'quickeebooks/windows/service/job'
|
204
|
+
require 'quickeebooks/windows/service/sync_activity'
|
data/lib/quickeebooks/version.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
require "quickeebooks"
|
2
|
+
require 'quickeebooks/windows/model/sync_status_drill_down'
|
3
|
+
|
4
|
+
module Quickeebooks
|
5
|
+
module Windows
|
6
|
+
module Model
|
7
|
+
class SyncActivityResponse < Quickeebooks::Windows::Model::IntuitType
|
8
|
+
include ActiveModel::Validations
|
9
|
+
|
10
|
+
XML_COLLECTION_NODE = 'SyncActivityResponses'
|
11
|
+
XML_NODE = 'SyncActivityResponse'
|
12
|
+
|
13
|
+
# https://services.intuit.com/sb/account/v2/<realmID>
|
14
|
+
REST_RESOURCE = "syncActivity"
|
15
|
+
|
16
|
+
xml_convention :camelcase
|
17
|
+
xml_accessor :sync_type, :from => 'SyncType'
|
18
|
+
xml_accessor :start_sync_tms, :from => 'StartSyncTMS', :as => Time
|
19
|
+
xml_accessor :end_sync_tms, :from => 'EndSyncTMS', :as => Time
|
20
|
+
xml_accessor :entity_name, :from => 'EntityName'
|
21
|
+
xml_accessor :entity_row_count, :from => 'EntityRowCount', :as => Integer
|
22
|
+
xml_accessor :sync_status_drill_down, :from => 'SyncStatusDrillDown', :as => Quickeebooks::Windows::Model::SyncStatusDrillDown
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'quickeebooks'
|
2
|
+
|
3
|
+
module Quickeebooks
|
4
|
+
module Windows
|
5
|
+
module Model
|
6
|
+
class SyncStatusDrillDown < Quickeebooks::Windows::Model::IntuitType
|
7
|
+
xml_accessor :sync_event_id, :from => 'SyncEventId'
|
8
|
+
xml_accessor :sync_tms, :from => 'SyncTMS', :as => Time
|
9
|
+
xml_accessor :entity_id, :from => 'EntityId'
|
10
|
+
xml_accessor :request_id, :from => 'RequestId'
|
11
|
+
xml_accessor :ng_object_type, :from => 'NgObjectType'
|
12
|
+
xml_accessor :operation_type, :from => 'OperationType'
|
13
|
+
xml_accessor :sync_message_code, :from => 'SyncMessageCode'
|
14
|
+
xml_accessor :sync_message, :from => 'SyncMessage'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'quickeebooks/windows/service/service_base'
|
2
|
+
require 'active_support/builder' unless defined?(Builder)
|
3
|
+
|
4
|
+
module Quickeebooks
|
5
|
+
module Windows
|
6
|
+
module Service
|
7
|
+
class SyncActivity < Quickeebooks::Windows::Service::ServiceBase
|
8
|
+
|
9
|
+
# Fetch +SyncActivity+ objects
|
10
|
+
# Arguments:
|
11
|
+
# parameters: +Hash+ of attributes accepted to select +SyncActivityResponse+ objects
|
12
|
+
def retrieve(parameters={})
|
13
|
+
model = Quickeebooks::Windows::Model::SyncActivityResponse
|
14
|
+
|
15
|
+
response = do_http_post(url_for_resource(model::REST_RESOURCE), xml_body(parameters), {}, {'Content-Type' => 'text/xml'})
|
16
|
+
parse_collection(response, model)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def xml_body(parameters)
|
22
|
+
parameters.reverse_merge!(:offering_id => "ipp")
|
23
|
+
|
24
|
+
xml = Builder::XmlMarkup.new
|
25
|
+
xml.instruct!
|
26
|
+
xml.tag!('SyncActivityRequest', "xmlns" => "http://www.intuit.com/sb/cdm/v2", "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xsi:schemaLocation" => "http://www.intuit.com/sb/cdm/v2 RestDataFilter.xsd ") do |request|
|
27
|
+
parameters.each {|key, value| ActiveSupport::XmlMini.to_tag(key, value, {:camelize => true, :skip_type => true, :builder => request})}
|
28
|
+
end
|
29
|
+
xml.target!
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
Binary file
|
@@ -0,0 +1,42 @@
|
|
1
|
+
describe "Quickeebooks::Windows::Service::SyncActivity" do
|
2
|
+
before(:all) do
|
3
|
+
FakeWeb.allow_net_connect = false
|
4
|
+
qb_key = "key"
|
5
|
+
qb_secret = "secreet"
|
6
|
+
|
7
|
+
@realm_id = "9991111222"
|
8
|
+
@base_uri = "https://qbo.intuit.com/qbo36"
|
9
|
+
@oauth_consumer = OAuth::Consumer.new(qb_key, qb_key, {
|
10
|
+
:site => "https://oauth.intuit.com",
|
11
|
+
:request_token_path => "/oauth/v1/get_request_token",
|
12
|
+
:authorize_path => "/oauth/v1/get_access_token",
|
13
|
+
:access_token_path => "/oauth/v1/get_access_token"
|
14
|
+
})
|
15
|
+
@oauth = OAuth::AccessToken.new(@oauth_consumer, "blah", "blah")
|
16
|
+
end
|
17
|
+
|
18
|
+
it "can fetch a list of time_activities" do
|
19
|
+
xml = windowsFixture("sync_activity_responses.xml")
|
20
|
+
model = Quickeebooks::Windows::Model::SyncActivityResponse
|
21
|
+
service = Quickeebooks::Windows::Service::SyncActivity.new
|
22
|
+
service.access_token = @oauth
|
23
|
+
service.realm_id = @realm_id
|
24
|
+
FakeWeb.register_uri(:post, service.url_for_resource(model::REST_RESOURCE), :status => ["200", "OK"], :body => xml)
|
25
|
+
sync_activity_responses = service.retrieve
|
26
|
+
sync_activity_responses.entries.count.should == 1
|
27
|
+
single_response = sync_activity_responses.entries.first
|
28
|
+
single_response.sync_type.should == "Writeback"
|
29
|
+
single_response.start_sync_tms.utc.should == Time.parse("2011-07-29T07:09:02.0").utc
|
30
|
+
single_response.end_sync_tms.utc.should == Time.parse("2011-07-29T07:09:02.0").utc
|
31
|
+
single_response.entity_name.should == "Customer"
|
32
|
+
drill_down = single_response.sync_status_drill_down
|
33
|
+
drill_down.sync_tms.should == Time.parse("2011-07-29T14:09:02.0Z").utc
|
34
|
+
drill_down.entity_id.should == "2480872"
|
35
|
+
drill_down.request_id.should == "0729e1124a274fc79d65a1d97233877f"
|
36
|
+
drill_down.ng_object_type.should == "Customer"
|
37
|
+
drill_down.operation_type.should == "CustomerAdd"
|
38
|
+
drill_down.sync_message_code.should == "10"
|
39
|
+
drill_down.sync_message.should == "success"
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intuit.com/sb/cdm/v2 ../common/RestDataFilter.xsd">
|
3
|
+
<SyncActivityResponses>
|
4
|
+
<SyncActivityResponse>
|
5
|
+
<SyncType>Writeback</SyncType>
|
6
|
+
<StartSyncTMS>2011-07-29T07:09:02.0</StartSyncTMS>
|
7
|
+
<EndSyncTMS>2011-07-29T07:09:02.0</EndSyncTMS>
|
8
|
+
<EntityName>Customer</EntityName>
|
9
|
+
<SyncStatusDrillDown>
|
10
|
+
<SyncTMS>2011-07-29T14:09:02.0Z</SyncTMS>
|
11
|
+
<EntityId>2480872</EntityId>
|
12
|
+
<RequestId>0729e1124a274fc79d65a1d97233877f</RequestId>
|
13
|
+
<NgObjectType>Customer</NgObjectType>
|
14
|
+
<OperationType>CustomerAdd</OperationType>
|
15
|
+
<SyncMessageCode>10</SyncMessageCode>
|
16
|
+
<SyncMessage>success</SyncMessage>
|
17
|
+
</SyncStatusDrillDown>
|
18
|
+
</SyncActivityResponse>
|
19
|
+
</SyncActivityResponses>
|
20
|
+
</RestResponse>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickeebooks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: roxml
|
@@ -340,6 +340,8 @@ files:
|
|
340
340
|
- lib/quickeebooks/windows/model/sales_tax.rb
|
341
341
|
- lib/quickeebooks/windows/model/ship_method.rb
|
342
342
|
- lib/quickeebooks/windows/model/success.rb
|
343
|
+
- lib/quickeebooks/windows/model/sync_activity_response.rb
|
344
|
+
- lib/quickeebooks/windows/model/sync_status_drill_down.rb
|
343
345
|
- lib/quickeebooks/windows/model/tax_line.rb
|
344
346
|
- lib/quickeebooks/windows/model/time_activity.rb
|
345
347
|
- lib/quickeebooks/windows/model/time_activity_employee.rb
|
@@ -367,9 +369,11 @@ files:
|
|
367
369
|
- lib/quickeebooks/windows/service/service_base.rb
|
368
370
|
- lib/quickeebooks/windows/service/ship_method.rb
|
369
371
|
- lib/quickeebooks/windows/service/sort.rb
|
372
|
+
- lib/quickeebooks/windows/service/sync_activity.rb
|
370
373
|
- lib/quickeebooks/windows/service/time_activity.rb
|
371
374
|
- lib/quickeebooks.rb
|
372
375
|
- MIT-LICENSE
|
376
|
+
- quickeebooks-0.1.7.gem
|
373
377
|
- quickeebooks.gemspec
|
374
378
|
- Rakefile
|
375
379
|
- README.md
|
@@ -415,6 +419,7 @@ files:
|
|
415
419
|
- spec/quickeebooks/windows/services/sales_taxes_spec.rb
|
416
420
|
- spec/quickeebooks/windows/services/service_base_spec.rb
|
417
421
|
- spec/quickeebooks/windows/services/ship_method_spec.rb
|
422
|
+
- spec/quickeebooks/windows/services/sync_activity_spec.rb
|
418
423
|
- spec/quickeebooks/windows/services/time_activity_spec.rb
|
419
424
|
- spec/quickeebooks_spec.rb
|
420
425
|
- spec/spec_helper.rb
|
@@ -473,6 +478,7 @@ files:
|
|
473
478
|
- spec/xml/windows/sales_reps.xml
|
474
479
|
- spec/xml/windows/sales_taxes.xml
|
475
480
|
- spec/xml/windows/ship_methods.xml
|
481
|
+
- spec/xml/windows/sync_activity_responses.xml
|
476
482
|
- spec/xml/windows/time_activities.xml
|
477
483
|
homepage: http://github.com/ruckus/quickeebooks
|
478
484
|
licenses: []
|