ar_sync
ar_sync copied to clipboard
ActiveRecord-JavaScript Sync
Bumps [activesupport](https://github.com/rails/rails) from 7.0.2.3 to 7.0.4.3. Release notes Sourced from activesupport's releases. v7.0.4.3 Active Support Implement SafeBuffer#bytesplice [CVE-2023-28120] Active Model No changes. Active Record No changes. Action View Ignore certain...
Bumps [activerecord](https://github.com/rails/rails) from 7.0.2.3 to 7.0.4.1. Release notes Sourced from activerecord's releases. v7.0.4.1 This is a security release. More information is available in our security announcements forum: https://discuss.rubyonrails.org/c/security-announcements/9 Active Support...
```ruby sync_has_one :myFoo do |user|; end sync_has_one :myFoo, preload: ->|a, user|; end ``` の場合、userにnilが渡されて評価してしまう その時に値を返してしまうとおかしな挙動になる ```ruby sync_has_one :myFoo do |user| foos.find_by(user: user) # user_idがnullableかつ別の意味を持つ場合まずい end ``` 値を返さなかったとしても問題がありそうなのでarityを見て評価しないようにする(arityだけで判別不能だったらapi変える)
def self.after_commit みたいなことして誤魔化すことはできるけど不便。 何か楽なやり方提供したい (ActiveModel限定?POROは?)
alias fieldも型サポートできるようにする
sync_keysつけてsubscribeする意味がないし、そういうレコードは大体取得するデータの枝葉にあたるもので数も多いはず(いいねとかそういう奴) sync_keysつけなくていいよと明示する方法があるといいはず (sync_keysフィールドを空配列返すように上書きしてしまえばとりあえず大丈夫だけど) ```ruby class いいね
ar_syncの通知・自動反映を待っていると、ラグが気になることがある (ボタンを押したらすぐ何か変化があって欲しい、など) appoloとかでやっているらしい、postしたら(そのレスポンスを元に)データいい感じに更新してくれるやつ ```ts const newtitle = 'あたらしいタイトル' await response = post('/post/3', { title: newtitle }) ArSync.foobarUpdateAllData('Post', 3, { title: response.title }) ``` ```ts const newtitle = 'あたらしいタイトル' const patch...
ar_serializerのmasterと同じやつにする #58 のconflict解消する idでのloadのやつどうしようか (patch relaod queryのところの変更ちょっと注意)
``` model._destroyed #=> boolean model.isDestroyed() #=> boolean model.subscribe('destroy', ()=>{}) ```