economic-rest 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a633a68e3f3e3964b2e10f80edb798c311e3fd8c37698a1d0ad5b03a2204d6e2
4
- data.tar.gz: 65e84202a3457bb9f6fcf1e8a850775eb6194b584c0b5bf5586a71655524fa73
3
+ metadata.gz: 908c6d73f7538cacc8a9dc4803dddbd62372a93c338c39deba8e5b50d2b6cf2c
4
+ data.tar.gz: 458eff20fc6976d941553ba149b9ce7124231c8bd46c9bb8377e5b586b4614e1
5
5
  SHA512:
6
- metadata.gz: da971e525dcf7da5e976fce77ff63331417bc6d015f0819f68d29a0a8beddb2752336d0eb0f8af210c789463bd7a66d42fcfb82131e49123d5451d0db06dd91b
7
- data.tar.gz: ebec1e21d5838c138f97caf560f25197a156bb359b2fb4592f3be340362e93b0ef8297d99f41284a7c35ea1e551cca4d4984dfb278c9eaed0c992ee767380326
6
+ metadata.gz: 1f437c2d4fbf955927245cf941b66acc8a665680e2e5a054b29047236637b19bbcce7776f7c20819b0c8656fb67117c1aa4bf6fe79ae489e52bba8ec2c765ee5
7
+ data.tar.gz: e125cd5b5920aa6858f49dda59b1f6595a03beb015109844a6cc233f7dd206f33c204dd260d01ea01a82aac9ceb71fcb762c2ec49907fcda796c09ed27b04189
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
- git_source(:bitbucket) { |_repo_name| 'https://bitbucket.org/traels/economic-rest' }
3
+ git_source(:bitbucket) { |_repo_name| "https://bitbucket.org/traels/economic-rest" }
4
4
 
5
5
  # Specify your gem's dependencies in economic-rest.gemspec
6
6
  gemspec
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- economic-rest (0.3.3)
4
+ economic-rest (0.3.5)
5
5
  rest-client
6
6
 
7
7
  GEM
@@ -15,6 +15,7 @@ GEM
15
15
  domain_name (0.5.20190701)
16
16
  unf (>= 0.0.5, < 1.0.0)
17
17
  hashdiff (0.3.8)
18
+ http-accept (1.7.0)
18
19
  http-cookie (1.0.3)
19
20
  domain_name (~> 0.5)
20
21
  json (2.1.0)
@@ -22,14 +23,15 @@ GEM
22
23
  method_source (>= 0.6.7)
23
24
  rake (>= 0.9.2.2)
24
25
  method_source (0.9.2)
25
- mime-types (3.2.2)
26
+ mime-types (3.3)
26
27
  mime-types-data (~> 3.2015)
27
- mime-types-data (3.2019.0331)
28
+ mime-types-data (3.2019.0904)
28
29
  minitest (5.11.3)
29
30
  netrc (0.11.0)
30
31
  public_suffix (3.0.3)
31
32
  rake (10.5.0)
32
- rest-client (2.0.2)
33
+ rest-client (2.1.0)
34
+ http-accept (>= 1.7.0, < 2.0)
33
35
  http-cookie (>= 1.0.2, < 2.0)
34
36
  mime-types (>= 1.16, < 4.0)
35
37
  netrc (~> 0.8)
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake/testtask'
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
3
 
4
4
  Rake::TestTask.new(:test) do |t|
5
- t.libs << 'test'
6
- t.libs << 'lib'
7
- t.test_files = FileList['test/**/*_test.rb']
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
8
  end
9
9
 
10
10
  task default: :test
@@ -1,34 +1,34 @@
1
- lib = File.expand_path('lib', __dir__)
1
+ lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'economic/rest/version'
3
+ require "economic/rest/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'economic-rest'
7
- spec.version = Economic::Rest::VERSION
8
- spec.authors = ['Peter Klogborg']
9
- spec.email = ['klogborg@traels.it']
6
+ spec.name = "economic-rest"
7
+ spec.version = Economic::Rest::VERSION
8
+ spec.authors = ["Peter Klogborg"]
9
+ spec.email = ["klogborg@traels.it"]
10
10
 
11
- spec.summary = 'Ruby wrapper for the e-conomic REST API, that aims at making working with the API bearable.
11
+ spec.summary = 'Ruby wrapper for the e-conomic REST API, that aims at making working with the API bearable.
12
12
  E-conomic is a web-based accounting system. For their marketing speak, see http://www.e-conomic.co.uk/about/. More details about their API at http://www.e-conomic.co.uk/integration/integration-partner/.
13
13
  The documentation can be found at https://restdocs.e-conomic.com'
14
- spec.homepage = 'https://bitbucket.org/traels/economic-rest'
15
- spec.license = 'MIT'
14
+ spec.homepage = "https://bitbucket.org/traels/economic-rest"
15
+ spec.license = "MIT"
16
16
 
17
17
  # Specify which files should be added to the gem when it is released.
18
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
19
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
20
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
21
  end
22
- spec.bindir = 'exe'
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ['lib']
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.17'
27
- spec.add_development_dependency 'm'
28
- spec.add_development_dependency 'minitest', '~> 5.0'
29
- spec.add_development_dependency 'rake', '~> 10.0'
30
- spec.add_development_dependency 'simplecov'
31
- spec.add_development_dependency 'webmock', '~> 3.5'
26
+ spec.add_development_dependency "bundler", "~> 1.17"
27
+ spec.add_development_dependency "m"
28
+ spec.add_development_dependency "minitest", "~> 5.0"
29
+ spec.add_development_dependency "rake", "~> 10.0"
30
+ spec.add_development_dependency "simplecov"
31
+ spec.add_development_dependency "webmock", "~> 3.5"
32
32
 
33
- spec.add_dependency 'rest-client'
33
+ spec.add_dependency "rest-client"
34
34
  end
@@ -21,7 +21,7 @@ module Economic
21
21
  attr_accessor economic_cased_attibute_name
22
22
  alias_method snake_case(economic_cased_attibute_name), economic_cased_attibute_name
23
23
  alias_method "#{snake_case(economic_cased_attibute_name)}=", "#{economic_cased_attibute_name}="
24
- alias_method 'id_key', economic_cased_attibute_name if id
24
+ alias_method "id_key", economic_cased_attibute_name if id
25
25
  add_attribute economic_cased_attibute_name
26
26
  end
27
27
 
@@ -34,18 +34,15 @@ module Economic
34
34
 
35
35
  def values_based_on_hash(hash)
36
36
  @internal_hash = hash || {}
37
-
38
37
  self.class.attributes.each do |field_name|
39
38
  public_send("#{field_name}=", @internal_hash[field_name])
40
39
  end
41
40
 
42
- if self.class.relations
43
- self.class.relations.each do |relation_hash|
44
- name = relation_hash[:name]
45
- related_model = model_class(name).new(@internal_hash[name])
41
+ self.class.relations&.each do |relation_hash|
42
+ name = relation_hash[:name]
43
+ related_model = model_class(name).new(@internal_hash[name])
46
44
 
47
- instance_variable_set("@#{name}", related_model)
48
- end
45
+ instance_variable_set("@#{name}", related_model)
49
46
  end
50
47
  end
51
48
 
@@ -58,15 +55,13 @@ module Economic
58
55
  return_hash[field_name] = public_send(field_name) if public_send(field_name)
59
56
  end
60
57
 
61
- if self.class.relations
62
- self.class.relations.each do |relation_hash|
63
- relation_name = relation_hash[:name]
64
- relation_fields = relation_hash[:fields]
58
+ self.class.relations&.each do |relation_hash|
59
+ relation_name = relation_hash[:name]
60
+ relation_fields = relation_hash[:fields]
65
61
 
66
- relation_data = public_send(relation_name).to_h(only_fields: relation_fields)
62
+ relation_data = public_send(relation_name).to_h(only_fields: relation_fields)
67
63
 
68
- return_hash[relation_name] = relation_data unless relation_data.empty?
69
- end
64
+ return_hash[relation_name] = relation_data unless relation_data.empty?
70
65
  end
71
66
  return_hash
72
67
  end
@@ -79,15 +74,15 @@ module Economic
79
74
  end
80
75
 
81
76
  def self.snake_case(camel_cased)
82
- camel_cased.to_s.gsub(/::/, '/')
83
- .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
84
- .gsub(/([a-z\d])([A-Z])/, '\1_\2')
85
- .tr('-', '_')
86
- .downcase
77
+ camel_cased.to_s.gsub(/::/, "/")
78
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
79
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
80
+ .tr("-", "_")
81
+ .downcase
87
82
  end
88
83
 
89
84
  def self.low_camel_case(snake_cased)
90
- camel = snake_cased.split('_').collect(&:capitalize).join
85
+ camel = snake_cased.split("_").collect(&:capitalize).join
91
86
  camel[0, 1].downcase + camel[1..-1]
92
87
  end
93
88
 
@@ -96,7 +91,7 @@ module Economic
96
91
  end
97
92
 
98
93
  def model_class(name)
99
- Object.const_get('Economic::' + name.slice(0, 1).capitalize + name.slice(1..-1))
94
+ Object.const_get("Economic::" + name.slice(0, 1).capitalize + name.slice(1..-1))
100
95
  end
101
96
  end
102
97
  end
@@ -1,53 +1,37 @@
1
- require 'rest-client'
2
- require 'json'
3
- require 'economic/session'
1
+ require "rest-client"
2
+ require "json"
3
+ require "economic/session"
4
4
 
5
5
  module Economic
6
6
  class BaseRepo
7
- URL = 'https://restapi.e-conomic.com/'.freeze
7
+ URL = "https://restapi.e-conomic.com/".freeze
8
8
 
9
9
  class << self
10
- def headers
11
- { 'X-AppSecretToken': Session.app_secret_token, 'X-AgreementGrantToken': Session.agreement_grant_token, 'Content-Type': 'application/json' }
12
- end
13
-
14
- def fetch(pageindex: 0, filter_text: '')
15
- url = endpoint_url
16
- url << "?skippages=#{pageindex}&pagesize=1000"
17
- url << "&filter=#{filter_text}" unless filter_text == ''
18
-
19
- response = RestClient.get(URI.escape(url), headers)
20
- test_response(response)
21
- end
22
-
23
10
  def save(model)
24
11
  post_or_put = model.id_key.nil? ? :post : :put
25
12
 
26
- response = RestClient.public_send(post_or_put, URI.escape(endpoint_url + '/' + model.id_key.to_s), model.to_h.to_json, headers)
27
-
28
- test_response(response)
13
+ send_request(method: post_or_put, url: URI.escape(endpoint_url + "/" + model.id_key.to_s), payload: model.to_h.to_json)
29
14
  end
30
15
 
31
16
  def send(model)
32
- response = RestClient.post(URI.escape(endpoint_url), model.to_h.to_json, headers)
33
- test_response(response)
17
+ send_request(method: :post, url: URI.escape(endpoint_url), payload: model.to_h.to_json)
34
18
  end
35
19
 
36
- def all(filter_text: '')
20
+ def all(filter_text: "")
37
21
  pagination = {}
38
22
  pageindex = 0
39
23
  entries = []
40
24
 
41
25
  # Loop until last page, last page does not have a 'nextPage'
42
- while pagination['nextPage'] || pageindex.zero?
26
+ while pagination["nextPage"] || pageindex.zero?
43
27
  response = fetch(pageindex: pageindex, filter_text: filter_text)
44
28
 
45
29
  hash = JSON.parse(response.body)
46
- hash['collection'].each do |entry_hash|
30
+ hash["collection"].each do |entry_hash|
47
31
  entries.push model.new(entry_hash)
48
32
  end
49
33
 
50
- pagination = hash['pagination']
34
+ pagination = hash["pagination"]
51
35
  pageindex += 1
52
36
  end
53
37
  entries
@@ -61,52 +45,71 @@ module Economic
61
45
  filter("lastUpdated$gt:#{to_iso8601z(date)}")
62
46
  end
63
47
 
64
- def to_iso8601z(date)
65
- date = date.iso8601
66
- date = date[0...-5].tr('+', 'Z') if date.include?('+')
67
- date
68
- end
69
-
70
48
  def find(id)
71
- response = test_response(RestClient.get(endpoint_url + '/' + id.to_s, headers))
49
+ response = send_request(method: :get, url: endpoint_url + "/" + id.to_s)
72
50
  entry_hash = JSON.parse(response.body)
73
51
  model.new(entry_hash)
74
52
  end
75
53
 
54
+ def endpoint_url
55
+ URL + endpoint_name
56
+ end
57
+
58
+ private
59
+
76
60
  def model
77
- scopes = name.split('::')
61
+ scopes = name.split("::")
78
62
  scopes[1] = scopes[1][0...-1] if scopes.count == 3
