netvisor 0.2.3 → 0.8

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.
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/[my-github-username]/netvisor/fork )
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
@@ -13,7 +13,7 @@ module Netvisor
13
13
  # validate root
14
14
  req = Request.new
15
15
 
16
- req.send(root.to_xml, service, method, id)
16
+ req.dispatch(root.to_xml, service, method, id)
17
17
  end
18
18
 
19
19
  end
@@ -16,7 +16,6 @@ module Netvisor
16
16
  args.first.each_pair do |k, v|
17
17
  self[k] = v if members.map {|x| x.intern}.include? k
18
18
  end
19
- self.sender ||= 'Netvisor gem'
20
19
  end
21
20
  end
22
21
  end
@@ -0,0 +1,8 @@
1
+ require 'happymapper'
2
+
3
+ class Dimension
4
+ include HappyMapper
5
+
6
+ element :name, String, :tag => 'DimensionName'
7
+ element :item, String, :tag => 'DimensionItem'
8
+ end
@@ -3,7 +3,7 @@ require 'faraday'
3
3
  module Netvisor
4
4
  class Request
5
5
 
6
- def send(xml, service, method = nil, id = nil)
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, String
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
@@ -1,3 +1,3 @@
1
1
  module Netvisor
2
- VERSION = "0.2.3"
2
+ VERSION = "0.8"
3
3
  end
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 "bundler", "~> 1.7"
26
- spec.add_development_dependency "rake", "~> 10.0"
27
- spec.add_development_dependency "pry", "~> 0.9.12"
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 "faraday", "~> 0.9"
33
- spec.add_runtime_dependency "nokogiri-happymapper", "~> 0.5.9"
34
- spec.add_runtime_dependency "nokogiri", "~> 1.5.11"
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: 17
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 3
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-09 00:00:00 Z
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: 25
132
+ hash: 31
134
133
  segments:
135
134
  - 0
136
135
  - 5
137
- - 9
138
- version: 0.5.9
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