ar_sync 1.0.0

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.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.travis.yml +5 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +53 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +128 -0
  8. data/Rakefile +10 -0
  9. data/ar_sync.gemspec +28 -0
  10. data/bin/console +12 -0
  11. data/bin/setup +8 -0
  12. data/core/ActioncableAdapter.d.ts +10 -0
  13. data/core/ActioncableAdapter.js +29 -0
  14. data/core/ArSyncApi.d.ts +5 -0
  15. data/core/ArSyncApi.js +74 -0
  16. data/core/ArSyncModelBase.d.ts +71 -0
  17. data/core/ArSyncModelBase.js +110 -0
  18. data/core/ConnectionAdapter.d.ts +7 -0
  19. data/core/ConnectionAdapter.js +2 -0
  20. data/core/ConnectionManager.d.ts +19 -0
  21. data/core/ConnectionManager.js +75 -0
  22. data/core/DataType.d.ts +60 -0
  23. data/core/DataType.js +2 -0
  24. data/core/hooksBase.d.ts +29 -0
  25. data/core/hooksBase.js +80 -0
  26. data/graph/ArSyncModel.d.ts +10 -0
  27. data/graph/ArSyncModel.js +22 -0
  28. data/graph/ArSyncStore.d.ts +28 -0
  29. data/graph/ArSyncStore.js +593 -0
  30. data/graph/hooks.d.ts +3 -0
  31. data/graph/hooks.js +10 -0
  32. data/graph/index.d.ts +2 -0
  33. data/graph/index.js +4 -0
  34. data/lib/ar_sync.rb +25 -0
  35. data/lib/ar_sync/class_methods.rb +215 -0
  36. data/lib/ar_sync/collection.rb +83 -0
  37. data/lib/ar_sync/config.rb +18 -0
  38. data/lib/ar_sync/core.rb +138 -0
  39. data/lib/ar_sync/field.rb +96 -0
  40. data/lib/ar_sync/instance_methods.rb +130 -0
  41. data/lib/ar_sync/rails.rb +155 -0
  42. data/lib/ar_sync/type_script.rb +80 -0
  43. data/lib/ar_sync/version.rb +3 -0
  44. data/lib/generators/ar_sync/install/install_generator.rb +87 -0
  45. data/lib/generators/ar_sync/types/types_generator.rb +11 -0
  46. data/package-lock.json +1115 -0
  47. data/package.json +19 -0
  48. data/src/core/ActioncableAdapter.ts +30 -0
  49. data/src/core/ArSyncApi.ts +75 -0
  50. data/src/core/ArSyncModelBase.ts +126 -0
  51. data/src/core/ConnectionAdapter.ts +5 -0
  52. data/src/core/ConnectionManager.ts +69 -0
  53. data/src/core/DataType.ts +73 -0
  54. data/src/core/hooksBase.ts +86 -0
  55. data/src/graph/ArSyncModel.ts +21 -0
  56. data/src/graph/ArSyncStore.ts +567 -0
  57. data/src/graph/hooks.ts +7 -0
  58. data/src/graph/index.ts +2 -0
  59. data/src/tree/ArSyncModel.ts +145 -0
  60. data/src/tree/ArSyncStore.ts +323 -0
  61. data/src/tree/hooks.ts +7 -0
  62. data/src/tree/index.ts +2 -0
  63. data/tree/ArSyncModel.d.ts +39 -0
  64. data/tree/ArSyncModel.js +143 -0
  65. data/tree/ArSyncStore.d.ts +21 -0
  66. data/tree/ArSyncStore.js +365 -0
  67. data/tree/hooks.d.ts +3 -0
  68. data/tree/hooks.js +10 -0
  69. data/tree/index.d.ts +2 -0
  70. data/tree/index.js +4 -0
  71. data/tsconfig.json +15 -0
  72. data/vendor/assets/javascripts/ar_sync_actioncable_adapter.js.erb +7 -0
  73. data/vendor/assets/javascripts/ar_sync_graph.js.erb +17 -0
  74. data/vendor/assets/javascripts/ar_sync_tree.js.erb +17 -0
  75. metadata +187 -0