79
- Object.const_get("#{scopes[0]}::#{scopes[1].sub('Repo', '')}")
63
+ Object.const_get("#{scopes[0]}::#{scopes[1].sub("Repo", "")}")
80
64
  end
81
65
 
82
66
  def endpoint_name
83
- end_p = name.sub('Economic::', '')
84
- if end_p.include?('::')
85
- end_p = end_p.gsub('Repo', '')
86
- end_p = end_p.gsub('::', '/')
67
+ end_p = name.sub("Economic::", "")
68
+ if end_p.include?("::")
69
+ end_p = end_p.gsub("Repo", "")
70
+ end_p = end_p.gsub("::", "/")
87
71
  else
88
- end_p = end_p.gsub('Repo', 's')
72
+ end_p = end_p.gsub("Repo", "s")
89
73
  end
90
- end_p = end_p.gsub('Journals', 'Journals-Experimental')
74
+ end_p = end_p.gsub("Journals", "Journals-Experimental")
75
+ end_p = end_p.gsub("Selfs", "Self")
91
76
  kebab(end_p)
92
77
  end
93
78
 
94
- def endpoint_url
95
- URL + endpoint_name
79
+ def to_iso8601z(date)
80
+ date = date.iso8601
81
+ date = date[0...-5].tr("+", "Z") if date.include?("+")
82
+ date
83
+ end
84
+
85
+ def send_request(method:, url:, payload: "", &block)
86
+ if payload.strip.empty?
87
+ RestClient::Request.execute(method: method, url: url, headers: headers, &block)
88
+ else
89
+ RestClient::Request.execute(method: method, url: url, payload: payload, headers: headers, &block)
90
+ end
91
+ rescue => e
92
+ raise e.to_s + ": " + e.response.to_s
93
+ end
94
+
95
+ def headers
96
+ {'X-AppSecretToken': Session.app_secret_token, 'X-AgreementGrantToken': Session.agreement_grant_token, 'Content-Type': "application/json"}
96
97
  end
97
98
 
98
- def test_response(response)
99
- raise response unless response.code.between?(200, 299)
99
+ def fetch(pageindex: 0, filter_text: "")
100
+ url = endpoint_url
101
+ url << "?skippages=#{pageindex}&pagesize=1000"
102
+ url << "&filter=#{filter_text}" unless filter_text == ""
100
103
 
101
- response
104
+ send_request(method: :get, url: URI.escape(url))
102
105
  end
103
106
 
104
107
  def kebab(string)
105
- string.gsub(/::/, '/')
106
- .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
107
- .gsub(/([a-z\d])([A-Z])/, '\1_\2')
108
- .tr('_', '-')
109
- .downcase
108
+ string.gsub(/::/, "/")
109
+ .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
110
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
111
+ .tr("_", "-")
112
+ .downcase
110
113
  end
111
114
  end
112
115
  end
@@ -0,0 +1,16 @@
1
+ module Economic
2
+ class Company < Base
3
+ field :addressLine1
4
+ field :addressLine2
5
+ field :attention
6
+ field :city
7
+ field :companyIdentificationNumber
8
+ field :country
9
+ field :email
10
+ field :name
11
+ field :phoneNumber
12
+ field :vatNumber
13
+ field :website
14
+ field :zip
15
+ end
16
+ end
@@ -1,19 +1,13 @@
1
1
  module Economic
2
2
  class JournalVoucherRepo < Economic::BaseRepo
3
3
  def self.save(voucher)
4
- response = RestClient.post(
5
- URI.escape(Economic::JournalRepo.endpoint_url + '/' + voucher.journal.journalNumber.to_s + '/vouchers'),
6
- voucher.to_h.to_json,
7
- headers
8
- )
9
-
10
- test_response(response)
4
+ response = send_request(method: :post, url: URI.escape(Economic::JournalRepo.endpoint_url + "/" + voucher.journal.journalNumber.to_s + "/vouchers"), payload: voucher.to_h.to_json)
11
5
 
12
6
  Voucher.new(JSON.parse(response.body).first)
13
7
  end
14
8
 
15
9
  def self.endpoint_name
16
- raise StandardError, 'only save is available on this repository'
10
+ raise StandardError, "only save is available on this repository"
17
11
  end
18
12
  end
19
13
  end
@@ -4,12 +4,12 @@ module Economic
4
4
  id = product_or_product_number.product_number if product_or_product_number.respond_to? :product_number
5
5
  id ||= product_or_product_number
6
6
 
7
- end_point = [superclass.endpoint_url, id, 'pricing', 'currency-specific-sales-prices'].join('/')
8
- response = test_response(RestClient.get(URI.escape(end_point), headers))
7
+ end_point = [superclass.endpoint_url, id, "pricing", "currency-specific-sales-prices"].join("/")
8
+ response = send_request(method: :get, url: URI.escape(end_point))
9
9
  entry_hash = JSON.parse(response.body)
10
10
  pricings = []
11
11
 
12
- entry_hash['collection'].each do |pricing|
12
+ entry_hash["collection"].each do |pricing|
13
13
  pricings.push Pricing.new(pricing)
14
14
  end
15
15
  pricings
@@ -4,12 +4,12 @@ module Economic
4
4
  id = product_group_or_product_group_number.product_group_number if product_group_or_product_group_number.respond_to? :product_group_number
5
5
  id ||= product_group_or_product_group_number
6
6
 
7
- end_point = [ProductGroupRepo.endpoint_url, id, 'products'].join('/')
8
- response = test_response(RestClient.get(URI.escape(end_point), headers))
7
+ end_point = [ProductGroupRepo.endpoint_url, id, "products"].join("/")
8
+ response = send_request(method: :get, url: URI.escape(end_point))
9
9
  entry_hash = JSON.parse(response.body)
10
10
  products = []
11
11
 
12
- entry_hash['collection'].each do |product|
12
+ entry_hash["collection"].each do |product|
13
13
  products.push Product.new(product)
14
14
  end
15
15
  products
@@ -1,61 +1,65 @@
1
- require 'economic/rest/version'
2
- require 'rest-client'
3
-
4
- require 'economic/base_repo'
5
- require 'economic/base'
6
-
7
- require 'economic/currency'
8
- require 'economic/vat_zone'
9
- require 'economic/vat_zone_repo'
10
- require 'economic/vat_type'
11
- require 'economic/vat_type_repo'
12
- require 'economic/inventory'
13
- require 'economic/customer_group'
14
- require 'economic/product_group'
15
-
16
- require 'economic/pricing'
17
- require 'economic/delivery'
18
- require 'economic/layout'
19
- require 'economic/layout_repo'
20
- require 'economic/notes'
21
- require 'economic/payment_terms'
22
- require 'economic/pdf'
23
- require 'economic/project'
24
- require 'economic/recipient'
25
- require 'economic/references'
26
-
27
- require 'economic/customer_repo'
28
- require 'economic/customer'
29
- require 'economic/customer_group_repo'
30
- require 'economic/product_repo'
31
- require 'economic/product'
32
- require 'economic/pricing_repo'
33
-
34
- require 'economic/orders/repo'
35
- require 'economic/order'
36
- require 'economic/orders/archived_repo'
37
- require 'economic/orders/drafts_repo'
38
- require 'economic/orders/sent_repo'
39
- require 'economic/product_group_repo'
40
-
41
- require 'economic/journal_repo'
42
- require 'economic/journal'
43
- require 'economic/journal_voucher_repo'
44
- require 'economic/voucher'
45
-
46
- require 'economic/accounting_year'
47
- require 'economic/accounting_year_repo'
48
-
49
- require 'economic/unit'
50
- require 'economic/unit_repo'
1
+ require "economic/rest/version"
2
+ require "rest-client"
3
+
4
+ require "economic/base_repo"
5
+ require "economic/base"
6
+
7
+ require "economic/currency"
8
+ require "economic/vat_zone"
9
+ require "economic/vat_zone_repo"
10
+ require "economic/vat_type"
11
+ require "economic/vat_type_repo"
12
+ require "economic/inventory"
13
+ require "economic/customer_group"
14
+ require "economic/product_group"
15
+
16
+ require "economic/pricing"
17
+ require "economic/delivery"
18
+ require "economic/layout"
19
+ require "economic/layout_repo"
20
+ require "economic/notes"
21
+ require "economic/payment_terms"
22
+ require "economic/pdf"
23
+ require "economic/project"
24
+ require "economic/recipient"
25
+ require "economic/references"
26
+
27
+ require "economic/customer_repo"
28
+ require "economic/customer"
29
+ require "economic/customer_group_repo"
30
+ require "economic/product_repo"
31
+ require "economic/product"
32
+ require "economic/pricing_repo"
33
+
34
+ require "economic/orders/repo"
35
+ require "economic/order"
36
+ require "economic/orders/archived_repo"
37
+ require "economic/orders/drafts_repo"
38
+ require "economic/orders/sent_repo"
39
+ require "economic/product_group_repo"
40
+
41
+ require "economic/journal_repo"
42
+ require "economic/journal"
43
+ require "economic/journal_voucher_repo"
44
+ require "economic/voucher"
45
+
46
+ require "economic/accounting_year"
47
+ require "economic/accounting_year_repo"
48
+
49
+ require "economic/unit"
50
+ require "economic/unit_repo"
51
+
52
+ require "economic/company"
53
+ require "economic/self"
54
+ require "economic/self_repo"
51
55
 
52
56
  module Economic
53
57
  class Demo
54
58
  def self.hello
55
- RestClient.get('https://restapi.e-conomic.com/',
56
- 'X-AppSecretToken': 'Demo',
57
- 'X-AgreementGrantToken': 'Demo',
58
- 'Content-Type': 'application/json')
59
+ RestClient.get("https://restapi.e-conomic.com/",
60
+ 'X-AppSecretToken': "Demo",
61
+ 'X-AgreementGrantToken': "Demo",
62
+ 'Content-Type': "application/json")
59
63
  end
60
64
  end
61
65
  end
@@ -1,5 +1,5 @@
1
1
  module Economic
2
2
  module Rest
3
- VERSION = '0.3.4'.freeze
3
+ VERSION = "0.3.5".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,17 @@
1
+ module Economic
2
+ class Self < Base
3
+ field :agreementNumber
4
+ field :canSendElectronicInvoice
5
+ field :companyAffiliation
6
+ field :modules
7
+ field :signupDate
8
+ field :userName
9
+
10
+ # relation :agreementType object The type of agreement this is. It can either be denmark, sweden or norway
11
+ # relation :application object The company’s bank settings.
12
+ # relation :bankInformation object The company’s bank settings.
13
+ relation :company, fields: []
14
+ # relation :settings object Other settings.
15
+ # relation :user object The currently logged in user.
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ module Economic
2
+ class SelfRepo < Economic::BaseRepo
3
+ def self.self
4
+ response = send_request(method: :get, url: URI.escape(Economic::SelfRepo.endpoint_url))
5
+ entry_hash = JSON.parse(response.body)
6
+ model.new(entry_hash)
7
+ end
8
+ end
9
+ end
@@ -8,13 +8,13 @@ module Economic
8
8
  end
9
9
 
10
10
  def self.app_secret_token
11
- raise ArgumentError, 'Authentication tokens not set, Call Session.authentication' if @private_app_id.nil?
11
+ raise ArgumentError, "Authentication tokens not set, Call Session.authentication" if @private_app_id.nil?
12
12
 
13
13
  @private_app_id
14
14
  end
15
15
 
16
16
  def self.agreement_grant_token
17
- raise ArgumentError, 'Authentication tokens not set, Call Session.authentication' if @access_id.nil?
17
+ raise ArgumentError, "Authentication tokens not set, Call Session.authentication" if @access_id.nil?
18
18
 
19
19
  @access_id
20
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: economic-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Klogborg
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-20 00:00:00.000000000 Z
11
+ date: 2019-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -129,6 +129,7 @@ files:
129
129
  - lib/economic/accounting_year_repo.rb
130
130
  - lib/economic/base.rb
131
131
  - lib/economic/base_repo.rb
132
+ - lib/economic/company.rb
132
133
  - lib/economic/currency.rb
133
134
  - lib/economic/customer.rb
134
135
  - lib/economic/customer_group.rb
@@ -160,6 +161,8 @@ files:
160
161
  - lib/economic/references.rb
161
162
  - lib/economic/rest.rb
162
163
  - lib/economic/rest/version.rb
164
+ - lib/economic/self.rb
165
+ - lib/economic/self_repo.rb
163
166
  - lib/economic/session.rb
164
167
  - lib/economic/unit.rb
165
168
  - lib/economic/unit_repo.rb
@@ -187,8 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
190
  - !ruby/object:Gem::Version
188
191
  version: '0'
189
192
  requirements: []
190
- rubyforge_project:
191
- rubygems_version: 2.7.6
193
+ rubygems_version: 3.0.3
192
194
  signing_key:
193
195
  specification_version: 4
194
196
  summary: Ruby wrapper for the e-conomic REST API, that aims at making working with