live_record 0.3.1 → 0.3.2

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
  SHA1:
3
- metadata.gz: 023fa4cfb5084598e97938b66765676e2605bcf6
4
- data.tar.gz: f4b41beaece12f423ed2ca7ae062f526b23b1187
3
+ metadata.gz: c61bf9ab10a4f26e259ef3750b09850b6327dfc0
4
+ data.tar.gz: b6e83b2a424ebf4933e97e10ce3333ed80a45c7d
5
5
  SHA512:
6
- metadata.gz: 1dce736de7c48d8470e0110b5ee8ccc16c7839829ef1d5733896b746dc6252153a8ae361098543830e8532160adb33758302bc0b8b55ae9ef87731018d32ac7a
7
- data.tar.gz: 7add0e3b38810ecfcde9562312b08164d9f8144db6ad8afe61794a5a7685ba14cd2e172f9f40bef3f4725306bc27bcbcc2b9cb97887ba42c5894599ead4aa432
6
+ metadata.gz: 68339d0891798614e1570765aeca0a1069dcfbc76de04ba8c249afb14cd3f3309fdc139ef46c5feaae3257e382d922c1a971862d981bee9693a01bbc4be57d8a
7
+ data.tar.gz: aaee410eed406ac43b3f013759e8e45d0489ff08e553b5a2136403a8770d4a3346a19c699aed380e21de6735b22c663db48af48cec0a7f09cb6b35476c2e91be
data/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  > `live_record` is intentionally designed for read-only one-way syncing from the backend server, and does not support pushing changes to the Rails server from the client-side JS. Updates from client-side then is intended to use the normal HTTP REST requests.
12
12
 
