hyper-resource 1.0.0.lap39 → 1.0.0.lap40

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: 81aa4247a77ddaa5de2bc89c0aff444b2679113598992d0e4bae9537921224a5
4
- data.tar.gz: 82c7b2ae16f57887f2443f68b8f0a9d0399acd22adad131fb97b1d5917ea7014
3
+ metadata.gz: b1bae140804e9630f4b1187a1f06cb8441cf40d784ebd6cd2dbd4c00851806a5
4
+ data.tar.gz: 632f717c16f5023cf55cb323bc481025fc25be3c203fce90b3866f438c882684
5
5
  SHA512:
6
- metadata.gz: 6bbe5b55732247244d67270e89e0f57bc699591cb2f59a41ed5ca1d860afcfd37c35063af068d7e5f65d28676f262b930a461fa0178d96686ee7d2c41b69d069
7
- data.tar.gz: cc84c5fee0e51e57dadd4b569018eef9efc446d35a483d5bd67cfdb31dc08a0c3cd4eb87b464b45eca1801ad6491d262501dbc8e616a952a16346d5c0f14aa65
6
+ metadata.gz: 537abb30fdfa234afa6dbb8f4751655859d615ff582b58916d30d7e0e5ed78223e551a451b34b36c569a3f7599da384ebcdaee67cd1d0c396d826bffb1a6c63c
7
+ data.tar.gz: 86c8360462145706f9f978df2d2bd6664f15a93235cb90fe28c60637f9559095e2f3b254fc164d344b8d69c6d3e72db6f93116f533cb841552dd43d0ac0da74e
@@ -87,13 +87,12 @@ module HyperRecord
87
87
  record_in_progress = if _record_cache.has_key?(id)
88
88
  _record_cache[id]
89
89
  else
90
- self.new
90
+ self.new(id: id)
91
91
  end
92
92
  record_in_progress_key = "#{self.to_s}_#{record_in_progress.object_id}"
93
93
  React::State.get_state(observer, record_in_progress_key) if observer
94
- return _record_cache[id] if _record_cache.has_key?(id)
95
- _record_cache[id] = record_in_progress
96
- _find_record(id, record_in_progress, record_in_progress_key).then do
94
+ return _record_cache[id] if _record_cache.has_key?(id) && _class_fetch_states["record_#{id}"] == 'i'
95
+ _find_record(id, record_in_progress).then do
97
96
  React::State.set_state(observer, record_in_progress_key, `Date.now() + Math.random()`) if observer
98
97
  end
99
98
  record_in_progress
@@ -103,11 +102,9 @@ module HyperRecord
103
102
  record_in_progress = if _record_cache.has_key?(id)
104
103
  _record_cache[id]
105
104
  else
106
- self.new
105
+ self.new(id: id)
107
106
  end
108
- record_in_progress_key = "#{self.to_s}_#{record_in_progress.object_id}"
109
- _record_cache[id] = record_in_progress unless _record_cache.has_key?(id)
110
- _find_record(id, record_in_progress, record_in_progress_key)
107
+ _find_record(id, record_in_progress)
111
108
  end
112
109
 
113
110
  def find_record_by(hash)
@@ -395,17 +392,19 @@ module HyperRecord
395
392
  @_class_state_key
396
393
  end
397
394
 
398
- def _find_record(id, record_in_progress, record_in_progress_key)
395
+ def _find_record(id, record_in_progress)
396
+ _class_fetch_states["record_#{id}"] = 'i'
399
397
  _promise_get("#{resource_base_uri}/#{id}.json").then do |response|
400
398
  klass_key = self.to_s.underscore
401
- reflections.keys.each do |relation|
402
- if response.json[klass_key].has_key?(relation)
403
- response.json[klass_key][r_or_s] = _convert_array_to_collection(response.json[klass_key][relation])
404
- record_in_progress.instance_variable_get(:@fetch_states)[relation] = 'f'
405
- end
406
- end
399
+ # optimization for fetching relations with records
400
+ # reflections.keys.each do |relation|
401
+ # if response.json[klass_key].has_key?(relation)
402
+ # response.json[klass_key][r_or_s] = _convert_array_to_collection(response.json[klass_key][relation])
403
+ # record_in_progress.instance_variable_get(:@fetch_states)[relation] = 'f'
404
+ # end
405
+ # end
407
406
  record_in_progress._initialize_from_hash(response.json[klass_key]) if response.json[klass_key]
408
- _class_fetch_states["record_#{id}"] == 'f'
407
+ _class_fetch_states["record_#{id}"] = 'f'
409
408
  record_in_progress
410
409
  end.fail do |response|
411
410
  error_message = "#{self.to_s}.find(#{id}) failed to fetch record!"
@@ -1,5 +1,5 @@
1
1
  module Hyperloop
2
2
  module Resource
3
- VERSION = '1.0.0.lap39'
3
+ VERSION = '1.0.0.lap40'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper-resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.lap39
4
+ version: 1.0.0.lap40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann