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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c5c4b058e2e275c5237bc7a9d3869a937d1b77953880e81b032ee4b5f1e15f7
4
- data.tar.gz: 4d74b2cc1d465e0564d6089149da62d4df99f4df511b6629ff8692721d109cb2
3
+ metadata.gz: b473d597cbf374c0e92f3245a94084f000db7a041b6334bdf1ef7c46edceebf4
4
+ data.tar.gz: 52063b43f5a64ab68427c99afeed90f5ae0cdc90b51e54d49e956e906305d451
5
5
  SHA512:
6
- metadata.gz: 834f8b17ade63e95bed74c10d878e766b233f139662c0b51e55d7d6c218162d97f562e4e265ddd1ce1ea17e5931ecf8cabbe4968823ac80d71a11eb061cedcef
7
- data.tar.gz: '02086b6474d10a861fe95da559bbe684684e6df78d8facc34ff68252d242b1281f51aeef00edfdcc0ecbf19337091f74400f52b1faf66e415acc76e7cc4f7e93'
6
+ metadata.gz: 1b5d444c61f9212d5b9e5416c70d85a12d39e7bed57315f6cdf5dce36e32e1a24985595410e2bd28f0a4415355aa695027938e5529328ca35bf08d15017bc2c4
7
+ data.tar.gz: b55ac45dbe4a4f213053758545b858bb2393ae9cbee8477a3e7e11c7e4fa79ab9c5c11d568c4b56e6a9f8aa201fd4e8b49a3b738c66e3c8f19ab8a68b4939458
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- economic-rest (0.4.7)
4
+ economic-rest (0.5.0)
5
5
  activesupport
6
6
  rest-client
7
7
  savon
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
- name = relation_hash[:name]
57
- related_model = model_class(name).new(@internal_hash[name])
58
- instance_variable_set("@#{name}", related_model)
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
@@ -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
- raise "#{e}#{e.respond_to?(:response) ? ": #{e.response}" : ""}"
111
+ warn "#{e} #{e.response}" if e.respond_to?(:response)
112
+ raise e
112
113
  end
113
114
 
114
115
  def headers
@@ -1,5 +1,5 @@
1
1
  module Economic
2
2
  module Rest
3
- VERSION = "0.4.7".freeze
3
+ VERSION = "0.5.0".freeze
4
4
  end
5
5
  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.4.7
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-22 00:00:00.000000000 Z
11
+ date: 2019-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler