live_record 0.3.3 → 0.3.4

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