hyper-resource 1.0.0.lap39 → 1.0.0.lap40

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: 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