quickbooks-ruby 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 290a453c26a079aa3c95a0e752c0cc46f82c870e
4
- data.tar.gz: b16bf38076576f964387a338a2713265f586490b
3
+ metadata.gz: 8f022da1bd07f94626aeaa48e9e2191a33317437
4
+ data.tar.gz: 3659e63ed15e2735f003ff203829bc43d31d84ff
5
5
  SHA512:
6
- metadata.gz: 04222df97af7cd63abbcd8a111a8b61f646de2f1f1ac21efc8ececf488426b5843b51409fe5107d9819e5dee09c0fcb3d3a2139230394d53f71a65d8e5c0987f
7
- data.tar.gz: 3df19ee4ed82c414f069a6f572e71fa94e87e28b85fabb3cceeb4ddd62ea0b3543f2cd65046d1ce87c6a40e7f6a09480b3efa1e20101dbacd95f95f6943fda2d
6
+ metadata.gz: 34a057792381dff10a2cb9072ede8a05578d6cdd3436b8337ae47cd1b0d60a4cd41e7b7884b10857a8c0a3311f15ac49723287e40679805ab0ffb6604d369c7c
7
+ data.tar.gz: ac73b452460c70a84e0ceff4a29e81db2769e98b2071e569146e80d34c8ac1fe4ab35697be4f1d6199540b2a58ce35212f6cf4aa86a0560cc47b76aa0151b9ef
@@ -12,6 +12,11 @@ module Quickbooks
12
12
  "#{url}?minorversion=#{Quickbooks::Model::Item::MINORVERSION}"
13
13
  end
14
14
 
15
+ def fetch_by_id(id, params = {})
16
+ url = "#{url_for_base}/item/#{id}?minorversion=#{Quickbooks::Model::Item::MINORVERSION}"
17
+ fetch_object(model, url, params)
18
+ end
19
+
15
20
  def url_for_query(query = nil, start_position = 1, max_results = 20)
16
21
  url = super(query, start_position, max_results)
17
22
  "#{url}&minorversion=#{Quickbooks::Model::Item::MINORVERSION}"
@@ -6,6 +6,20 @@ module Quickbooks
6
6
  delete_by_query_string(payment)
7
7
  end
8
8
 
9
+ def void(entity, options = {})
10
+ raise Quickbooks::InvalidModelException.new(entity.errors.full_messages.join(',')) unless entity.valid?
11
+ xml = entity.to_xml_ns(options)
12
+ url = url_for_resource(model.resource_for_singular)
13
+ url += '?include=void'
14
+
15
+ response = do_http_post(url, valid_xml_document(xml), {})
16
+ if response.code.to_i == 200
17
+ model.from_xml(parse_singular_entity_response(model, response.plain_body))
18
+ else
19
+ nil
20
+ end
21
+ end
22
+
9
23
  private
10
24
 
11
25
  def model
@@ -6,6 +6,15 @@ module Quickbooks
6
6
  fetch_collection(object_query, model, options)
7
7
  end
8
8
 
9
+ # fetch all records, returns an array of models
10
+ def all(object_query=nil, options={})
11
+ collection = []
12
+ self.query_in_batches(object_query, options) do |batch|
13
+ collection << batch.entries
14
+ end
15
+ collection.flatten!
16
+ end
17
+
9
18
  def query_in_batches(object_query=nil, options={})
10
19
  page = 0
11
20
  per_page = options.delete(:per_page) || 1_000
@@ -16,6 +25,14 @@ module Quickbooks
16
25
  end until results.count < per_page
17
26
  end
18
27
 
28
+ def find_by(field, selector, options={})
29
+ if field.class == Symbol
30
+ field = field.to_s.camelcase
31
+ end
32
+ q = "select * from %s where %s = '%s'" % [model.resource_for_singular, field, selector]
33
+ self.query(q, options)
34
+ end
35
+
19
36
  def fetch_by_id(id, params = {})
20
37
  url = "#{url_for_resource(model.resource_for_singular)}/#{id}"
21
38
  fetch_object(model, url, params)
@@ -1,5 +1,5 @@
1
1
  module Quickbooks
2
2
 
3
- VERSION = "0.4.1"
3
+ VERSION = "0.4.2"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quickbooks-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Caughlan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-29 00:00:00.000000000 Z
11
+ date: 2015-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth