economic-rest 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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