fortnox-api 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +3 -2
  3. data/.env.test +3 -0
  4. data/.rubocop.yml +32 -23
  5. data/.travis.yml +3 -2
  6. data/Guardfile +2 -2
  7. data/LICENSE.txt +165 -22
  8. data/README.md +56 -37
  9. data/fortnox-api.gemspec +9 -6
  10. data/lib/fortnox/api.rb +18 -2
  11. data/lib/fortnox/api/base.rb +5 -3
  12. data/lib/fortnox/api/environment_validation.rb +51 -6
  13. data/lib/fortnox/api/mappers.rb +49 -0
  14. data/lib/fortnox/api/mappers/base.rb +47 -0
  15. data/lib/fortnox/api/mappers/base/from_json.rb +78 -0
  16. data/lib/fortnox/api/mappers/base/to_json.rb +65 -0
  17. data/lib/fortnox/api/mappers/customer.rb +27 -0
  18. data/lib/fortnox/api/mappers/default_delivery_types.rb +13 -0
  19. data/lib/fortnox/api/mappers/default_templates.rb +15 -0
  20. data/lib/fortnox/api/mappers/edi_information.rb +22 -0
  21. data/lib/fortnox/api/mappers/email_information.rb +18 -0
  22. data/lib/fortnox/api/mappers/invoice.rb +27 -0
  23. data/lib/fortnox/api/mappers/invoice_row.rb +20 -0
  24. data/lib/fortnox/api/mappers/order.rb +23 -0
  25. data/lib/fortnox/api/mappers/order_row.rb +16 -0
  26. data/lib/fortnox/api/models.rb +2 -0
  27. data/lib/fortnox/api/models/base.rb +56 -13
  28. data/lib/fortnox/api/models/customer.rb +112 -101
  29. data/lib/fortnox/api/models/document_base.rb +189 -0
  30. data/lib/fortnox/api/models/invoice.rb +29 -195
  31. data/lib/fortnox/api/models/label.rb +17 -0
  32. data/lib/fortnox/api/models/order.rb +27 -0
  33. data/lib/fortnox/api/repositories.rb +2 -0
  34. data/lib/fortnox/api/repositories/base.rb +4 -5
  35. data/lib/fortnox/api/repositories/base/loaders.rb +22 -14
  36. data/lib/fortnox/api/repositories/base/savers.rb +30 -16
  37. data/lib/fortnox/api/repositories/customer.rb +3 -25
  38. data/lib/fortnox/api/repositories/invoice.rb +3 -22
  39. data/lib/fortnox/api/repositories/order.rb +16 -0
  40. data/lib/fortnox/api/request_handling.rb +3 -3
  41. data/lib/fortnox/api/types.rb +44 -0
  42. data/lib/fortnox/api/types/default_delivery_types.rb +20 -0
  43. data/lib/fortnox/api/types/default_templates.rb +23 -0
  44. data/lib/fortnox/api/types/defaulted.rb +11 -0
  45. data/lib/fortnox/api/types/document_row.rb +65 -0
  46. data/lib/fortnox/api/types/edi_information.rb +29 -0
  47. data/lib/fortnox/api/types/email_information.rb +26 -0
  48. data/lib/fortnox/api/types/enums.rb +75 -0
  49. data/lib/fortnox/api/types/invoice_row.rb +19 -0
  50. data/lib/fortnox/api/types/model.rb +40 -0
  51. data/lib/fortnox/api/types/nullable.rb +21 -0
  52. data/lib/fortnox/api/types/order_row.rb +16 -0
  53. data/lib/fortnox/api/types/required.rb +13 -0
  54. data/lib/fortnox/api/types/sized.rb +25 -0
  55. data/lib/fortnox/api/version.rb +1 -1
  56. data/spec/fortnox/api/base_spec.rb +85 -14
  57. data/spec/fortnox/api/mappers/base/from_json_spec.rb +70 -0
  58. data/spec/fortnox/api/mappers/base/to_json_spec.rb +76 -0
  59. data/spec/fortnox/api/mappers/base_spec.rb +156 -0
  60. data/spec/fortnox/api/mappers/contexts/json_conversion.rb +56 -0
  61. data/spec/fortnox/api/mappers/customer_spec.rb +25 -0
  62. data/spec/fortnox/api/mappers/default_delivery_types_spec.rb +12 -0
  63. data/spec/fortnox/api/mappers/edi_information_spec.rb +21 -0
  64. data/spec/fortnox/api/mappers/email_information_spec.rb +17 -0
  65. data/spec/fortnox/api/mappers/examples/mapper.rb +26 -0
  66. data/spec/fortnox/api/mappers/invoice_row_spec.rb +19 -0
  67. data/spec/fortnox/api/mappers/invoice_spec.rb +24 -0
  68. data/spec/fortnox/api/mappers/order_row_spec.rb +14 -0
  69. data/spec/fortnox/api/mappers/order_spec.rb +20 -0
  70. data/spec/fortnox/api/models/base_spec.rb +44 -22
  71. data/spec/fortnox/api/models/customer_spec.rb +9 -0
  72. data/spec/fortnox/api/models/examples/document_base.rb +13 -0
  73. data/spec/fortnox/api/models/examples/model.rb +13 -0
  74. data/spec/fortnox/api/models/invoice_spec.rb +7 -31
  75. data/spec/fortnox/api/models/order_spec.rb +13 -0
  76. data/spec/fortnox/api/repositories/customer_spec.rb +20 -76
  77. data/spec/fortnox/api/repositories/examples/all.rb +17 -0
  78. data/spec/fortnox/api/repositories/examples/find.rb +25 -0
  79. data/spec/fortnox/api/repositories/examples/only.rb +42 -0
  80. data/spec/fortnox/api/repositories/examples/save.rb +69 -0
  81. data/spec/fortnox/api/repositories/examples/save_with_nested_model.rb +32 -0
  82. data/spec/fortnox/api/repositories/examples/save_with_specially_named_attribute.rb +27 -0
  83. data/spec/fortnox/api/repositories/examples/search.rb +31 -0
  84. data/spec/fortnox/api/repositories/invoice_spec.rb +36 -5
  85. data/spec/fortnox/api/repositories/order_spec.rb +35 -0
  86. data/spec/fortnox/api/types/account_number_spec.rb +28 -0
  87. data/spec/fortnox/api/types/default_delivery_types_spec.rb +10 -0
  88. data/spec/fortnox/api/types/edi_information_spec.rb +13 -0
  89. data/spec/fortnox/api/types/email_information_spec.rb +13 -0
  90. data/spec/fortnox/api/types/email_spec.rb +29 -0
  91. data/spec/fortnox/api/types/enums_spec.rb +13 -0
  92. data/spec/fortnox/api/types/examples/document_row.rb +15 -0
  93. data/spec/fortnox/api/types/examples/enum.rb +48 -0
  94. data/spec/fortnox/api/types/examples/types.rb +9 -0
  95. data/spec/fortnox/api/types/house_work_types_spec.rb +60 -0
  96. data/spec/fortnox/api/types/invoice_row_spec.rb +9 -0
  97. data/spec/fortnox/api/types/model_spec.rb +56 -0
  98. data/spec/fortnox/api/types/nullable_spec.rb +57 -0
  99. data/spec/fortnox/api/types/order_row_spec.rb +13 -0
  100. data/spec/fortnox/api/types/required_spec.rb +42 -0
  101. data/spec/fortnox/api/types/sized_spec.rb +74 -0
  102. data/spec/fortnox/api_spec.rb +16 -15
  103. data/spec/spec_helper.rb +19 -9
  104. data/spec/support/helpers/dummy_class_helper.rb +19 -0
  105. data/spec/support/helpers/environment_helper.rb +7 -0
  106. data/spec/support/helpers/repository_helper.rb +8 -0
  107. data/spec/support/helpers/when_performing_helper.rb +5 -0
  108. data/spec/support/matchers.rb +1 -1
  109. data/spec/support/matchers/type.rb +17 -0
  110. data/spec/support/matchers/type/attribute_matcher.rb +39 -0
  111. data/spec/support/matchers/type/enum_matcher.rb +21 -0
  112. data/spec/support/matchers/type/have_account_number_matcher.rb +21 -0
  113. data/spec/support/matchers/type/have_country_code_matcher.rb +13 -0
  114. data/spec/support/matchers/type/have_currency_matcher.rb +7 -0
  115. data/spec/support/matchers/type/have_customer_type_matcher.rb +13 -0
  116. data/spec/support/matchers/type/have_default_delivery_type_matcher.rb +7 -0
  117. data/spec/support/matchers/type/have_discount_type_matcher.rb +7 -0
  118. data/spec/support/matchers/type/have_email_matcher.rb +22 -0
  119. data/spec/support/matchers/type/have_house_work_type_matcher.rb +7 -0
  120. data/spec/support/matchers/type/have_nullable_date_matcher.rb +58 -0
  121. data/spec/support/matchers/type/have_nullable_matcher.rb +52 -0
  122. data/spec/support/matchers/type/have_nullable_string_matcher.rb +49 -0
  123. data/spec/support/matchers/type/have_sized_float_matcher.rb +8 -0
  124. data/spec/support/matchers/type/have_sized_integer_matcher.rb +8 -0
  125. data/spec/support/matchers/type/have_sized_string_matcher.rb +35 -0
  126. data/spec/support/matchers/type/have_vat_type_matcher.rb +7 -0
  127. data/spec/support/matchers/type/numeric_matcher.rb +50 -0
  128. data/spec/support/matchers/type/require_attribute_matcher.rb +69 -0
  129. data/spec/support/matchers/type/type_matcher.rb +38 -0
  130. data/spec/vcr_cassettes/customers/all.yml +119 -9
  131. data/spec/vcr_cassettes/customers/find_id_1.yml +8 -9
  132. data/spec/vcr_cassettes/customers/find_new.yml +46 -0
  133. data/spec/vcr_cassettes/customers/save_new.yml +9 -11
  134. data/spec/vcr_cassettes/customers/save_old.yml +9 -12
  135. data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +45 -0
  136. data/spec/vcr_cassettes/customers/search_by_name.yml +66 -0
  137. data/spec/vcr_cassettes/customers/search_miss.yml +45 -0
  138. data/spec/vcr_cassettes/invoices/all.yml +104 -0
  139. data/spec/vcr_cassettes/invoices/filter_hit.yml +46 -0
  140. data/spec/vcr_cassettes/invoices/filter_invalid.yml +42 -0
  141. data/spec/vcr_cassettes/invoices/find_id_1.yml +47 -0
  142. data/spec/vcr_cassettes/invoices/find_new.yml +49 -0
  143. data/spec/vcr_cassettes/invoices/save_new.yml +48 -0
  144. data/spec/vcr_cassettes/invoices/save_old.yml +49 -0
  145. data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +47 -0
  146. data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +47 -0
  147. data/spec/vcr_cassettes/invoices/search_by_name.yml +48 -0
  148. data/spec/vcr_cassettes/invoices/search_miss.yml +45 -0
  149. data/spec/vcr_cassettes/orders/all.yml +144 -0
  150. data/spec/vcr_cassettes/orders/filter_hit.yml +48 -0
  151. data/spec/vcr_cassettes/orders/filter_invalid.yml +42 -0
  152. data/spec/vcr_cassettes/orders/find_id_1.yml +48 -0
  153. data/spec/vcr_cassettes/orders/find_new.yml +49 -0
  154. data/spec/vcr_cassettes/orders/house_work_type_babysitting.yml +47 -0
  155. data/spec/vcr_cassettes/orders/house_work_type_cleaning.yml +47 -0
  156. data/spec/vcr_cassettes/orders/house_work_type_construction.yml +47 -0
  157. data/spec/vcr_cassettes/orders/house_work_type_cooking.yml +43 -0
  158. data/spec/vcr_cassettes/orders/house_work_type_electricity.yml +47 -0
  159. data/spec/vcr_cassettes/orders/house_work_type_gardening.yml +47 -0
  160. data/spec/vcr_cassettes/orders/house_work_type_glassmetalwork.yml +47 -0
  161. data/spec/vcr_cassettes/orders/house_work_type_grounddrainagework.yml +47 -0
  162. data/spec/vcr_cassettes/orders/house_work_type_hvac.yml +47 -0
  163. data/spec/vcr_cassettes/orders/house_work_type_masonry.yml +47 -0
  164. data/spec/vcr_cassettes/orders/house_work_type_othercare.yml +47 -0
  165. data/spec/vcr_cassettes/orders/house_work_type_othercosts.yml +47 -0
  166. data/spec/vcr_cassettes/orders/house_work_type_paintingwallpapering.yml +47 -0
  167. data/spec/vcr_cassettes/orders/house_work_type_snowplowing.yml +47 -0
  168. data/spec/vcr_cassettes/orders/house_work_type_textileclothing.yml +47 -0
  169. data/spec/vcr_cassettes/orders/house_work_type_tutoring.yml +43 -0
  170. data/spec/vcr_cassettes/orders/save_new.yml +48 -0
  171. data/spec/vcr_cassettes/orders/save_old.yml +49 -0
  172. data/spec/vcr_cassettes/orders/save_with_nested_model.yml +47 -0
  173. data/spec/vcr_cassettes/orders/search_by_name.yml +47 -0
  174. data/spec/vcr_cassettes/orders/search_miss.yml +45 -0
  175. metadata +301 -71
  176. data/lib/fortnox/api/models/attributes/country_code.rb +0 -17
  177. data/lib/fortnox/api/models/attributes/currency.rb +0 -17
  178. data/lib/fortnox/api/models/edi_information.rb +0 -28
  179. data/lib/fortnox/api/models/email_information.rb +0 -25
  180. data/lib/fortnox/api/models/row.rb +0 -82
  181. data/lib/fortnox/api/repositories/base/json_convertion.rb +0 -68
  182. data/lib/fortnox/api/repositories/base/options.rb +0 -33
  183. data/lib/fortnox/api/validators.rb +0 -1
  184. data/lib/fortnox/api/validators/attributes/country_code.rb +0 -42
  185. data/lib/fortnox/api/validators/attributes/currency.rb +0 -38
  186. data/lib/fortnox/api/validators/base.rb +0 -70
  187. data/lib/fortnox/api/validators/constant.rb +0 -21
  188. data/lib/fortnox/api/validators/customer.rb +0 -29
  189. data/lib/fortnox/api/validators/edi_information.rb +0 -11
  190. data/lib/fortnox/api/validators/email_information.rb +0 -19
  191. data/lib/fortnox/api/validators/invoice.rb +0 -33
  192. data/lib/fortnox/api/validators/row.rb +0 -22
  193. data/spec/fortnox/api/models/attributes/country_code_spec.rb +0 -23
  194. data/spec/fortnox/api/models/attributes/currency_spec.rb +0 -23
  195. data/spec/fortnox/api/models/attributes/dummy_model_context.rb +0 -9
  196. data/spec/fortnox/api/models/row_spec.rb +0 -13
  197. data/spec/fortnox/api/repositories/context.rb +0 -10
  198. data/spec/fortnox/api/repositories/examples.rb +0 -16
  199. data/spec/fortnox/api/validators/attributes/country_code_spec.rb +0 -9
  200. data/spec/fortnox/api/validators/attributes/currency_spec.rb +0 -9
  201. data/spec/fortnox/api/validators/attributes/examples_for_validate.rb +0 -29
  202. data/spec/fortnox/api/validators/base_spec.rb +0 -61
  203. data/spec/fortnox/api/validators/constant_spec.rb +0 -12
  204. data/spec/fortnox/api/validators/context.rb +0 -102
  205. data/spec/fortnox/api/validators/customer_spec.rb +0 -31
  206. data/spec/fortnox/api/validators/edi_information_spec.rb +0 -18
  207. data/spec/fortnox/api/validators/email_information_spec.rb +0 -26
  208. data/spec/fortnox/api/validators/invoice_spec.rb +0 -36
  209. data/spec/fortnox/api/validators/row_spec.rb +0 -27
  210. data/spec/fortnox/api/validators/validator_examples.rb +0 -20
  211. data/spec/support/matchers/models.rb +0 -27
  212. data/spec/support/matchers/validators.rb +0 -36
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fortnox-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Schubert Erlandsson
8
+ - Hannes Elvemyr
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
12
+ date: 2016-11-14 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: httparty
@@ -39,33 +40,33 @@ dependencies:
39
40
  - !ruby/object:Gem::Version
40
41
  version: '2.0'
41
42
  - !ruby/object:Gem::Dependency
42
- name: virtus
43
+ name: dry-struct
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - "~>"
46
47
  - !ruby/object:Gem::Version
47
- version: '1.0'
48
+ version: '0.1'
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - "~>"
53
54
  - !ruby/object:Gem::Version
54
- version: '1.0'
55
+ version: '0.1'
55
56
  - !ruby/object:Gem::Dependency
56
- name: vanguard
57
+ name: dry-types
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
60
  - - "~>"
60
61
  - !ruby/object:Gem::Version
61
- version: '0.0'
62
+ version: '0.8'
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: '0.0'
69
+ version: '0.8'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: bundler
71
72
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +109,20 @@ dependencies:
108
109
  - - "~>"
109
110
  - !ruby/object:Gem::Version
110
111
  version: '3.2'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rspec-collection_matchers
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: guard
113
128
  requirement: !ruby/object:Gem::Requirement
@@ -168,30 +183,58 @@ dependencies:
168
183
  name: pry
169
184
  requirement: !ruby/object:Gem::Requirement
170
185
  requirements:
171
- - - ">="
186
+ - - "~>"
172
187
  - !ruby/object:Gem::Version
173
188
  version: '0'
174
189
  type: :development
175
190
  prerelease: false
176
191
  version_requirements: !ruby/object:Gem::Requirement
177
192
  requirements:
178
- - - ">="
193
+ - - "~>"
179
194
  - !ruby/object:Gem::Version
180
195
  version: '0'
181
196
  - !ruby/object:Gem::Dependency
182
197
  name: codeclimate-test-reporter
183
198
  requirement: !ruby/object:Gem::Requirement
184
199
  requirements:
185
- - - ">="
200
+ - - "~>"
186
201
  - !ruby/object:Gem::Version
187
202
  version: '0'
188
203
  type: :development
189
204
  prerelease: false
190
205
  version_requirements: !ruby/object:Gem::Requirement
191
206
  requirements:
192
- - - ">="
207
+ - - "~>"
193
208
  - !ruby/object:Gem::Version
194
209
  version: '0'
210
+ - !ruby/object:Gem::Dependency
211
+ name: rubocop
212
+ requirement: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - "~>"
215
+ - !ruby/object:Gem::Version
216
+ version: '0.41'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - "~>"
222
+ - !ruby/object:Gem::Version
223
+ version: '0.41'
224
+ - !ruby/object:Gem::Dependency
225
+ name: rubocop-rspec
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - "~>"
229
+ - !ruby/object:Gem::Version
230
+ version: '1.7'
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - "~>"
236
+ - !ruby/object:Gem::Version
237
+ version: '1.7'
195
238
  description: This gem uses the HTTParty library to abstract away the REST calls. It
196
239
  gives you access to a number of objects that behave a lot like ActiveRecord instances,
197
240
  giving you access to methods like `all`, `find`, `find_by_...` and so on. And each
@@ -204,6 +247,7 @@ extensions: []
204
247
  extra_rdoc_files: []
205
248
  files:
206
249
  - ".codeclimate.yml"
250
+ - ".env.test"
207
251
  - ".gitignore"
208
252
  - ".rspec"
209
253
  - ".rubocop.yml"
@@ -223,73 +267,173 @@ files:
223
267
  - lib/fortnox/api/base.rb
224
268
  - lib/fortnox/api/class_methods.rb
225
269
  - lib/fortnox/api/environment_validation.rb
270
+ - lib/fortnox/api/mappers.rb
271
+ - lib/fortnox/api/mappers/base.rb
272
+ - lib/fortnox/api/mappers/base/from_json.rb
273
+ - lib/fortnox/api/mappers/base/to_json.rb
274
+ - lib/fortnox/api/mappers/customer.rb
275
+ - lib/fortnox/api/mappers/default_delivery_types.rb
276
+ - lib/fortnox/api/mappers/default_templates.rb
277
+ - lib/fortnox/api/mappers/edi_information.rb
278
+ - lib/fortnox/api/mappers/email_information.rb
279
+ - lib/fortnox/api/mappers/invoice.rb
280
+ - lib/fortnox/api/mappers/invoice_row.rb
281
+ - lib/fortnox/api/mappers/order.rb
282
+ - lib/fortnox/api/mappers/order_row.rb
226
283
  - lib/fortnox/api/models.rb
227
- - lib/fortnox/api/models/attributes/country_code.rb
228
- - lib/fortnox/api/models/attributes/currency.rb
229
284
  - lib/fortnox/api/models/base.rb
230
285
  - lib/fortnox/api/models/customer.rb
231
- - lib/fortnox/api/models/edi_information.rb
232
- - lib/fortnox/api/models/email_information.rb
286
+ - lib/fortnox/api/models/document_base.rb
233
287
  - lib/fortnox/api/models/invoice.rb
234
- - lib/fortnox/api/models/row.rb
288
+ - lib/fortnox/api/models/label.rb
289
+ - lib/fortnox/api/models/order.rb
235
290
  - lib/fortnox/api/repositories.rb
236
291
  - lib/fortnox/api/repositories/base.rb
237
- - lib/fortnox/api/repositories/base/json_convertion.rb
238
292
  - lib/fortnox/api/repositories/base/loaders.rb
239
- - lib/fortnox/api/repositories/base/options.rb
240
293
  - lib/fortnox/api/repositories/base/savers.rb
241
294
  - lib/fortnox/api/repositories/customer.rb
242
295
  - lib/fortnox/api/repositories/invoice.rb
296
+ - lib/fortnox/api/repositories/order.rb
243
297
  - lib/fortnox/api/request_handling.rb
244
- - lib/fortnox/api/validators.rb
245
- - lib/fortnox/api/validators/attributes/country_code.rb
246
- - lib/fortnox/api/validators/attributes/currency.rb
247
- - lib/fortnox/api/validators/base.rb
248
- - lib/fortnox/api/validators/constant.rb
249
- - lib/fortnox/api/validators/customer.rb
250
- - lib/fortnox/api/validators/edi_information.rb
251
- - lib/fortnox/api/validators/email_information.rb
252
- - lib/fortnox/api/validators/invoice.rb
253
- - lib/fortnox/api/validators/row.rb
298
+ - lib/fortnox/api/types.rb
299
+ - lib/fortnox/api/types/default_delivery_types.rb
300
+ - lib/fortnox/api/types/default_templates.rb
301
+ - lib/fortnox/api/types/defaulted.rb
302
+ - lib/fortnox/api/types/document_row.rb
303
+ - lib/fortnox/api/types/edi_information.rb
304
+ - lib/fortnox/api/types/email_information.rb
305
+ - lib/fortnox/api/types/enums.rb
306
+ - lib/fortnox/api/types/invoice_row.rb
307
+ - lib/fortnox/api/types/model.rb
308
+ - lib/fortnox/api/types/nullable.rb
309
+ - lib/fortnox/api/types/order_row.rb
310
+ - lib/fortnox/api/types/required.rb
311
+ - lib/fortnox/api/types/sized.rb
254
312
  - lib/fortnox/api/version.rb
255
313
  - spec/fortnox/api/base_spec.rb
256
- - spec/fortnox/api/models/attributes/country_code_spec.rb
257
- - spec/fortnox/api/models/attributes/currency_spec.rb
258
- - spec/fortnox/api/models/attributes/dummy_model_context.rb
314
+ - spec/fortnox/api/mappers/base/from_json_spec.rb
315
+ - spec/fortnox/api/mappers/base/to_json_spec.rb
316
+ - spec/fortnox/api/mappers/base_spec.rb
317
+ - spec/fortnox/api/mappers/contexts/json_conversion.rb
318
+ - spec/fortnox/api/mappers/customer_spec.rb
319
+ - spec/fortnox/api/mappers/default_delivery_types_spec.rb
320
+ - spec/fortnox/api/mappers/edi_information_spec.rb
321
+ - spec/fortnox/api/mappers/email_information_spec.rb
322
+ - spec/fortnox/api/mappers/examples/mapper.rb
323
+ - spec/fortnox/api/mappers/invoice_row_spec.rb
324
+ - spec/fortnox/api/mappers/invoice_spec.rb
325
+ - spec/fortnox/api/mappers/order_row_spec.rb
326
+ - spec/fortnox/api/mappers/order_spec.rb
259
327
  - spec/fortnox/api/models/base_spec.rb
328
+ - spec/fortnox/api/models/customer_spec.rb
329
+ - spec/fortnox/api/models/examples/document_base.rb
330
+ - spec/fortnox/api/models/examples/model.rb
260
331
  - spec/fortnox/api/models/invoice_spec.rb
261
- - spec/fortnox/api/models/row_spec.rb
262
- - spec/fortnox/api/repositories/context.rb
332
+ - spec/fortnox/api/models/order_spec.rb
263
333
  - spec/fortnox/api/repositories/customer_spec.rb
264
- - spec/fortnox/api/repositories/examples.rb
334
+ - spec/fortnox/api/repositories/examples/all.rb
335
+ - spec/fortnox/api/repositories/examples/find.rb
336
+ - spec/fortnox/api/repositories/examples/only.rb
337
+ - spec/fortnox/api/repositories/examples/save.rb
338
+ - spec/fortnox/api/repositories/examples/save_with_nested_model.rb
339
+ - spec/fortnox/api/repositories/examples/save_with_specially_named_attribute.rb
340
+ - spec/fortnox/api/repositories/examples/search.rb
265
341
  - spec/fortnox/api/repositories/invoice_spec.rb
266
- - spec/fortnox/api/validators/attributes/country_code_spec.rb
267
- - spec/fortnox/api/validators/attributes/currency_spec.rb
268
- - spec/fortnox/api/validators/attributes/examples_for_validate.rb
269
- - spec/fortnox/api/validators/base_spec.rb
270
- - spec/fortnox/api/validators/constant_spec.rb
271
- - spec/fortnox/api/validators/context.rb
272
- - spec/fortnox/api/validators/customer_spec.rb
273
- - spec/fortnox/api/validators/edi_information_spec.rb
274
- - spec/fortnox/api/validators/email_information_spec.rb
275
- - spec/fortnox/api/validators/invoice_spec.rb
276
- - spec/fortnox/api/validators/row_spec.rb
277
- - spec/fortnox/api/validators/validator_examples.rb
342
+ - spec/fortnox/api/repositories/order_spec.rb
343
+ - spec/fortnox/api/types/account_number_spec.rb
344
+ - spec/fortnox/api/types/default_delivery_types_spec.rb
345
+ - spec/fortnox/api/types/edi_information_spec.rb
346
+ - spec/fortnox/api/types/email_information_spec.rb
347
+ - spec/fortnox/api/types/email_spec.rb
348
+ - spec/fortnox/api/types/enums_spec.rb
349
+ - spec/fortnox/api/types/examples/document_row.rb
350
+ - spec/fortnox/api/types/examples/enum.rb
351
+ - spec/fortnox/api/types/examples/types.rb
352
+ - spec/fortnox/api/types/house_work_types_spec.rb
353
+ - spec/fortnox/api/types/invoice_row_spec.rb
354
+ - spec/fortnox/api/types/model_spec.rb
355
+ - spec/fortnox/api/types/nullable_spec.rb
356
+ - spec/fortnox/api/types/order_row_spec.rb
357
+ - spec/fortnox/api/types/required_spec.rb
358
+ - spec/fortnox/api/types/sized_spec.rb
278
359
  - spec/fortnox/api_spec.rb
279
360
  - spec/spec_helper.rb
280
361
  - spec/support/helpers.rb
281
362
  - spec/support/helpers/dummy_class_helper.rb
363
+ - spec/support/helpers/environment_helper.rb
364
+ - spec/support/helpers/repository_helper.rb
365
+ - spec/support/helpers/when_performing_helper.rb
282
366
  - spec/support/matchers.rb
283
- - spec/support/matchers/models.rb
284
- - spec/support/matchers/validators.rb
367
+ - spec/support/matchers/type.rb
368
+ - spec/support/matchers/type/attribute_matcher.rb
369
+ - spec/support/matchers/type/enum_matcher.rb
370
+ - spec/support/matchers/type/have_account_number_matcher.rb
371
+ - spec/support/matchers/type/have_country_code_matcher.rb
372
+ - spec/support/matchers/type/have_currency_matcher.rb
373
+ - spec/support/matchers/type/have_customer_type_matcher.rb
374
+ - spec/support/matchers/type/have_default_delivery_type_matcher.rb
375
+ - spec/support/matchers/type/have_discount_type_matcher.rb
376
+ - spec/support/matchers/type/have_email_matcher.rb
377
+ - spec/support/matchers/type/have_house_work_type_matcher.rb
378
+ - spec/support/matchers/type/have_nullable_date_matcher.rb
379
+ - spec/support/matchers/type/have_nullable_matcher.rb
380
+ - spec/support/matchers/type/have_nullable_string_matcher.rb
381
+ - spec/support/matchers/type/have_sized_float_matcher.rb
382
+ - spec/support/matchers/type/have_sized_integer_matcher.rb
383
+ - spec/support/matchers/type/have_sized_string_matcher.rb
384
+ - spec/support/matchers/type/have_vat_type_matcher.rb
385
+ - spec/support/matchers/type/numeric_matcher.rb
386
+ - spec/support/matchers/type/require_attribute_matcher.rb
387
+ - spec/support/matchers/type/type_matcher.rb
285
388
  - spec/support/vcr_setup.rb
286
389
  - spec/vcr_cassettes/customers/all.yml
287
390
  - spec/vcr_cassettes/customers/find_id_1.yml
391
+ - spec/vcr_cassettes/customers/find_new.yml
288
392
  - spec/vcr_cassettes/customers/save_new.yml
289
393
  - spec/vcr_cassettes/customers/save_old.yml
394
+ - spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml
395
+ - spec/vcr_cassettes/customers/search_by_name.yml
396
+ - spec/vcr_cassettes/customers/search_miss.yml
397
+ - spec/vcr_cassettes/invoices/all.yml
398
+ - spec/vcr_cassettes/invoices/filter_hit.yml
399
+ - spec/vcr_cassettes/invoices/filter_invalid.yml
400
+ - spec/vcr_cassettes/invoices/find_id_1.yml
401
+ - spec/vcr_cassettes/invoices/find_new.yml
402
+ - spec/vcr_cassettes/invoices/save_new.yml
403
+ - spec/vcr_cassettes/invoices/save_old.yml
404
+ - spec/vcr_cassettes/invoices/save_with_nested_model.yml
405
+ - spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml
406
+ - spec/vcr_cassettes/invoices/search_by_name.yml
407
+ - spec/vcr_cassettes/invoices/search_miss.yml
408
+ - spec/vcr_cassettes/orders/all.yml
409
+ - spec/vcr_cassettes/orders/filter_hit.yml
410
+ - spec/vcr_cassettes/orders/filter_invalid.yml
411
+ - spec/vcr_cassettes/orders/find_id_1.yml
412
+ - spec/vcr_cassettes/orders/find_new.yml
413
+ - spec/vcr_cassettes/orders/house_work_type_babysitting.yml
414
+ - spec/vcr_cassettes/orders/house_work_type_cleaning.yml
415
+ - spec/vcr_cassettes/orders/house_work_type_construction.yml
416
+ - spec/vcr_cassettes/orders/house_work_type_cooking.yml
417
+ - spec/vcr_cassettes/orders/house_work_type_electricity.yml
418
+ - spec/vcr_cassettes/orders/house_work_type_gardening.yml
419
+ - spec/vcr_cassettes/orders/house_work_type_glassmetalwork.yml
420
+ - spec/vcr_cassettes/orders/house_work_type_grounddrainagework.yml
421
+ - spec/vcr_cassettes/orders/house_work_type_hvac.yml
422
+ - spec/vcr_cassettes/orders/house_work_type_masonry.yml
423
+ - spec/vcr_cassettes/orders/house_work_type_othercare.yml
424
+ - spec/vcr_cassettes/orders/house_work_type_othercosts.yml
425
+ - spec/vcr_cassettes/orders/house_work_type_paintingwallpapering.yml
426
+ - spec/vcr_cassettes/orders/house_work_type_snowplowing.yml
427
+ - spec/vcr_cassettes/orders/house_work_type_textileclothing.yml
428
+ - spec/vcr_cassettes/orders/house_work_type_tutoring.yml
429
+ - spec/vcr_cassettes/orders/save_new.yml
430
+ - spec/vcr_cassettes/orders/save_old.yml
431
+ - spec/vcr_cassettes/orders/save_with_nested_model.yml
432
+ - spec/vcr_cassettes/orders/search_by_name.yml
433
+ - spec/vcr_cassettes/orders/search_miss.yml
290
434
  homepage: http://github.com/my-codeworks/fortnox-api
291
435
  licenses:
292
- - MIT
436
+ - LGPL-3.0
293
437
  metadata: {}
294
438
  post_install_message:
295
439
  rdoc_options: []
@@ -307,43 +451,129 @@ required_rubygems_version: !ruby/object:Gem::Requirement
307
451
  version: '0'
308
452
  requirements: []
309
453
  rubyforge_project:
310
- rubygems_version: 2.4.5
454
+ rubygems_version: 2.5.1
311
455
  signing_key:
312
456
  specification_version: 4
313
457
  summary: Gem to use Fortnox REST API in Ruby.
314
458
  test_files:
315
459
  - spec/fortnox/api/base_spec.rb
316
- - spec/fortnox/api/models/attributes/country_code_spec.rb
317
- - spec/fortnox/api/models/attributes/currency_spec.rb
318
- - spec/fortnox/api/models/attributes/dummy_model_context.rb
460
+ - spec/fortnox/api/mappers/base/from_json_spec.rb
461
+ - spec/fortnox/api/mappers/base/to_json_spec.rb
462
+ - spec/fortnox/api/mappers/base_spec.rb
463
+ - spec/fortnox/api/mappers/contexts/json_conversion.rb
464
+ - spec/fortnox/api/mappers/customer_spec.rb
465
+ - spec/fortnox/api/mappers/default_delivery_types_spec.rb
466
+ - spec/fortnox/api/mappers/edi_information_spec.rb
467
+ - spec/fortnox/api/mappers/email_information_spec.rb
468
+ - spec/fortnox/api/mappers/examples/mapper.rb
469
+ - spec/fortnox/api/mappers/invoice_row_spec.rb
470
+ - spec/fortnox/api/mappers/invoice_spec.rb
471
+ - spec/fortnox/api/mappers/order_row_spec.rb
472
+ - spec/fortnox/api/mappers/order_spec.rb
319
473
  - spec/fortnox/api/models/base_spec.rb
474
+ - spec/fortnox/api/models/customer_spec.rb
475
+ - spec/fortnox/api/models/examples/document_base.rb
476
+ - spec/fortnox/api/models/examples/model.rb
320
477
  - spec/fortnox/api/models/invoice_spec.rb
321
- - spec/fortnox/api/models/row_spec.rb
322
- - spec/fortnox/api/repositories/context.rb
478
+ - spec/fortnox/api/models/order_spec.rb
323
479
  - spec/fortnox/api/repositories/customer_spec.rb
324
- - spec/fortnox/api/repositories/examples.rb
480
+ - spec/fortnox/api/repositories/examples/all.rb
481
+ - spec/fortnox/api/repositories/examples/find.rb
482
+ - spec/fortnox/api/repositories/examples/only.rb
483
+ - spec/fortnox/api/repositories/examples/save.rb
484
+ - spec/fortnox/api/repositories/examples/save_with_nested_model.rb
485
+ - spec/fortnox/api/repositories/examples/save_with_specially_named_attribute.rb
486
+ - spec/fortnox/api/repositories/examples/search.rb
325
487
  - spec/fortnox/api/repositories/invoice_spec.rb
326
- - spec/fortnox/api/validators/attributes/country_code_spec.rb
327
- - spec/fortnox/api/validators/attributes/currency_spec.rb
328
- - spec/fortnox/api/validators/attributes/examples_for_validate.rb
329
- - spec/fortnox/api/validators/base_spec.rb
330
- - spec/fortnox/api/validators/constant_spec.rb
331
- - spec/fortnox/api/validators/context.rb
332
- - spec/fortnox/api/validators/customer_spec.rb
333
- - spec/fortnox/api/validators/edi_information_spec.rb
334
- - spec/fortnox/api/validators/email_information_spec.rb
335
- - spec/fortnox/api/validators/invoice_spec.rb
336
- - spec/fortnox/api/validators/row_spec.rb
337
- - spec/fortnox/api/validators/validator_examples.rb
488
+ - spec/fortnox/api/repositories/order_spec.rb
489
+ - spec/fortnox/api/types/account_number_spec.rb
490
+ - spec/fortnox/api/types/default_delivery_types_spec.rb
491
+ - spec/fortnox/api/types/edi_information_spec.rb
492
+ - spec/fortnox/api/types/email_information_spec.rb
493
+ - spec/fortnox/api/types/email_spec.rb
494
+ - spec/fortnox/api/types/enums_spec.rb
495
+ - spec/fortnox/api/types/examples/document_row.rb
496
+ - spec/fortnox/api/types/examples/enum.rb
497
+ - spec/fortnox/api/types/examples/types.rb
498
+ - spec/fortnox/api/types/house_work_types_spec.rb
499
+ - spec/fortnox/api/types/invoice_row_spec.rb
500
+ - spec/fortnox/api/types/model_spec.rb
501
+ - spec/fortnox/api/types/nullable_spec.rb
502
+ - spec/fortnox/api/types/order_row_spec.rb
503
+ - spec/fortnox/api/types/required_spec.rb
504
+ - spec/fortnox/api/types/sized_spec.rb
338
505
  - spec/fortnox/api_spec.rb
339
506
  - spec/spec_helper.rb
340
507
  - spec/support/helpers.rb
341
508
  - spec/support/helpers/dummy_class_helper.rb
509
+ - spec/support/helpers/environment_helper.rb
510
+ - spec/support/helpers/repository_helper.rb
511
+ - spec/support/helpers/when_performing_helper.rb
342
512
  - spec/support/matchers.rb
343
- - spec/support/matchers/models.rb
344
- - spec/support/matchers/validators.rb
513
+ - spec/support/matchers/type.rb
514
+ - spec/support/matchers/type/attribute_matcher.rb
515
+ - spec/support/matchers/type/enum_matcher.rb
516
+ - spec/support/matchers/type/have_account_number_matcher.rb
517
+ - spec/support/matchers/type/have_country_code_matcher.rb
518
+ - spec/support/matchers/type/have_currency_matcher.rb
519
+ - spec/support/matchers/type/have_customer_type_matcher.rb
520
+ - spec/support/matchers/type/have_default_delivery_type_matcher.rb
521
+ - spec/support/matchers/type/have_discount_type_matcher.rb
522
+ - spec/support/matchers/type/have_email_matcher.rb
523
+ - spec/support/matchers/type/have_house_work_type_matcher.rb
524
+ - spec/support/matchers/type/have_nullable_date_matcher.rb
525
+ - spec/support/matchers/type/have_nullable_matcher.rb
526
+ - spec/support/matchers/type/have_nullable_string_matcher.rb
527
+ - spec/support/matchers/type/have_sized_float_matcher.rb
528
+ - spec/support/matchers/type/have_sized_integer_matcher.rb
529
+ - spec/support/matchers/type/have_sized_string_matcher.rb
530
+ - spec/support/matchers/type/have_vat_type_matcher.rb
531
+ - spec/support/matchers/type/numeric_matcher.rb
532
+ - spec/support/matchers/type/require_attribute_matcher.rb
533
+ - spec/support/matchers/type/type_matcher.rb
345
534
  - spec/support/vcr_setup.rb
346
535
  - spec/vcr_cassettes/customers/all.yml
347
536
  - spec/vcr_cassettes/customers/find_id_1.yml
537
+ - spec/vcr_cassettes/customers/find_new.yml
348
538
  - spec/vcr_cassettes/customers/save_new.yml
349
539
  - spec/vcr_cassettes/customers/save_old.yml
540
+ - spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml
541
+ - spec/vcr_cassettes/customers/search_by_name.yml
542
+ - spec/vcr_cassettes/customers/search_miss.yml
543
+ - spec/vcr_cassettes/invoices/all.yml
544
+ - spec/vcr_cassettes/invoices/filter_hit.yml
545
+ - spec/vcr_cassettes/invoices/filter_invalid.yml
546
+ - spec/vcr_cassettes/invoices/find_id_1.yml
547
+ - spec/vcr_cassettes/invoices/find_new.yml
548
+ - spec/vcr_cassettes/invoices/save_new.yml
549
+ - spec/vcr_cassettes/invoices/save_old.yml
550
+ - spec/vcr_cassettes/invoices/save_with_nested_model.yml
551
+ - spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml
552
+ - spec/vcr_cassettes/invoices/search_by_name.yml
553
+ - spec/vcr_cassettes/invoices/search_miss.yml
554
+ - spec/vcr_cassettes/orders/all.yml
555
+ - spec/vcr_cassettes/orders/filter_hit.yml
556
+ - spec/vcr_cassettes/orders/filter_invalid.yml
557
+ - spec/vcr_cassettes/orders/find_id_1.yml
558
+ - spec/vcr_cassettes/orders/find_new.yml
559
+ - spec/vcr_cassettes/orders/house_work_type_babysitting.yml
560
+ - spec/vcr_cassettes/orders/house_work_type_cleaning.yml
561
+ - spec/vcr_cassettes/orders/house_work_type_construction.yml
562
+ - spec/vcr_cassettes/orders/house_work_type_cooking.yml
563
+ - spec/vcr_cassettes/orders/house_work_type_electricity.yml
564
+ - spec/vcr_cassettes/orders/house_work_type_gardening.yml
565
+ - spec/vcr_cassettes/orders/house_work_type_glassmetalwork.yml
566
+ - spec/vcr_cassettes/orders/house_work_type_grounddrainagework.yml
567
+ - spec/vcr_cassettes/orders/house_work_type_hvac.yml
568
+ - spec/vcr_cassettes/orders/house_work_type_masonry.yml
569
+ - spec/vcr_cassettes/orders/house_work_type_othercare.yml
570
+ - spec/vcr_cassettes/orders/house_work_type_othercosts.yml
571
+ - spec/vcr_cassettes/orders/house_work_type_paintingwallpapering.yml
572
+ - spec/vcr_cassettes/orders/house_work_type_snowplowing.yml
573
+ - spec/vcr_cassettes/orders/house_work_type_textileclothing.yml
574
+ - spec/vcr_cassettes/orders/house_work_type_tutoring.yml
575
+ - spec/vcr_cassettes/orders/save_new.yml
576
+ - spec/vcr_cassettes/orders/save_old.yml
577
+ - spec/vcr_cassettes/orders/save_with_nested_model.yml
578
+ - spec/vcr_cassettes/orders/search_by_name.yml
579
+ - spec/vcr_cassettes/orders/search_miss.yml