economic-rest 0.4.7 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/economic/base.rb +9 -5
- data/lib/economic/base_repo.rb +2 -1
- data/lib/economic/rest/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b473d597cbf374c0e92f3245a94084f000db7a041b6334bdf1ef7c46edceebf4
|
4
|
+
data.tar.gz: 52063b43f5a64ab68427c99afeed90f5ae0cdc90b51e54d49e956e906305d451
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b5d444c61f9212d5b9e5416c70d85a12d39e7bed57315f6cdf5dce36e32e1a24985595410e2bd28f0a4415355aa695027938e5529328ca35bf08d15017bc2c4
|
7
|
+
data.tar.gz: b55ac45dbe4a4f213053758545b858bb2393ae9cbee8477a3e7e11c7e4fa79ab9c5c11d568c4b56e6a9f8aa201fd4e8b49a3b738c66e3c8f19ab8a68b4939458
|
data/Gemfile.lock
CHANGED
data/lib/economic/base.rb
CHANGED
@@ -41,21 +41,25 @@ module Economic
|
|
41
41
|
def values_based_on_hash(hash)
|
42
42
|
@internal_hash = hash || {}
|
43
43
|
self.class.attributes.each do |field_name|
|
44
|
-
public_send("#{field_name}=", @internal_hash[field_name])
|
44
|
+
public_send("#{field_name}=", @internal_hash[field_name] || @internal_hash[field_name.to_sym])
|
45
45
|
end
|
46
46
|
|
47
47
|
self.class.relations&.each do |relation_hash|
|
48
|
+
relation_name = relation_hash[:name]
|
48
49
|
if relation_hash[:multiple]
|
49
|
-
relation_name = relation_hash[:name]
|
50
50
|
model_name = relation_hash[:name].singularize
|
51
51
|
related_model_array = Array(@internal_hash[relation_name])&.map { |data|
|
52
52
|
model_class(model_name).new(data)
|
53
53
|
}
|
54
54
|
instance_variable_set("@#{relation_name}", related_model_array)
|
55
55
|
else
|
56
|
-
|
57
|
-
related_model
|
58
|
-
|
56
|
+
related_model = model_class(relation_name).new(@internal_hash[relation_name])
|
57
|
+
instance_variable_set("@#{relation_name}", related_model)
|
58
|
+
end
|
59
|
+
if related_model
|
60
|
+
unless @internal_hash[relation_name.to_sym].blank?
|
61
|
+
related_model.values_based_on_hash(@internal_hash[relation_name.to_sym])
|
62
|
+
end
|
59
63
|
end
|
60
64
|
end
|
61
65
|
end
|
data/lib/economic/base_repo.rb
CHANGED
@@ -108,7 +108,8 @@ module Economic
|
|
108
108
|
RestClient::Request.execute(method: method, url: url, payload: payload, headers: headers, &block)
|
109
109
|
end
|
110
110
|
rescue => e
|
111
|
-
|
111
|
+
warn "#{e} #{e.response}" if e.respond_to?(:response)
|
112
|
+
raise e
|
112
113
|
end
|
113
114
|
|
114
115
|
def headers
|
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.
|
4
|
+
version: 0.5.0
|
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-10-
|
11
|
+
date: 2019-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|