Class: Fortnox::Resource
- Inherits:
-
RestEasy::Resource
- Object
- RestEasy::Resource
- Fortnox::Resource
show all
- Includes:
- Types
- Defined in:
- lib/fortnox/resource.rb
Constant Summary
Constants included
from Types
Types::AccountNumber, Types::AccountingMethods, Types::ArticleTypes, Types::CURRENT_HOUSEWORK_TYPES, Types::Currencies, Types::CustomerTypes, Types::DefaultDeliveryTypeValues, Types::DefaultInvoiceDeliveryTypeValues, Types::DeliveryStates, Types::DiscountTypes, Types::Email, Types::HouseworkTypes, Types::InvoiceTypes, Types::LEGACY_HOUSEWORK_TYPES, Types::PaymentWays, Types::ProjectStatusTypes, Types::THE_TRUTH, Types::TaxReductionTypes, Types::VATTypes
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.registered_resources ⇒ Object
Returns the value of attribute registered_resources.
46
47
48
|
# File 'lib/fortnox/resource.rb', line 46
def registered_resources
@registered_resources
end
|
Class Method Details
.find(id_or_hash) ⇒ Object
86
87
88
89
90
|
# File 'lib/fortnox/resource.rb', line 86
def find(id_or_hash)
return find_all_by(id_or_hash) if id_or_hash.is_a? Hash
find_one_by(id_or_hash)
end
|
.find_all_by(hash) ⇒ Object
97
98
99
100
|
# File 'lib/fortnox/resource.rb', line 97
def find_all_by(hash)
response = get(path: config.path.to_s, params: hash)
parse(response)
end
|
.find_one_by(id) ⇒ Object
92
93
94
95
|
# File 'lib/fortnox/resource.rb', line 92
def find_one_by(id)
response = get(path: "#{config.path}/#{id}")
parse(response)
end
|
.inherited(subclass) ⇒ Object
.only(filter) ⇒ Object
75
76
77
78
|
# File 'lib/fortnox/resource.rb', line 75
def only(filter)
response = get(path: config.path, params: { filter: })
parse(response)
end
|
.parse(response) ⇒ Object
53
54
55
56
57
58
59
|
# File 'lib/fortnox/resource.rb', line 53
def parse(response)
with_translated_errors do
= (response)
result = super
result.is_a?(Array) ? Collection.new(result, **) : result
end
end
|
.save(instance) ⇒ Object
65
66
67
68
69
70
71
72
73
|
# File 'lib/fortnox/resource.rb', line 65
def save(instance)
return instance if !instance.meta.new? && instance.__changes__.empty?
with_translated_errors { super }
end
|
.search(hash) ⇒ Object
80
81
82
83
84
|
# File 'lib/fortnox/resource.rb', line 80
def search(hash)
attribute, value = hash.first
response = get(path: config.path, params: { attribute => value })
parse(response)
end
|
.stub(**model_data) ⇒ Object
61
62
63
|
# File 'lib/fortnox/resource.rb', line 61
def stub(**model_data)
with_translated_errors { super }
end
|