live_record 0.3.3 → 0.3.4

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
- SHA1:
3
- metadata.gz: de7dc62d17d18d42b77e88503e9a1dce8bdc1993
4
- data.tar.gz: 99d005e2f048f497a2dbd152d832ab574b77b05e
2
+ SHA256:
3
+ metadata.gz: 7c5e459f1fd9627b4731cd59fcc25622317d2ecbeb1afe32b4d55328880ba7cf
4
+ data.tar.gz: a2018fdbcfcdeef038c8a389bf3c5240a4ffa9b05884b6c8d9efb59a23d6c62c
5
5
  SHA512:
6
- metadata.gz: 6d5c2c960ba7d0f48b15b275344edf4dfc134a7d28cbd8ae5ec814ce96b7c70aadb2e37913b9ce6230a9b4fd72201982aa0a608f16d5099aa2f106430d0f3051
7
- data.tar.gz: 28c6ab4599f7742a4fc8cfd0554a6194e9b8ab0bb65f181a9789ef1ebb2c0367e33f144ba1ea856728f1ec7eb0a7f0bf1aee1a73418875f03f8d1b806797f0d9
6
+ metadata.gz: aba9f87dc58ad53ee987264795de0ba551c78888fc17725ed5176e036ae5294e50a5c50c84dc082425842eef3132fd48e49063930b6b65ded469e2376cc764cf
7
+ data.tar.gz: 7a08ddb71528e48371c5406a7616dfcf19d9268adad369cbce537c21426020101d819421f6d1f2adc0418271b292e0140649113541ac1a2593ddec2dcbbe682a
@@ -1,11 +1,14 @@
1
+ sudo: required
1
2
  dist: trusty
2
3
  addons:
3
4
  chrome: stable
4
5
  language: ruby
6
+ cache: bundler
5
7
  rvm:
6
8
  - 2.2.2
7
9
  - 2.2.7
8
10
  - 2.3.4
9
11
  - 2.4.1
12
+ - 2.5.1
10
13
  before_install:
11
14
  - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
data/Gemfile CHANGED
@@ -7,5 +7,5 @@ group :development, :test do
7
7
  # therefore, this gem should not be part of .gemspec but instead is specified here in the Gemfile
8
8
  gem 'factory_girl_rails', '~> 4.8', require: false
9
9
  # do not require to prevent Capybara deprecation warning on rspec run
10
- gem 'capybara', '~> 2.15', require: false
11
- end
10
+ gem 'capybara', '~> 3.1', require: false
11
+ end
data/README.md CHANGED
@@ -16,11 +16,12 @@
16
16
  ## Requirements
17
17
 
18
18
  * **Ruby >= 2.2.2**
19
- * **Rails >= 5.0, < 5.2**
19
+ * **Rails ~> 5.0**
20
20
 
21
21
  ## Demo
22
22
 
23
- * https://live-record-example.herokuapp.com/
23
+ * https://live-record-example.herokuapp.com/ (Basic Demo)
24
+ * http://playadj.io/ (Full Demo: An Online Card Game)
24
25
 
25
26
  ## Usage Example
26
27
 
@@ -61,10 +62,16 @@
61
62
  // ...or only those which are enabled (you can also combine this with `reload: true`)
62
63
  // LiveRecord.Model.all.Book.autoload({where: {is_enabled_eq: true}})
63
64
 
64
- // now, we can just simply add a "create_or_update" callback, to apply our own logic whenever a new Book record is streamed from the backend
65
- LiveRecord.Model.all.Book.addCallback('after:createOrUpdate', function() {
65
+ // now, we can just simply add a "create" callback or also an "update" callback, to apply our own logic whenever a new Book record is streamed from the backend
66
+ LiveRecord.Model.all.Book.addCallback('after:create', function() {
66
67
  // let's say you have a code here that adds this new Book on the page
67
- // `this` refers to the Book record that has been created / updated
68
+ // `this` refers to the Book record that has been created
69
+ console.log(this);
70
+ })
71
+
72
+ LiveRecord.Model.all.Book.addCallback('after:update', function() {
73
+ // let's say you have a code here that updates this Book on the page
74
+ // `this` refers to the Book record that has been updated
68
75
  console.log(this);
69
76
  })
70
77
  ```
@@ -135,7 +142,7 @@
135
142
  # Add attributes to this array that you would like `current_user` to be able to query upon
136
143
  # on the `subscribe({where: {...}})` and `autoload({where: {...}})` functions
137
144
  # empty array means not-authorised
138
- if current_user.isAdmin?
145
+ if current_user.is_admin?
139
146
  [:id, :title, :author, :created_at, :updated_at, :reference_id, :origin_address]
140
147
  else
141
148
  []
@@ -150,7 +157,7 @@
150
157
  1. Add the following to your `Gemfile`:
151
158
 
152
159
  ```ruby
153
- gem 'live_record', '~> 0.3.3'
160
+ gem 'live_record', '~> 0.3.4'
154
161
  ```
155
162
 
156
163
  2. Run:
@@ -773,6 +780,9 @@ end
773
780
  * MIT
774
781
 
775
782
  ## Changelog
783
+ * 0.3.4
784
+ * now supports Rails `~> 5.2` after being tested to work
785
+ * update dependency to Rails (and other dev gems) to use semantic versioning: `~> 5.0`, instead of `>= 5.0, < 5.3`
776
786
  * 0.3.3
777
787
  * now allows creating [`class` and `instance` methods](#example-2---model--associations--callbacks--methods) when creating a LiveRecord Model
778
788
  * added `after:reload` callback to `autoload()` and `subscribe()` when `reload: true` is passed, which triggers once after reloading has finished transmitting all records
data/config.ru CHANGED
@@ -5,6 +5,8 @@ Bundler.require :default, :development
5
5
  require 'live_record'
6
6
  require 'action_cable/engine'
7
7
 
8
- Combustion.initialize! :all
8
+ Combustion.initialize! :all do
9
+ config.active_record.sqlite3.represent_boolean_as_integer = true
10
+ end
9
11
 
10
12
  run Combustion::Application
@@ -1,3 +1,3 @@
1
1
  module LiveRecord
2
- VERSION = '0.3.3'.freeze
2
+ VERSION = '0.3.4'.freeze
3
3
  end
@@ -14,9 +14,9 @@ Gem::Specification.new do |s|
14
14
  s.license = 'MIT'
15
15
  s.required_ruby_version = '>= 2.2.2'
16
16
 
17
- s.add_dependency 'rails', '>= 5.0.0', '< 5.2'
17
+ s.add_dependency 'rails', '~> 5.0'
18
18
 
19
- s.add_development_dependency 'rails', '~> 5.1'
19
+ s.add_development_dependency 'rails', '~> 5.2'
20
20
  s.add_development_dependency 'puma', '~> 3.10'
21
21
  s.add_development_dependency 'bundler', '~> 1.3'
22
22
  s.add_development_dependency 'byebug', '~> 9.0'
@@ -30,10 +30,10 @@ Gem::Specification.new do |s|
30
30
  s.add_development_dependency 'redis', '~> 3.3'
31
31
 
32
32
  s.add_development_dependency 'rspec-rails', '~> 3.6'
33
- s.add_development_dependency 'combustion', '~> 0.7'
34
- s.add_development_dependency 'chromedriver-helper', '~> 1.1'
35
- s.add_development_dependency 'selenium-webdriver', '~> 3.5'
33
+ s.add_development_dependency 'combustion', '~> 0.9'
34
+ s.add_development_dependency 'chromedriver-helper', '~> 1.2'
35
+ s.add_development_dependency 'selenium-webdriver', '~> 3.12'
36
36
  s.add_development_dependency 'faker', '~> 1.8'
37
37
  s.add_development_dependency 'database_cleaner', '~> 1.6'
38
- s.add_development_dependency 'timecop', '0.9.1'
38
+ s.add_development_dependency 'timecop', '0.9'
39
39
  end
@@ -4,6 +4,7 @@ Dir[__dir__ + '/helpers/*.rb'].each {|file| require file }
4
4
 
5
5
  ActiveRecord::Migration.maintain_test_schema!
6
6
 
7
+ Chromedriver.set_version '2.38'
7
8
  Capybara.javascript_driver = :selenium_chrome_headless # :selenium_chrome
8
9
  Capybara.server = :puma
9
10
 
@@ -5,7 +5,9 @@ Bundler.require :default, :development
5
5
  require 'live_record'
6
6
  require 'action_cable/engine'
7
7
 
8
- Combustion.initialize! :all
8
+ Combustion.initialize! :all do
9
+ config.active_record.sqlite3.represent_boolean_as_integer = true
10
+ end
9
11
 
10
12
  require 'rspec/rails'
11
13
  require 'capybara/rails'
metadata CHANGED
@@ -1,49 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: live_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
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-16 00:00:00.000000000 Z
11
+ date: 2018-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 5.0.0
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '5.2'
19
+ version: '5.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 5.0.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '5.2'
26
+ version: '5.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: rails
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '5.1'
33
+ version: '5.2'
40
34
  type: :development
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '5.1'
40
+ version: '5.2'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: puma
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -190,42 +184,42 @@ dependencies:
190
184
  requirements:
191
185
  - - "~>"
192
186
  - !ruby/object:Gem::Version
193
- version: '0.7'
187
+ version: '0.9'
194
188
  type: :development
195
189
  prerelease: false
196
190
  version_requirements: !ruby/object:Gem::Requirement
197
191
  requirements:
198
192
  - - "~>"
199
193
  - !ruby/object:Gem::Version
200
- version: '0.7'
194
+ version: '0.9'
201
195
  - !ruby/object:Gem::Dependency
202
196
  name: chromedriver-helper
203
197
  requirement: !ruby/object:Gem::Requirement
204
198
  requirements:
205
199
  - - "~>"
206
200
  - !ruby/object:Gem::Version
207
- version: '1.1'
201
+ version: '1.2'
208
202
  type: :development
209
203
  prerelease: false
210
204
  version_requirements: !ruby/object:Gem::Requirement
211
205
  requirements:
212
206
  - - "~>"
213
207
  - !ruby/object:Gem::Version
214
- version: '1.1'
208
+ version: '1.2'
215
209
  - !ruby/object:Gem::Dependency
216
210
  name: selenium-webdriver
217
211
  requirement: !ruby/object:Gem::Requirement
218
212
  requirements:
219
213
  - - "~>"
220
214
  - !ruby/object:Gem::Version
221
- version: '3.5'
215
+ version: '3.12'
222
216
  type: :development
223
217
  prerelease: false
224
218
  version_requirements: !ruby/object:Gem::Requirement
225
219
  requirements:
226
220
  - - "~>"
227
221
  - !ruby/object:Gem::Version
228
- version: '3.5'
222
+ version: '3.12'
229
223
  - !ruby/object:Gem::Dependency
230
224
  name: faker
231
225
  requirement: !ruby/object:Gem::Requirement
@@ -260,14 +254,14 @@ dependencies:
260
254
  requirements:
261
255
  - - '='
262
256
  - !ruby/object:Gem::Version
263
- version: 0.9.1
257
+ version: '0.9'
264
258
  type: :development
265
259
  prerelease: false
266
260
  version_requirements: !ruby/object:Gem::Requirement
267
261
  requirements:
268
262
  - - '='
269
263
  - !ruby/object:Gem::Version
270
- version: 0.9.1
264
+ version: '0.9'
271
265
  description: |-
272
266
  Auto-syncs records in client-side JS (through a Model DSL) from changes (updates/destroy) in the backend Rails server through ActionCable.
273
267
  Also supports streaming newly created records to client-side JS.
@@ -378,7 +372,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
378
372
  version: '0'
379
373
  requirements: []
380
374
  rubyforge_project:
381
- rubygems_version: 2.6.11
375
+ rubygems_version: 2.7.6
382
376
  signing_key:
383
377
  specification_version: 4
384
378
  summary: Rails 5 ActionCable Live JS Objects and DOM Elements