economic-rest 0.1.6 → 0.1.7
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/economic/base.rb +6 -1
- data/lib/economic/base_repo.rb +25 -6
- data/lib/economic/journal.rb +11 -0
- data/lib/economic/journal_repo.rb +4 -0
- data/lib/economic/rest/version.rb +1 -1
- data/lib/economic/rest.rb +5 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 54c64f6375d3d4c521ca7d2fa65ad388cfd83ffb055ab1bd9182f3676d739f55
|
|
4
|
+
data.tar.gz: 714553722be2e463249e564300dd7df127ca33a9b7b437a7cd226952ea60df09
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b5680d2596c44bdc284753726e640e660504f78c80511cbe0be8229a5cc8258a3fba374b6cb8a51e79ca42773c6faba5c57fcf25416602d9434a2c9176b6a901
|
|
7
|
+
data.tar.gz: e97cdb878fbb4558f11d682a3c98e6c9ba35883e00138953571052fa4671f304b8973b254f45c91dd622af09c3f3185c5c52bda85bfc7ced224d7c2ae6173565
|
data/Gemfile.lock
CHANGED
data/lib/economic/base.rb
CHANGED
|
@@ -12,13 +12,18 @@ module Economic
|
|
|
12
12
|
(@attributes ||= []).push(name)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
def self.field(name, id: false)
|
|
15
|
+
def self.field(name, id: false, model: nil)
|
|
16
16
|
economic_cased_attibute_name = name.to_s
|
|
17
17
|
attr_accessor economic_cased_attibute_name
|
|
18
18
|
alias_method snake_case(economic_cased_attibute_name), economic_cased_attibute_name
|
|
19
19
|
alias_method "#{snake_case(economic_cased_attibute_name)}=", "#{economic_cased_attibute_name}="
|
|
20
20
|
alias_method 'id_key', economic_cased_attibute_name if id
|
|
21
21
|
add_attribute economic_cased_attibute_name
|
|
22
|
+
if model
|
|
23
|
+
define_method("create_#{economic_cased_attibute_name[0...-1]}") do |class_instance|
|
|
24
|
+
repo.save(self, submodel: class_instance)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
22
27
|
end
|
|
23
28
|
|
|
24
29
|
def values_based_on_hash(hash)
|
data/lib/economic/base_repo.rb
CHANGED
|
@@ -20,19 +20,31 @@ module Economic
|
|
|
20
20
|
"/#{page_or_id}"
|
|
21
21
|
end
|
|
22
22
|
url << "&filter=#{filter_text}" unless filter_text == ''
|
|
23
|
-
response = RestClient.get(url, headers)
|
|
23
|
+
response = RestClient.get(url, headers) do |response, _request, _result|
|
|
24
|
+
response
|
|
25
|
+
end
|
|
24
26
|
test_response(response)
|
|
25
27
|
end
|
|
26
28
|
|
|
27
|
-
def save(model)
|
|
29
|
+
def save(model, submodel: '')
|
|
28
30
|
url = ''
|
|
29
31
|
url << URL
|
|
30
32
|
url << endpoint_name.to_s if endpoint_name
|
|
31
33
|
url << "/#{model.id_key}"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
url << sub_endpoint_name(submodel) unless submodel == ''
|
|
35
|
+
relevant_model = if submodel == ''
|
|
36
|
+
model
|
|
37
|
+
else
|
|
38
|
+
submodel
|
|
39
|
+
end
|
|
40
|
+
response = if relevant_model.id_key.nil?
|
|
41
|
+
RestClient.post(url, relevant_model.to_h.to_json, headers) do |response, _request, _result|
|
|
42
|
+
response
|
|
43
|
+
end
|
|
34
44
|
else
|
|
35
|
-
RestClient.
|
|
45
|
+
RestClient.put(url, relevant_model.to_h.to_json, headers) do |response, _request, _result|
|
|
46
|
+
response
|
|
47
|
+
end
|
|
36
48
|
end
|
|
37
49
|
test_response(response)
|
|
38
50
|
end
|
|
@@ -91,11 +103,18 @@ module Economic
|
|
|
91
103
|
else
|
|
92
104
|
end_p = end_p.gsub('Repo', 's')
|
|
93
105
|
end
|
|
106
|
+
end_p = end_p.gsub('Journals', 'Journals-Experimental')
|
|
107
|
+
end_p.downcase
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def sub_endpoint_name(submodel)
|
|
111
|
+
end_p = submodel.class.name.sub('Economic::', '')
|
|
112
|
+
end_p = "/#{end_p}s"
|
|
94
113
|
end_p.downcase
|
|
95
114
|
end
|
|
96
115
|
|
|
97
116
|
def test_response(response)
|
|
98
|
-
raise response
|
|
117
|
+
raise response unless response.code.between?(200, 299)
|
|
99
118
|
|
|
100
119
|
response
|
|
101
120
|
end
|
data/lib/economic/rest.rb
CHANGED
|
@@ -14,6 +14,11 @@ require 'economic/orders/archived_repo'
|
|
|
14
14
|
require 'economic/orders/drafts_repo'
|
|
15
15
|
require 'economic/orders/sent_repo'
|
|
16
16
|
|
|
17
|
+
require 'economic/journal_repo'
|
|
18
|
+
require 'economic/journal'
|
|
19
|
+
|
|
20
|
+
require 'economic/voucher'
|
|
21
|
+
|
|
17
22
|
module Economic
|
|
18
23
|
class Demo
|
|
19
24
|
def self.hello
|
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.1.
|
|
4
|
+
version: 0.1.7
|
|
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-01
|
|
11
|
+
date: 2019-02-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -101,6 +101,8 @@ files:
|
|
|
101
101
|
- lib/economic/base_repo.rb
|
|
102
102
|
- lib/economic/customer.rb
|
|
103
103
|
- lib/economic/customer_repo.rb
|
|
104
|
+
- lib/economic/journal.rb
|
|
105
|
+
- lib/economic/journal_repo.rb
|
|
104
106
|
- lib/economic/order.rb
|
|
105
107
|
- lib/economic/orders/archived_repo.rb
|
|
106
108
|
- lib/economic/orders/drafts_repo.rb
|