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 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