data/tree/hooks.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { useArSyncFetch } from '../core/hooksBase';
2
+ import { Request, DataAndStatus } from '../core/hooksBase';
3
+ export declare function useArSyncModel<T>(request: Request | null): DataAndStatus<T>;
data/tree/hooks.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var hooksBase_1 = require("../core/hooksBase");
4
+ exports.useArSyncFetch = hooksBase_1.useArSyncFetch;
5
+ const hooksBase_2 = require("../core/hooksBase");
6
+ const ArSyncModel_1 = require("./ArSyncModel");
7
+ function useArSyncModel(request) {
8
+ return hooksBase_2.useArSyncModelWithClass(ArSyncModel_1.default, request);
9
+ }
10
+ exports.useArSyncModel = useArSyncModel;
data/tree/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import ArSyncModel from './ArSyncModel';
2
+ export default ArSyncModel;
data/tree/index.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ArSyncModel_1 = require("./ArSyncModel");
4
+ exports.default = ArSyncModel_1.default;
data/tsconfig.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "incremental": true,
4
+ "outDir": ".",
5
+ "rootDir": "./src",
6
+ "module": "commonjs",
7
+ "target": "es2017",
8
+ "strictNullChecks": true,
9
+ "noUnusedLocals": true,
10
+ "noUnusedParameters": true,
11
+ "declaration": true
12
+ },
13
+ "include": ["src/**/*"],
14
+ "exclude": ["node_modules"]
15
+ }
@@ -0,0 +1,7 @@
1
+ (function (){
2
+ var modules = { actioncable: window.ActionCable }
3
+ var exports = {}
4
+ function require(name) { return modules[name] }
5
+ <%= File.read File.dirname(__FILE__) + '/../../../core/ActioncableAdapter.js' %>
6
+ window.ArSyncActionCableAdapter = ActionCableAdapter
7
+ }())
@@ -0,0 +1,17 @@
1
+ (function (){
2
+ var exports = {}
3
+ var modules = {}
4
+ function require(name) { return modules[name] }
5
+ <% require = -> (path) { path = File.dirname(__FILE__) + "/../../../#{path}"; depend_on path; File.read path } %>
6
+ <%= require.call 'core/ArSyncApi.js' %>
7
+ window.ArSyncAPI = exports.default
8
+ modules['../core/ArSyncApi'] = { default: exports.default }
9
+ <%= require.call 'core/ConnectionManager.js' %>
10
+ modules['../core/ConnectionManager'] = { default: exports.default }
11
+ <%= require.call 'core/ArSyncModelBase.js' %>
12
+ modules['../core/ArSyncModelBase'] = { default: exports.default }
13
+ <%= require.call 'graph/ArSyncStore.js' %>
14
+ modules['./ArSyncStore'] = { default: exports.default }
15
+ <%= require.call 'graph/ArSyncModel.js' %>
16
+ window.ArSyncModel = ArSyncModel
17
+ }())
@@ -0,0 +1,17 @@
1
+ (function (){
2
+ var exports = {}
3
+ var modules = {}
4
+ function require(name) { return modules[name] }
5
+ <% require = -> (path) { path = File.dirname(__FILE__) + "/../../../#{path}"; depend_on path; File.read path } %>
6
+ <%= require.call 'core/ArSyncApi.js' %>
7
+ window.ArSyncAPI = exports.default
8
+ modules['../core/ArSyncApi'] = { default: exports.default }
9
+ <%= require.call 'core/ConnectionManager.js' %>
10
+ modules['../core/ConnectionManager'] = { default: exports.default }
11
+ <%= require.call 'core/ArSyncModelBase.js' %>
12
+ modules['../core/ArSyncModelBase'] = { default: exports.default }
13
+ <%= require.call 'tree/ArSyncStore.js' %>
14
+ modules['./ArSyncStore'] = { default: exports.default }
15
+ <%= require.call 'tree/ArSyncModel.js' %>
16
+ window.ArSyncModel = ArSyncModel
17
+ }())
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ar_sync
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - tompng
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-05-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ar_serializer
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: ActiveRecord data synchronized with frontend DataStore
84
+ email:
85
+ - tomoyapenguin@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - ".travis.yml"
92
+ - Gemfile
93
+ - Gemfile.lock
94
+ - LICENSE.txt
95
+ - README.md
96
+ - Rakefile
97
+ - ar_sync.gemspec
98
+ - bin/console
99
+ - bin/setup
100
+ - core/ActioncableAdapter.d.ts
101
+ - core/ActioncableAdapter.js
102
+ - core/ArSyncApi.d.ts
103
+ - core/ArSyncApi.js
104
+ - core/ArSyncModelBase.d.ts
105
+ - core/ArSyncModelBase.js
106
+ - core/ConnectionAdapter.d.ts
107
+ - core/ConnectionAdapter.js
108
+ - core/ConnectionManager.d.ts
109
+ - core/ConnectionManager.js
110
+ - core/DataType.d.ts
111
+ - core/DataType.js
112
+ - core/hooksBase.d.ts
113
+ - core/hooksBase.js
114
+ - graph/ArSyncModel.d.ts
115
+ - graph/ArSyncModel.js
116
+ - graph/ArSyncStore.d.ts
117
+ - graph/ArSyncStore.js
118
+ - graph/hooks.d.ts
119
+ - graph/hooks.js
120
+ - graph/index.d.ts
121
+ - graph/index.js
122
+ - lib/ar_sync.rb
123
+ - lib/ar_sync/class_methods.rb
124
+ - lib/ar_sync/collection.rb
125
+ - lib/ar_sync/config.rb
126
+ - lib/ar_sync/core.rb
127
+ - lib/ar_sync/field.rb
128
+ - lib/ar_sync/instance_methods.rb
129
+ - lib/ar_sync/rails.rb
130
+ - lib/ar_sync/type_script.rb
131
+ - lib/ar_sync/version.rb
132
+ - lib/generators/ar_sync/install/install_generator.rb
133
+ - lib/generators/ar_sync/types/types_generator.rb
134
+ - package-lock.json
135
+ - package.json
136
+ - src/core/ActioncableAdapter.ts
137
+ - src/core/ArSyncApi.ts
138
+ - src/core/ArSyncModelBase.ts
139
+ - src/core/ConnectionAdapter.ts
140
+ - src/core/ConnectionManager.ts
141
+ - src/core/DataType.ts
142
+ - src/core/hooksBase.ts
143
+ - src/graph/ArSyncModel.ts
144
+ - src/graph/ArSyncStore.ts
145
+ - src/graph/hooks.ts
146
+ - src/graph/index.ts
147
+ - src/tree/ArSyncModel.ts
148
+ - src/tree/ArSyncStore.ts
149
+ - src/tree/hooks.ts
150
+ - src/tree/index.ts
151
+ - tree/ArSyncModel.d.ts
152
+ - tree/ArSyncModel.js
153
+ - tree/ArSyncStore.d.ts
154
+ - tree/ArSyncStore.js
155
+ - tree/hooks.d.ts
156
+ - tree/hooks.js
157
+ - tree/index.d.ts
158
+ - tree/index.js
159
+ - tsconfig.json
160
+ - vendor/assets/javascripts/ar_sync_actioncable_adapter.js.erb
161
+ - vendor/assets/javascripts/ar_sync_graph.js.erb
162
+ - vendor/assets/javascripts/ar_sync_tree.js.erb
163
+ homepage: https://github.com/tompng/ar_sync
164
+ licenses:
165
+ - MIT
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ requirements: []
182
+ rubyforge_project:
183
+ rubygems_version: 2.7.3
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: ActiveRecord - JavaScript Sync
187
+ test_files: []