13
- *New Version 0.2!*
13
+ *New Version 0.3!*
14
14
  *See [Changelog below](#changelog)*
15
15
 
16
16
  ## Requirements
@@ -97,7 +97,7 @@
97
97
  // `this` refers to the Book record that has been updated
98
98
 
99
99
  console.log(this.attributes);
100
- // this book record should have been updated with all other possible whitelisted attributes even if you just initally passed in only the ID; thus console.log above would output below
100
+ // this book record should have been updated with all other possible whitelisted attributes even if you just initially passed in only the ID; thus console.log above would output below
101
101
  // {id: 1, title: 'Harry Potter', author: 'J.K. Rowling', is_enabled: true, created_at: '2017-08-02T12:39:49.238Z', updated_at: '2017-08-02T12:39:49.238Z'}
102
102
 
103
103
  console.log(this.changes)
@@ -132,7 +132,8 @@
132
132
  end
133
133
 
134
134
  def self.live_record_queryable_attributes(current_user)
135
- # Add attributes to this array that you would like `current_user` to be able to query upon on the `subscribe({where: {...}}) function`
135
+ # Add attributes to this array that you would like `current_user` to be able to query upon
136
+ # on the `subscribe({where: {...}})` and `autoload({where: {...}})` functions
136
137
  # empty array means not-authorised
137
138
  if current_user.isAdmin?
138
139
  [:id, :title, :author, :created_at, :updated_at, :reference_id, :origin_address]
@@ -149,7 +150,7 @@
149
150
  1. Add the following to your `Gemfile`:
150
151
 
151
152
  ```ruby
152
- gem 'live_record', '~> 0.3.1'
153
+ gem 'live_record', '~> 0.3.2'
153
154
  ```
154
155
 
155
156
  2. Run:
@@ -206,7 +207,7 @@
206
207
  end
207
208
 
208
209
  def self.live_record_queryable_attributes(current_user)
209
- # Add attributes to this array that you would like current_user to query upon when using `.subscribe({where: {...})`
210
+ # Add attributes to this array that you would like current_user to query upon when using `.subscribe({where: {...})` and `.autoload({where: {...}})`
210
211
  # Defaults to empty array, thereby blocking everything by default, only unless explicitly stated here so.
211
212
  [:id, :title, :author, :created_at, :updated_at]
212
213
  end
@@ -751,6 +752,8 @@ end
751
752
  * MIT
752
753
 
753
754
  ## Changelog
755
+ * 0.3.2
756
+ * fixed `autoload()` `before:createOrUpdate` and `after:createOrUpdate` callbacks not triggering`
754
757
  * 0.3.1
755
758
  * removed a `console.log()` debugging code
756
759
  * 0.3.0
@@ -96,7 +96,7 @@ LiveRecord.Model.create = (config) ->
96
96
  @onAction[data.action].call(this, data)
97
97
 
98
98
  onAction:
99
- create_or_update: (data) ->
99
+ createOrUpdate: (data) ->
100
100
  record = Model.all[data.attributes.id]
101
101
 
102
102
  # if record already exists
@@ -107,12 +107,12 @@ LiveRecord.Model.create = (config) ->
107
107
  record = new Model(data.attributes)
108
108
  doesRecordAlreadyExist = false
109
109
 
110
- config.callbacks['before:create_or_update'].call(this, record) if config.callbacks['before:create_or_update']
110
+ config.callbacks['before:createOrUpdate'].call(this, record) if config.callbacks['before:createOrUpdate']
111
111
  if doesRecordAlreadyExist
112
112
  record.update(data.attributes)
113
113
  else
114
114
  record.create()
115
- config.callbacks['after:create_or_update'].call(this, record) if config.callbacks['after:create_or_update']
115
+ config.callbacks['after:createOrUpdate'].call(this, record) if config.callbacks['after:createOrUpdate']
116
116
 
117
117
  # handler for received() callback above
118
118
  onError:
@@ -46,7 +46,7 @@ class LiveRecord::AutoloadsChannel < LiveRecord::BaseChannel
46
46
  whitelisted_attributes = LiveRecord::BaseChannel::Helpers.whitelisted_attributes(new_or_updated_record, current_user)
47
47
 
48
48
  if whitelisted_attributes.size > 0
49
- message = { 'action' => 'create_or_update', 'attributes' => new_or_updated_record.attributes }
49
+ message = { 'action' => 'createOrUpdate', 'attributes' => new_or_updated_record.attributes }
50
50
  response = filtered_message(message, whitelisted_attributes)
51
51
  transmit response if response.present?
52
52
  end
@@ -79,7 +79,7 @@ class LiveRecord::AutoloadsChannel < LiveRecord::BaseChannel
79
79
  whitelisted_attributes = LiveRecord::BaseChannel::Helpers.whitelisted_attributes(record, current_user)
80
80
 
81
81
  if whitelisted_attributes.size > 0
82
- message = { 'action' => 'create_or_update', 'attributes' => record.attributes }
82
+ message = { 'action' => 'createOrUpdate', 'attributes' => record.attributes }
83
83
  response = filtered_message(message, whitelisted_attributes)
84
84
  transmit response if response.present?
85
85
  end
@@ -31,7 +31,7 @@ class <%= class_name %> < <%= parent_class_name.classify %>
31
31
  #
32
32
  # Add attributes to this array that you would like current_user client to be able to query upon when "subscribing"
33
33
  # Defaults to empty array, thereby blocking everything by default, only unless explicitly stated here so.
34
- # i.e. if a current_user client subscribes to "new records creation" using `.subscribe({where: {...}})`,
34
+ # i.e. if a current_user client subscribes using `.subscribe({where: {...}})` or `.autoload({where: {...}})`,
35
35
  # then only these attributes will be considered in the "{where: ...}" argument
36
36
  # if you're using `ransack` gem, use `ransackable_attributes`
37
37
  # Empty array means unauthorized
@@ -1,3 +1,3 @@
1
1
  module LiveRecord
2
- VERSION = '0.3.1'.freeze
2
+ VERSION = '0.3.2'.freeze
3
3
  end
@@ -8,11 +8,7 @@ RSpec.feature 'LiveRecord Syncing', type: :feature do
8
8
  let(:post3) { create(:post, user: nil) }
9
9
  let!(:users) { [user1, user2] }
10
10
  let!(:posts) { [post1, post2, post3] }
11
-
12
- # LiveRecord.helpers.loadRecords({ modelName: 'Post' });
13
- # LiveRecord.helpers.loadRecords({ modelName: 'User', url: '<%= j users_path %>' });
14
- # LiveRecord.Model.all.Post.subscribe({ where: { is_enabled_eq: true, content_eq: 'somecontent' }});
15
-
11
+
16
12
  scenario 'User sees live changes (updates) of post records', js: true do
17
13
  visit '/posts'
18
14
 
@@ -4,7 +4,7 @@ Dir[__dir__ + '/helpers/*.rb'].each {|file| require file }
4
4
 
5
5
  ActiveRecord::Migration.maintain_test_schema!
6
6
 
7
- Capybara.javascript_driver = :selenium_chrome_headless # :selenium_chrome
7
+ Capybara.javascript_driver = :selenium_chrome_headless # :selenium_chrome
8
8
  Capybara.server = :puma
9
9
 
10
10
  RSpec.configure do |config|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: live_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jules Roman B. Polidario
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-12 00:00:00.000000000 Z
11
+ date: 2017-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails