fortnox-api 0.6.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +5 -1
- data/.travis.yml +20 -22
- data/CHANGELOG.md +48 -0
- data/README.md +14 -19
- data/Rakefile +5 -0
- data/fortnox-api.gemspec +10 -10
- data/lib/fortnox/api/mappers.rb +5 -38
- data/lib/fortnox/api/mappers/base.rb +2 -24
- data/lib/fortnox/api/mappers/base/canonical_name_sym.rb +21 -0
- data/lib/fortnox/api/mappers/base/from_json.rb +6 -1
- data/lib/fortnox/api/mappers/value/array.rb +18 -0
- data/lib/fortnox/api/mappers/value/country_string.rb +24 -0
- data/lib/fortnox/api/mappers/value/date.rb +11 -0
- data/lib/fortnox/api/mappers/value/hash.rb +16 -0
- data/lib/fortnox/api/mappers/value/identity.rb +18 -0
- data/lib/fortnox/api/models/document.rb +6 -3
- data/lib/fortnox/api/models/invoice.rb +1 -1
- data/lib/fortnox/api/models/order.rb +1 -1
- data/lib/fortnox/api/repositories/base.rb +9 -11
- data/lib/fortnox/api/request_handling.rb +0 -1
- data/lib/fortnox/api/types.rb +40 -3
- data/lib/fortnox/api/types/enums.rb +36 -31
- data/lib/fortnox/api/types/shim/country_string.rb +10 -0
- data/lib/fortnox/api/version.rb +1 -1
- data/spec/fortnox/api/circular_queue_spec.rb +52 -0
- data/spec/fortnox/api/mappers/base/canonical_name_sym_spec.rb +34 -0
- data/spec/fortnox/api/mappers/base_spec.rb +33 -43
- data/spec/fortnox/api/mappers/contexts/json_conversion.rb +1 -1
- data/spec/fortnox/api/repositories/article_spec.rb +4 -2
- data/spec/fortnox/api/repositories/base_spec.rb +28 -8
- data/spec/fortnox/api/repositories/customer_spec.rb +29 -1
- data/spec/fortnox/api/repositories/invoice_spec.rb +147 -3
- data/spec/fortnox/api/repositories/order_spec.rb +2 -2
- data/spec/fortnox/api/repositories/project_spec.rb +1 -1
- data/spec/fortnox/api/repositories/terms_of_payment_spec.rb +4 -2
- data/spec/fortnox/api/repositories/unit_spec.rb +6 -3
- data/spec/fortnox/api/types/account_number_spec.rb +19 -15
- data/spec/fortnox/api/types/country_code_spec.rb +42 -0
- data/spec/fortnox/api/types/country_spec.rb +67 -0
- data/spec/fortnox/api/types/email_spec.rb +8 -7
- data/spec/fortnox/api/types/enums_spec.rb +1 -1
- data/spec/fortnox/api/types/examples/document_row.rb +1 -1
- data/spec/fortnox/api/types/housework_types_spec.rb +151 -34
- data/spec/fortnox/api_spec.rb +3 -1
- data/spec/vcr_cassettes/articles/all.yml +40 -10
- data/spec/vcr_cassettes/articles/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/articles/find_failure.yml +21 -8
- data/spec/vcr_cassettes/articles/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/articles/find_new.yml +24 -11
- data/spec/vcr_cassettes/articles/multi_param_find_by_hash.yml +21 -8
- data/spec/vcr_cassettes/articles/save_new.yml +22 -8
- data/spec/vcr_cassettes/articles/save_old.yml +24 -11
- data/spec/vcr_cassettes/articles/save_with_specially_named_attribute.yml +22 -8
- data/spec/vcr_cassettes/articles/search_by_name.yml +21 -8
- data/spec/vcr_cassettes/articles/search_miss.yml +21 -8
- data/spec/vcr_cassettes/articles/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/articles/single_param_find_by_hash.yml +33 -10
- data/spec/vcr_cassettes/customers/all.yml +26 -13
- data/spec/vcr_cassettes/customers/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/customers/find_failure.yml +21 -8
- data/spec/vcr_cassettes/customers/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/customers/find_new.yml +24 -11
- data/spec/vcr_cassettes/customers/multi_param_find_by_hash.yml +21 -8
- data/spec/vcr_cassettes/customers/save_new.yml +21 -7
- data/spec/vcr_cassettes/customers/save_new_with_country_code_SE.yml +60 -0
- data/spec/vcr_cassettes/customers/save_old.yml +23 -10
- data/spec/vcr_cassettes/customers/save_with_specially_named_attribute.yml +21 -7
- data/spec/vcr_cassettes/customers/search_by_name.yml +32 -10
- data/spec/vcr_cassettes/customers/search_miss.yml +21 -8
- data/spec/vcr_cassettes/customers/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/customers/single_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/invoices/all.yml +118 -67
- data/spec/vcr_cassettes/invoices/filter_hit.yml +26 -10
- data/spec/vcr_cassettes/invoices/filter_invalid.yml +20 -6
- data/spec/vcr_cassettes/invoices/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/invoices/find_failure.yml +21 -8
- data/spec/vcr_cassettes/invoices/find_id_1.yml +23 -10
- data/spec/vcr_cassettes/invoices/find_new.yml +26 -14
- data/spec/vcr_cassettes/invoices/multi_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_new.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_new_with_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_GB.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_KR.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norge.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Norway.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_Sverige.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VA.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_VI.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_empty_string.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_new_with_country_nil.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_old.yml +25 -13
- data/spec/vcr_cassettes/invoices/save_old_with_empty_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_old_with_empty_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_comments.yml +61 -0
- data/spec/vcr_cassettes/invoices/save_old_with_nil_country.yml +60 -0
- data/spec/vcr_cassettes/invoices/save_with_nested_model.yml +23 -10
- data/spec/vcr_cassettes/invoices/save_with_specially_named_attribute.yml +23 -10
- data/spec/vcr_cassettes/invoices/search_by_name.yml +28 -11
- data/spec/vcr_cassettes/invoices/search_miss.yml +21 -8
- data/spec/vcr_cassettes/invoices/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/invoices/single_param_find_by_hash.yml +24 -11
- data/spec/vcr_cassettes/orders/all.yml +120 -107
- data/spec/vcr_cassettes/orders/filter_hit.yml +28 -12
- data/spec/vcr_cassettes/orders/filter_invalid.yml +20 -6
- data/spec/vcr_cassettes/orders/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/orders/find_failure.yml +21 -8
- data/spec/vcr_cassettes/orders/find_id_1.yml +23 -10
- data/spec/vcr_cassettes/orders/find_new.yml +26 -14
- data/spec/vcr_cassettes/orders/housework_invalid_tax_reduction_type.yml +57 -0
- data/spec/vcr_cassettes/orders/housework_othercoses_invalid.yml +57 -0
- data/spec/vcr_cassettes/orders/housework_type_babysitting.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_cleaning.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_construction.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_cooking.yml +21 -7
- data/spec/vcr_cassettes/orders/housework_type_electricity.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_gardening.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_glassmetalwork.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_grounddrainagework.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_hvac.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_itservices.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_majorappliancerepair.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_masonry.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_movingservices.yml +60 -0
- data/spec/vcr_cassettes/orders/housework_type_othercare.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_othercosts.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_paintingwallpapering.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_snowplowing.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_textileclothing.yml +24 -10
- data/spec/vcr_cassettes/orders/housework_type_tutoring.yml +21 -7
- data/spec/vcr_cassettes/orders/housework_without_tax_reduction_type.yml +57 -0
- data/spec/vcr_cassettes/orders/multi_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/orders/save_new.yml +23 -10
- data/spec/vcr_cassettes/orders/save_old.yml +25 -13
- data/spec/vcr_cassettes/orders/save_with_nested_model.yml +23 -10
- data/spec/vcr_cassettes/orders/search_by_name.yml +25 -11
- data/spec/vcr_cassettes/orders/search_miss.yml +21 -8
- data/spec/vcr_cassettes/orders/search_with_special_char.yml +21 -8
- data/spec/vcr_cassettes/orders/single_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/projects/all.yml +41 -16
- data/spec/vcr_cassettes/projects/find_by_hash_failure.yml +21 -8
- data/spec/vcr_cassettes/projects/find_failure.yml +21 -8
- data/spec/vcr_cassettes/projects/find_id_1.yml +21 -8
- data/spec/vcr_cassettes/projects/find_new.yml +24 -11
- data/spec/vcr_cassettes/projects/multi_param_find_by_hash.yml +23 -10
- data/spec/vcr_cassettes/projects/save_new.yml +22 -8
- data/spec/vcr_cassettes/projects/save_old.yml +24 -11
- data/spec/vcr_cassettes/projects/single_param_find_by_hash.yml +22 -9
- data/spec/vcr_cassettes/termsofpayments/all.yml +31 -14
- data/spec/vcr_cassettes/termsofpayments/find_failure.yml +21 -8
- data/spec/vcr_cassettes/termsofpayments/find_id_1.yml +22 -9
- data/spec/vcr_cassettes/termsofpayments/find_new.yml +23 -10
- data/spec/vcr_cassettes/termsofpayments/save_new.yml +22 -8
- data/spec/vcr_cassettes/termsofpayments/save_old.yml +23 -10
- data/spec/vcr_cassettes/units/all.yml +31 -12
- data/spec/vcr_cassettes/units/find_failure.yml +21 -8
- data/spec/vcr_cassettes/units/find_id_1.yml +21 -8
- data/spec/vcr_cassettes/units/find_new.yml +23 -12
- data/spec/vcr_cassettes/units/save_new.yml +22 -10
- data/spec/vcr_cassettes/units/save_old.yml +23 -12
- data/spec/vcr_cassettes/units/save_with_specially_named_attribute.yml +22 -10
- data/temp.txt +1 -0
- metadata +99 -21
- data/spec/support/matchers/type/have_country_code_matcher.rb +0 -15
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Matchers
|
4
|
-
module Type
|
5
|
-
def have_country_code(attribute, valid_hash = {})
|
6
|
-
HaveCountryCodeMatcher.new(attribute, valid_hash)
|
7
|
-
end
|
8
|
-
|
9
|
-
class HaveCountryCodeMatcher < EnumMatcher
|
10
|
-
def initialize(attribute, valid_hash)
|
11
|
-
super(attribute, valid_hash, 'CountryCode', 'CountryCodes', nonsense_value: 'XX')
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|