netvisor 0.2.3 → 0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -1
- data/lib/netvisor.rb +2 -2
- data/lib/netvisor/base.rb +1 -1
- data/lib/netvisor/configuration.rb +0 -1
- data/lib/netvisor/dimension.rb +8 -0
- data/lib/netvisor/request.rb +1 -1
- data/lib/netvisor/sales_invoice.rb +40 -3
- data/lib/netvisor/sales_invoice_product_line.rb +8 -10
- data/lib/netvisor/version.rb +1 -1
- data/netvisor.gemspec +8 -6
- metadata +39 -9
data/README.md
CHANGED
@@ -36,9 +36,11 @@ Netvisor.configure do |config|
|
|
36
36
|
config.customer_key = Customer key
|
37
37
|
config.partner_ke = Partner key
|
38
38
|
|
39
|
+
```
|
40
|
+
|
39
41
|
## Contributing
|
40
42
|
|
41
|
-
1. Fork it ( https://github.com/
|
43
|
+
1. Fork it ( https://github.com/Eficode/netvisor/fork )
|
42
44
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
43
45
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
44
46
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/lib/netvisor.rb
CHANGED
@@ -16,10 +16,10 @@ module Netvisor
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.configuration
|
19
|
-
@configuration ||= Configuration.new
|
19
|
+
@configuration ||= Configuration.new(:sender => 'Netvisor gem')
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.reset
|
23
|
-
@configuration = Configuration.new
|
23
|
+
@configuration = Configuration.new(:sender => 'Netvisor gem')
|
24
24
|
end
|
25
25
|
end
|
data/lib/netvisor/base.rb
CHANGED
data/lib/netvisor/request.rb
CHANGED
@@ -3,7 +3,7 @@ require 'faraday'
|
|
3
3
|
module Netvisor
|
4
4
|
class Request
|
5
5
|
|
6
|
-
def
|
6
|
+
def dispatch(xml, service, method = nil, id = nil)
|
7
7
|
url = self.class.build_url(service, method, id)
|
8
8
|
headers = self.class.build_headers(url)
|
9
9
|
xml.gsub!("<?xml version=\"1.0\"?>", '')
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'happymapper'
|
2
2
|
require 'netvisor/sales_invoice_line'
|
3
3
|
require 'netvisor/vat_percentage'
|
4
|
+
require 'netvisor/dimension'
|
4
5
|
|
5
6
|
module Netvisor
|
6
7
|
class SalesInvoice
|
@@ -91,6 +92,8 @@ module Netvisor
|
|
91
92
|
element :description, String, :tag => 'Description'
|
92
93
|
element :account_number, String, :tag => 'AccountNumber'
|
93
94
|
element :vat_percentage, VatPercentage, :tag => 'VatPercent'
|
95
|
+
element :skip_accrual, String, :tag => 'SkipAccrual'
|
96
|
+
has_many :dimensions, Dimension, :tag => 'Dimension'
|
94
97
|
end
|
95
98
|
|
96
99
|
has_many :lines, VoucherLine, :tag => 'VoucherLine'
|
@@ -146,6 +149,36 @@ module Netvisor
|
|
146
149
|
|
147
150
|
end
|
148
151
|
|
152
|
+
class ChannelFormat
|
153
|
+
include HappyMapper
|
154
|
+
|
155
|
+
attribute :type, String
|
156
|
+
content :format, String
|
157
|
+
end
|
158
|
+
|
159
|
+
class SecondName
|
160
|
+
include HappyMapper
|
161
|
+
|
162
|
+
attribute :type, String
|
163
|
+
content :format, String
|
164
|
+
end
|
165
|
+
|
166
|
+
class InvoiceAccrual
|
167
|
+
include HappyMapper
|
168
|
+
|
169
|
+
class AccrualVoucherEntry
|
170
|
+
include HappyMapper
|
171
|
+
|
172
|
+
element :month, Integer
|
173
|
+
element :year, Integer
|
174
|
+
element :sum, Float
|
175
|
+
end
|
176
|
+
|
177
|
+
element :overwrite_account_number, Integer, :tag => 'OverrideDefaultSalesAccrualAccountNumber'
|
178
|
+
element :accrual_type, String, :tag => 'SalesInvoiceAccrualType'
|
179
|
+
has_many :accrual_vouchers, AccrualVoucher, :tag => 'AccrualVoucherEntry'
|
180
|
+
end
|
181
|
+
|
149
182
|
element :invoice_number, String, :tag => 'SalesInvoiceNumber'
|
150
183
|
element :invoice_date, InvoiceDate, :tag => 'SalesInvoiceDate'
|
151
184
|
element :invoice_delivery_date, InvoiceDeliveryDate, :tag => 'SalesInvoiceDeliveryDate'
|
@@ -154,12 +187,12 @@ module Netvisor
|
|
154
187
|
element :seller_id, SellerId, :tag => 'SellerIdentifier'
|
155
188
|
element :seller_name, String, :tag => 'SellerName'
|
156
189
|
element :type, String, :tag => 'InvoiceType'
|
190
|
+
element :status, InvoiceStatus, :tag => 'SalesInvoiceStatus'
|
157
191
|
element :text_before_lines, String, :tag => 'SalesInvoiceFreeTextBeforeLines'
|
158
192
|
element :text_after_lines, String, :tag => 'SalesInvoiceFreeTextAfterLines'
|
159
193
|
element :our_reference, String, :tag => 'SalesInvoiceOurReference'
|
160
194
|
element :your_reference, String, :tag => 'SalesInvoiceYourReference'
|
161
195
|
element :comment, String, :tag => 'SalesInvoicePrivateComment'
|
162
|
-
element :status, InvoiceStatus, :tag => 'SalesInvoiceStatus'
|
163
196
|
|
164
197
|
element :customer_id, CustomerId, :tag => 'InvoicingCustomerIdentifier'
|
165
198
|
element :customer_firstname, String, :tag => 'InvoicingCustomerName'
|
@@ -169,14 +202,14 @@ module Netvisor
|
|
169
202
|
element :customer_city, String, :tag => 'InvoicingCustomerTown'
|
170
203
|
element :customer_country, CountryCode, :tag => 'InvoicingCustomerCountryCode'
|
171
204
|
|
172
|
-
element :delivery_method, String, :tag => 'DeliveryMethod'
|
173
|
-
element :delivery_term, String, :tag => 'DeliveryTerm'
|
174
205
|
element :delivery_address_name, String, :tag => 'DeliveryAddressName'
|
175
206
|
element :delivery_address_name_extension, String, :tag => 'DeliveryAddressNameExtension'
|
176
207
|
element :delivery_address_line, String, :tag => 'DeliveryAddressLine'
|
177
208
|
element :delivery_address_postal_code, String, :tag => 'DeliveryAddressPostNumber'
|
178
209
|
element :delivery_address_city, String, :tag => 'DeliveryAddressTown'
|
179
210
|
element :delivery_address_countrey, CountryCode, :tag => 'DeliveryAddressCountryCode'
|
211
|
+
element :delivery_method, String, :tag => 'DeliveryMethod'
|
212
|
+
element :delivery_term, String, :tag => 'DeliveryTerm'
|
180
213
|
|
181
214
|
element :tax_handling_type, String, :tag => 'SalesInvoiceTaxHandlingType'
|
182
215
|
element :payment_net_days, Integer, :tag => 'PaymentTermNetDays'
|
@@ -187,8 +220,12 @@ module Netvisor
|
|
187
220
|
element :overrise_account_number, Integer, :tag => 'OverrideVoucherSalesReceivablesAccountNumber'
|
188
221
|
element :subject_type, String, :tag => 'InvoiceSubjectType'
|
189
222
|
|
223
|
+
element :print_channel_format, ChannelFormat, :tag => 'printchannelformat'
|
224
|
+
element :second_name, SecondName, :tag => 'secondname'
|
225
|
+
|
190
226
|
has_many :invoice_lines, SalesInvoiceLines, :tag => 'InvoiceLines'
|
191
227
|
has_many :voucher_lines, InvoiceVoucherLines, :tag => 'InvoiceVoucherLines'
|
228
|
+
has_many :invoice_accrual, InvoiceAccrual, :tag => 'SalesInvoiceAccrual'
|
192
229
|
has_many :attachments, SalesInvoiceAttachments, :tag => 'SalesInvoiceAttachments'
|
193
230
|
has_many :custom_tags, CustomTags, :tag => 'CustomTags'
|
194
231
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'happymapper'
|
2
2
|
require 'netvisor/vat_percentage'
|
3
|
+
require 'netvisor/dimension'
|
3
4
|
|
4
5
|
module Netvisor
|
5
6
|
class SalesInvoiceProductLine
|
@@ -15,14 +16,7 @@ module Netvisor
|
|
15
16
|
include HappyMapper
|
16
17
|
|
17
18
|
attribute :type, String
|
18
|
-
content :price,
|
19
|
-
end
|
20
|
-
|
21
|
-
class Dimension
|
22
|
-
include HappyMapper
|
23
|
-
|
24
|
-
element :name, String, :tag => 'DimensionName'
|
25
|
-
element :item, String, :tag => 'DimensionItem'
|
19
|
+
content :price, Float
|
26
20
|
end
|
27
21
|
|
28
22
|
tag self.name.split('::').last
|
@@ -30,11 +24,15 @@ module Netvisor
|
|
30
24
|
element :product_id, ProductId, :tag => 'ProductIdentifier'
|
31
25
|
element :name, String, :tag => 'ProductName'
|
32
26
|
element :unit_price, UnitPrice, :tag => 'ProductUnitPrice'
|
27
|
+
element :unit_purchase_price, UnitPrice, :tag => 'ProductUnitPurchasePrice'
|
33
28
|
element :vat_percentage, VatPercentage, :tag => 'ProductVatPercentage'
|
34
29
|
element :quantity, Integer, :tag => 'SalesInvoiceProductLineQuantity'
|
35
|
-
element :accounting_suggestion, Integer, :tag => 'AccountingAccountSuggestion'
|
36
|
-
element :AccountingAccountSuggestion, Integer, :tag => 'ProductUnitPurchasePrice'
|
37
30
|
element :discount_percentage, Integer, :tag => 'SalesInvoiceProductLineDiscountPercentage'
|
31
|
+
element :free_text, String, :tag => 'SalesInvoiceProductLineFreeText'
|
32
|
+
element :vat_sum, Float, :tag => 'SalesInvoiceProductLineVatSum'
|
33
|
+
element :line_sum, Float, :tag => 'SalesInvoiceProductLineSum'
|
34
|
+
element :accounting_suggestion, Integer, :tag => 'AccountingAccountSuggestion'
|
35
|
+
element :skip_accrual, Integer, :tag => 'SkipAccrual'
|
38
36
|
has_many :dimensions, Dimension, :tag => 'Dimension'
|
39
37
|
end
|
40
38
|
end
|
data/lib/netvisor/version.rb
CHANGED
data/netvisor.gemspec
CHANGED
@@ -22,14 +22,16 @@ EOF
|
|
22
22
|
|
23
23
|
spec.required_ruby_version = '>= 1.8.7'
|
24
24
|
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
25
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
27
|
+
spec.add_development_dependency 'pry', '~> 0.9.12'
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.1.0'
|
29
29
|
spec.add_development_dependency 'coveralls'
|
30
30
|
spec.add_development_dependency 'rest-client', '~> 1.6.8'
|
31
31
|
|
32
|
-
spec.add_runtime_dependency
|
33
|
-
spec.add_runtime_dependency
|
34
|
-
spec.add_runtime_dependency
|
32
|
+
spec.add_runtime_dependency 'faraday', '~> 0.9'
|
33
|
+
spec.add_runtime_dependency 'nokogiri-happymapper-deiga', '~> 0.5.10'
|
34
|
+
spec.add_runtime_dependency 'nokogiri', '~> 1.5.11'
|
35
|
+
spec.add_runtime_dependency 'ox'
|
36
|
+
spec.add_runtime_dependency 'activemodel', '~> 3.2.19'
|
35
37
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netvisor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
|
10
|
-
version: 0.2.3
|
8
|
+
- 8
|
9
|
+
version: "0.8"
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Timo Sand
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2014-09-
|
17
|
+
date: 2014-09-11 00:00:00 Z
|
19
18
|
dependencies:
|
20
19
|
- !ruby/object:Gem::Dependency
|
21
20
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -130,16 +129,16 @@ dependencies:
|
|
130
129
|
requirements:
|
131
130
|
- - ~>
|
132
131
|
- !ruby/object:Gem::Version
|
133
|
-
hash:
|
132
|
+
hash: 31
|
134
133
|
segments:
|
135
134
|
- 0
|
136
135
|
- 5
|
137
|
-
-
|
138
|
-
version: 0.5.
|
136
|
+
- 10
|
137
|
+
version: 0.5.10
|
139
138
|
prerelease: false
|
140
139
|
requirement: *id008
|
141
140
|
type: :runtime
|
142
|
-
name: nokogiri-happymapper
|
141
|
+
name: nokogiri-happymapper-deiga
|
143
142
|
- !ruby/object:Gem::Dependency
|
144
143
|
version_requirements: &id009 !ruby/object:Gem::Requirement
|
145
144
|
none: false
|
@@ -156,6 +155,36 @@ dependencies:
|
|
156
155
|
requirement: *id009
|
157
156
|
type: :runtime
|
158
157
|
name: nokogiri
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
hash: 3
|
165
|
+
segments:
|
166
|
+
- 0
|
167
|
+
version: "0"
|
168
|
+
prerelease: false
|
169
|
+
requirement: *id010
|
170
|
+
type: :runtime
|
171
|
+
name: ox
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
174
|
+
none: false
|
175
|
+
requirements:
|
176
|
+
- - ~>
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
hash: 41
|
179
|
+
segments:
|
180
|
+
- 3
|
181
|
+
- 2
|
182
|
+
- 19
|
183
|
+
version: 3.2.19
|
184
|
+
prerelease: false
|
185
|
+
requirement: *id011
|
186
|
+
type: :runtime
|
187
|
+
name: activemodel
|
159
188
|
description: " This gem is a ruby implementation of the Netvisor invoicing API\n"
|
160
189
|
email:
|
161
190
|
- timo.j.sand@gmail.com
|
@@ -178,6 +207,7 @@ files:
|
|
178
207
|
- lib/netvisor.rb
|
179
208
|
- lib/netvisor/base.rb
|
180
209
|
- lib/netvisor/configuration.rb
|
210
|
+
- lib/netvisor/dimension.rb
|
181
211
|
- lib/netvisor/request.rb
|
182
212
|
- lib/netvisor/root.rb
|
183
213
|
- lib/netvisor/sales_invoice.rb
|