atome 0.5.6.2.1 → 0.5.6.2.3

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
  SHA256:
3
- metadata.gz: 695be1c2b746dd4a424e74ebb28ff18884fb207fb1de1bd8db9ea732b1fd7574
4
- data.tar.gz: 943340100b85b85ebb8c1d1af89801b89204c810452cb16a860ace32b3e47190
3
+ metadata.gz: 02c478a58bfcce998a040779efdc8970c38a1d5286f8ca942231132493707f7d
4
+ data.tar.gz: 930ebabe49f5824c66e03b3b1b8b53e1def6ad0ce26ff40f2110c07461970f8b
5
5
  SHA512:
6
- metadata.gz: 3cb8f32ad5373a51222e70c87261e5c8cc0d05a0038d2087a5e433aeacd08cdeacfb43fc692ac489d18d82a6471ce4bdced8e647cd1e10e97664bcf6c6bbdf4d
7
- data.tar.gz: bf36e8c816ebbd99fc36aee7d4dd94bbb324e1b5caf1017731e598e1423a0524ab55b0e13b060c8d6d67ab0c6cdaa0368b0d93e6d9e9479257bfec890788e6b0
6
+ metadata.gz: 9161e9c2364dd6eb8e85d44d93872ea43f52e241a19aac7f1f4697890b1d638faa0891a94e85d917a2f8e4e75e5e322170e1bbfab1223ea0d26c1ee32ee33797
7
+ data.tar.gz: 2136de3b80e45cff68ad2c0345baf11d2565473f591c27261c6f2942414ca5d4442338597ee4d29936bb306e707846da991337cd915535a2dce705fd6dc1756a
@@ -151,7 +151,7 @@ def init_database # this method is call from JS (atome/communication)
151
151
  particles = Universe.particle_list
152
152
  categories = Universe.categories
153
153
  atomes = Universe.atomes
154
- # puts "we are here!!"
154
+ puts "we are here!!"
155
155
  # particles.each do |particle, value|
156
156
  # value[:category] = :undefined if value[:category].nil?
157
157
  # A.message({ action: :init_db, particle: particle, type: value[:type], category: value[:category] })
@@ -159,12 +159,12 @@ def init_database # this method is call from JS (atome/communication)
159
159
  end
160
160
 
161
161
  def user_login
162
- user = Universe.current_user
163
- pass = Black_matter.password
164
- message({ action: :login, value: user }) do |msg|
165
- puts "-2 #{msg}"
162
+ # user = Universe.current_user
163
+ password = Black_matter.password
164
+ message({ action: :authentication, data: { email: 'jeezs@atome.one' } }) do |email|
165
+ puts "email received : #{email}"
166
166
  end
167
- message({ action: :pass, value: pass }) do |msg|
168
- puts "-1 #{msg}"
167
+ message({ action: :authorization, data: { password: password } }) do |p|
168
+ puts "2 : #{p}"
169
169
  end
170
170
  end
data/lib/atome/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  # return atome version
4
4
  class Atome
5
- VERSION = '0.5.6.2.1'
5
+ VERSION = '0.5.6.2.3'
6
6
  end
7
7
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # The class Universe is used to retrieve some data needed for the atome framework
3
+ # The class Universe is used to retrieve some data needed for the atome framework
4
4
  # per example you can retrieve the list of all available particles
5
5
  puts Universe.particle_list
6
6
  # this give at the date 14/11/2023 :
@@ -4,18 +4,21 @@ user_password = {global: :all_star, read: { atome: :all_star }, write: { atome:
4
4
 
5
5
  human({ id: :jeezs, login: true, password: user_password, data: { birthday: '10/05/2016' },selection: [], tag: { system: true } , attach: :user_view })
6
6
 
7
-
8
-
9
-
10
-
11
-
12
7
  c = box({ color: :yellow, left: 333 })
13
-
14
8
  c.touch(true) do
15
- c.message({message: 'cd ..;cd server;ls; pwd', action: :terminal })
16
- c.message({message: 'capture.rb', action: :file, option: :read })
17
- c.message({message: 'tototo.rb', action: :file, option: :write, value: :hello })
18
- # b.message({message: 'cd ..;cd server;ls; pwd'})
19
- # c = box({ color: :red, left: 333 })
9
+ c.message({data: 'cd ..;cd server;ls; pwd', action: :terminal }) do |result|
10
+ puts "shell command return: #{result}"
11
+ end
12
+ c.message({data: {source: 'capture.rb',operation: :read }, action: :file}) do |result|
13
+
14
+ puts "file read encoded_content: #{result[:data].gsub('\x23', '#')}"
15
+ end
16
+ c.message({ action: :file,data: {source: 'user_created_file.rb', operation: :write, value: :hello }})do |result|
17
+ puts "file creation result : #{result}"
18
+ end
19
+
20
+ A.message({ action: :terminal , data: 'cd ..;cd server;ls; pwd'}) do |result|
21
+ puts "result : #{result}"
22
+ end
20
23
  end
21
-
24
+ #
@@ -1,27 +1,6 @@
1
- # frozen_string_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
- # If you need to specify another address for the server use A.server_adress
4
- A.server({ address: 'localhost:9292' , type: 'ws'})
5
- user_password = {global: :all_star, read: { atome: :all_star }, write: { atome: :all_star } }
6
-
7
- human({ id: :jeezs, login: true, password: user_password, data: { birthday: '10/05/2016' },selection: [], tag: { system: true } , attach: :user_view })
8
-
9
-
10
- #
11
- # b = box({ color: :red, id: :my_box })
12
- #
13
- # b.touch(true) do
14
- # b.connection('localhost:9292') do |params|
15
- # alert " the connection is : #{params}"
16
- # end
17
- # end
18
-
19
- b = box({ color: :yellow, left: 333 })
20
-
21
- b.touch(true) do
22
- b.message({message: 'cd ..;cd server;ls; pwd', action: :terminal })
23
- b.message({message: 'capture.rb', action: :file, option: :read })
24
- b.message({message: 'tototo.rb', action: :file, option: :write, value: :hello })
25
- # b.message({message: 'cd ..;cd server;ls; pwd'})
26
- # c = box({ color: :red, left: 333 })
27
- end
3
+ my_pass = Black_matter.encode('hell')
4
+ puts my_pass
5
+ checker = Black_matter.check_password('hello,', my_pass)
6
+ puts checker
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # atome server
4
+
4
5
  require 'em/pure_ruby' if RUBY_PLATFORM == 'x64-mingw32'
5
6
  require 'fileutils'
6
7
  require '../src/utilities/aui'
@@ -14,301 +15,12 @@ require 'roda'
14
15
  require 'rufus-scheduler'
15
16
  require 'securerandom'
16
17
  require 'sequel'
17
-
18
- class EDen
19
-
20
- def self.db_access
21
- Database.connect_database
22
- end
23
-
24
- def self.terminal(cmd, option, ws, value, user, pass, message_id)
25
- { return: `#{cmd}`, message_id: message_id }
26
- end
27
-
28
- def self.pass(cmd, option, ws, value, user, pass, message_id)
29
- { return: 'password received', message_id: message_id }
30
- end
31
-
32
- def self.login(cmd, option, ws, value, user, pass, message_id)
33
- { return: 'login received', message_id: message_id }
34
- end
35
-
36
- def self.init_db(cmd, option, ws, value, user, pass, message_id)
37
- # Database.
38
- { return: 'database initialised', message_id: message_id }
39
- end
40
-
41
- def self.query(cmd, option, ws, value, user, pass, message_id)
42
- identity_table = db_access[cmd['table'].to_sym]
43
- result = identity_table.send(:all).send(:select)
44
- { action: :query, data: cmd['table'], return: "==> #{result}", message_id: message_id }
45
- end
46
-
47
- def self.insert(params, option, ws, value, user, pass, message_id)
48
- table = params['table'].to_sym
49
- particle = params['particle'].to_sym
50
- data = params['data']
51
- if db_access.table_exists?(table)
52
- schema = db_access.schema(table)
53
- if schema.any? { |col_def| col_def.first == particle }
54
- identity_table = db_access[table.to_sym]
55
- identity_table.insert(particle => data)
56
- { action: :insert, return: "column : #{particle}, in table : #{table}, updated with : #{data}", message_id: message_id }
57
- else
58
- { action: :insert, return: "column not found: #{particle.class}", message_id: message_id }
59
- end
60
- else
61
- { action: :insert, return: "table not found: #{table.class}", message_id: message_id }
62
-
63
- end
64
- end
65
-
66
- def self.file(source, operation, ws, value, user, pass, message_id)
67
- file_content = File.send(operation, source, value).to_s
68
- file_content = file_content.gsub("'", "\"")
69
- { return: "=> operation: #{operation}, source: #{source} , content : #{file_content}", message_id: message_id }
70
- end
71
-
72
- # return_message = EDen.safe_send(action_requested, data,option, current_user, user_pass)
73
-
74
- def self.safe_send(method_name, *args)
75
- method_sym = method_name.to_sym
76
- eden_methods = EDen.singleton_methods(false) - Object.singleton_methods
77
- if eden_methods.include?(method_sym)
78
- send(method_sym, *args)
79
- else
80
- { return: "forbidden action: #{method_name}" }
81
- end
82
- end
83
- end
18
+ require './eDen'
19
+ require './database'
20
+ require './extensions'
84
21
 
85
22
  Faye::WebSocket.load_adapter('puma')
86
23
 
87
- class String
88
- def is_json?
89
- begin
90
- !JSON.parse(self).nil?
91
- rescue
92
- false
93
- end
94
- end
95
- end
96
-
97
- class Database
98
-
99
- def self.table_exists?(table_name)
100
- # code below must be removed but not fpr now
101
- eden = Sequel.connect("sqlite://eden.sqlite3")
102
- if eden.table_exists?(table_name)
103
- puts "La table #{table_name} existe dans la base de données."
104
- else
105
- puts "La table suivante : #{table_name} n'existe pas dans la base de données."
106
- end
107
-
108
- end
109
-
110
- # def self.create_table(table_name)
111
- def self.connect_database
112
- if File.exist?("eden.sqlite3")
113
- eden = Sequel.connect("sqlite://eden.sqlite3")
114
- # now we test if the table exist
115
- table_exists?(:table_name)
116
- else
117
- eden = Sequel.connect("sqlite://eden.sqlite3")
118
- eden.create_table :atome do
119
- primary_key :atome_id
120
- String :creator
121
- end
122
-
123
- eden.create_table :communication do
124
- primary_key :communication_id
125
- String :connection
126
- JSON :data
127
- JSON :controller
128
- end
129
-
130
- ###################
131
-
132
- Sequel.extension :migration
133
-
134
- Sequel.migration do
135
- change do
136
- add_column :communication, :jesaispas, String
137
- end
138
- end.apply(eden, :up)
139
-
140
- ###################
141
-
142
- eden.create_table :effect do
143
- primary_key :effect_id
144
- Int :smooth
145
- Int :blur
146
- end
147
-
148
- eden.create_table :event do
149
- primary_key :event_id
150
- JSON :touch
151
- Boolean :play
152
- Boolean :pause
153
- Int :time
154
- Boolean :on
155
- Boolean :fullscreen
156
- Boolean :mute
157
- Boolean :drag
158
- Boolean :drop
159
- Boolean :over
160
- String :targets
161
- Boolean :start
162
- Boolean :stop
163
- Time :begin
164
- Time :end
165
- Int :duration
166
- Int :mass
167
- Int :damping
168
- Int :stiffness
169
- Int :velocity
170
- Boolean :repeat
171
- Boolean :ease
172
- Boolean :keyboard
173
- Boolean :resize
174
- Boolean :overflow
175
- end
176
-
177
- eden.create_table :geometry do
178
- primary_key :geometry_id
179
- Int :width
180
- Int :height
181
- Int :size
182
- end
183
-
184
- eden.create_table :hierarchy do
185
- primary_key :hierarchy_id
186
- String :attach
187
- String :attached
188
- String :apply
189
- String :affect
190
- String :detached
191
- String :collect
192
- end
193
-
194
- eden.create_table :identity do
195
- primary_key :identity_id
196
- String :real
197
- String :type
198
- Int :id
199
- String :name
200
- String :firstname
201
- String :email
202
- String :nickname
203
- Boolean :active
204
- String :markup
205
- String :bundle
206
- String :data
207
- String :category
208
- String :selection
209
- Boolean :selected
210
- String :format
211
- String :alien
212
- end
213
-
214
- eden.create_table :material do
215
- primary_key :material_id
216
- String :component
217
- Boolean :edit
218
- String :style
219
- Boolean :hide
220
- Boolean :remove
221
- JSON :classes
222
- Boolean :remove_classes
223
- Int :opacity
224
- String :definition
225
- Int :gradient
226
- Int :border
227
- end
228
-
229
- eden.create_table :property do
230
- primary_key :property_id
231
- String :red
232
- String :green
233
- String :blue
234
- String :alpha
235
- String :diffusion
236
- Boolean :clean
237
- String :insert
238
- Boolean :remove
239
- Int :sort
240
- end
241
-
242
- eden.create_table :security do
243
- primary_key :security_id
244
- String :password
245
- end
246
-
247
- eden.create_table :spatial do
248
- primary_key :spatial_id
249
- Int :left
250
- Int :right
251
- Int :top
252
- Int :bottom
253
- Int :rotate
254
- String :direction
255
- String :center
256
- Int :depth
257
- Int :position
258
- String :organise
259
- String :spacing
260
- Boolean :display
261
- String :layout
262
- end
263
-
264
- eden.create_table :time do
265
- primary_key :time_id
266
- JSON :markers
267
- end
268
-
269
- eden.create_table :utility do
270
- primary_key :utility_id
271
- String :renderers
272
- String :code
273
- Boolean :run
274
- Boolean :delete
275
- Boolean :clear
276
- String :path
277
- String :schedule
278
- String :read
279
- String :cursor
280
- String :preset
281
- JSON :relations
282
- JSON :tag
283
- String :web
284
- JSON :unit
285
- String :initialize
286
- String :login
287
- String :hypertext
288
- String :hyperedit
289
- String :terminal
290
- String :browse
291
- String :copies
292
- Int :temporary
293
- String :atomes
294
- String :match
295
- Boolean :invert
296
- String :option
297
- String :duplicate
298
- String :copy
299
- String :paste
300
- String :backup
301
- String :import
302
- String :compute
303
- String :get
304
- end
305
-
306
- end
307
- eden
308
- end
309
-
310
- end
311
-
312
24
  class App < Roda
313
25
  index_content = File.read("../src/index_server.html")
314
26
  opts[:root] = '../src'
@@ -317,7 +29,7 @@ class App < Roda
317
29
  r.root do
318
30
  if Faye::WebSocket.websocket?(r.env)
319
31
  ws = Faye::WebSocket.new(r.env)
320
- ws.on :open do |event|
32
+ ws.on :open do |_event|
321
33
  ws.send({ return: 'server ready' }.to_json)
322
34
  end
323
35
  ws.on(:message) do |event|
@@ -325,15 +37,10 @@ class App < Roda
325
37
  full_data = JSON.parse(json_string)
326
38
  data = full_data['data']
327
39
  action_requested = full_data['action']
328
- value = full_data['value']
329
- option = full_data['option']
330
- current_user = full_data['user']
331
40
  message_id = full_data['message_id']
332
- user_pass = full_data['pass']['global']
333
- return_message = EDen.safe_send(action_requested, data, option, ws, value, current_user, user_pass, message_id)
41
+ return_message = EDen.safe_send(action_requested, data, message_id)
334
42
  ws.send(return_message.to_json)
335
43
  end
336
-
337
44
  ws.on(:close) do |event|
338
45
  puts "server closed with status #{event.code}"
339
46
  end
@@ -343,4 +50,4 @@ class App < Roda
343
50
  end
344
51
  end
345
52
 
346
- end
53
+ end
@@ -0,0 +1,217 @@
1
+ # frozen_string_literal: true
2
+
3
+ # database handling for eDen Db
4
+
5
+ class Database
6
+
7
+ def self.table_exists?(table_name)
8
+ eden = Sequel.connect("sqlite://eden.sqlite3")
9
+ if eden.table_exists?(table_name)
10
+ puts "La table #{table_name} existe dans la base de données."
11
+ else
12
+ puts "La table suivante : #{table_name} n'existe pas dans la base de données."
13
+ end
14
+
15
+ end
16
+
17
+ # def self.create_table(table_name)
18
+ def self.connect_database
19
+ if File.exist?("eden.sqlite3")
20
+ eden = Sequel.connect("sqlite://eden.sqlite3")
21
+ # now we test if the table exist
22
+ table_exists?(:table_name)
23
+ else
24
+ eden = Sequel.connect("sqlite://eden.sqlite3")
25
+ eden.create_table :atome do
26
+ primary_key :atome_id
27
+ String :creator
28
+ end
29
+
30
+ eden.create_table :communication do
31
+ primary_key :communication_id
32
+ String :connection
33
+ JSON :data
34
+ JSON :controller
35
+ end
36
+
37
+ ###################
38
+
39
+ Sequel.extension :migration
40
+
41
+ Sequel.migration do
42
+ change do
43
+ add_column :communication, :jesaispas, String
44
+ end
45
+ end.apply(eden, :up)
46
+
47
+ ###################
48
+
49
+ eden.create_table :effect do
50
+ primary_key :effect_id
51
+ Int :smooth
52
+ Int :blur
53
+ end
54
+
55
+ eden.create_table :event do
56
+ primary_key :event_id
57
+ JSON :touch
58
+ Boolean :play
59
+ Boolean :pause
60
+ Int :time
61
+ Boolean :on
62
+ Boolean :fullscreen
63
+ Boolean :mute
64
+ Boolean :drag
65
+ Boolean :drop
66
+ Boolean :over
67
+ String :targets
68
+ Boolean :start
69
+ Boolean :stop
70
+ Time :begin
71
+ Time :end
72
+ Int :duration
73
+ Int :mass
74
+ Int :damping
75
+ Int :stiffness
76
+ Int :velocity
77
+ Boolean :repeat
78
+ Boolean :ease
79
+ Boolean :keyboard
80
+ Boolean :resize
81
+ Boolean :overflow
82
+ end
83
+
84
+ eden.create_table :geometry do
85
+ primary_key :geometry_id
86
+ Int :width
87
+ Int :height
88
+ Int :size
89
+ end
90
+
91
+ eden.create_table :hierarchy do
92
+ primary_key :hierarchy_id
93
+ String :attach
94
+ String :attached
95
+ String :apply
96
+ String :affect
97
+ String :detached
98
+ String :collect
99
+ end
100
+
101
+ eden.create_table :identity do
102
+ primary_key :identity_id
103
+ String :real
104
+ String :type
105
+ Int :id
106
+ String :name
107
+ String :firstname
108
+ String :email
109
+ String :nickname
110
+ Boolean :active
111
+ String :markup
112
+ String :bundle
113
+ String :data
114
+ String :category
115
+ String :selection
116
+ Boolean :selected
117
+ String :format
118
+ String :alien
119
+ end
120
+
121
+ eden.create_table :material do
122
+ primary_key :material_id
123
+ String :component
124
+ Boolean :edit
125
+ String :style
126
+ Boolean :hide
127
+ Boolean :remove
128
+ JSON :classes
129
+ Boolean :remove_classes
130
+ Int :opacity
131
+ String :definition
132
+ Int :gradient
133
+ Int :border
134
+ end
135
+
136
+ eden.create_table :property do
137
+ primary_key :property_id
138
+ String :red
139
+ String :green
140
+ String :blue
141
+ String :alpha
142
+ String :diffusion
143
+ Boolean :clean
144
+ String :insert
145
+ Boolean :remove
146
+ Int :sort
147
+ end
148
+
149
+ eden.create_table :security do
150
+ primary_key :security_id
151
+ String :password
152
+ end
153
+
154
+ eden.create_table :spatial do
155
+ primary_key :spatial_id
156
+ Int :left
157
+ Int :right
158
+ Int :top
159
+ Int :bottom
160
+ Int :rotate
161
+ String :direction
162
+ String :center
163
+ Int :depth
164
+ Int :position
165
+ String :organise
166
+ String :spacing
167
+ Boolean :display
168
+ String :layout
169
+ end
170
+
171
+ eden.create_table :time do
172
+ primary_key :time_id
173
+ JSON :markers
174
+ end
175
+
176
+ eden.create_table :utility do
177
+ primary_key :utility_id
178
+ String :renderers
179
+ String :code
180
+ Boolean :run
181
+ Boolean :delete
182
+ Boolean :clear
183
+ String :path
184
+ String :schedule
185
+ String :read
186
+ String :cursor
187
+ String :preset
188
+ JSON :relations
189
+ JSON :tag
190
+ String :web
191
+ JSON :unit
192
+ String :initialize
193
+ String :login
194
+ String :hypertext
195
+ String :hyperedit
196
+ String :terminal
197
+ String :browse
198
+ String :copies
199
+ Int :temporary
200
+ String :atomes
201
+ String :match
202
+ Boolean :invert
203
+ String :option
204
+ String :duplicate
205
+ String :copy
206
+ String :paste
207
+ String :backup
208
+ String :import
209
+ String :compute
210
+ String :get
211
+ end
212
+
213
+ end
214
+ eden
215
+ end
216
+
217
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ # server utils to handle eDen Db
4
+
5
+ class EDen
6
+
7
+ def self.db_access
8
+ Database.connect_database
9
+ end
10
+
11
+ def self.terminal(data, message_id)
12
+ { data: { message: `#{data}` }, message_id: message_id }
13
+ end
14
+
15
+ def self.authorization(_data, message_id)
16
+ { data: { message: 'password received'}, message_id: message_id }
17
+ end
18
+
19
+ def self.authentication(_data, message_id)
20
+ { data: { message: 'login received' }, message_id: message_id }
21
+ end
22
+
23
+ def self.init_db(_data, message_id)
24
+ { data: { message: 'database initialised' }, message_id: message_id }
25
+ end
26
+
27
+ def self.query(data, message_id)
28
+ identity_table = db_access[data['table'].to_sym]
29
+ result = identity_table.send(:all).send(:select)
30
+ { data: { table: data['table'], infos: result }, message_id: message_id }
31
+ end
32
+
33
+ def self.insert(data, message_id)
34
+ table = data['table'].to_sym
35
+ particle = data['particle'].to_sym
36
+ data = data['data']
37
+ if db_access.table_exists?(table)
38
+ schema = db_access.schema(table)
39
+ if schema.any? { |col_def| col_def.first == particle }
40
+ identity_table = db_access[table.to_sym]
41
+ identity_table.insert(particle => data)
42
+ { data: { message: "column : #{particle}, in table : #{table}, updated with : #{data}"}, message_id: message_id }
43
+ else
44
+ { data: { message: "column not found: #{particle.class}" }, message_id: message_id }
45
+ end
46
+ else
47
+ { data: { message: "table not found: #{table.class}" }, message_id: message_id }
48
+
49
+ end
50
+ end
51
+
52
+ def self.file(data, message_id)
53
+
54
+ file_content = File.send(data['operation'], data['source'], data['value']).to_s
55
+ file_content = file_content.gsub("'", "\"")
56
+
57
+ file_content = file_content.gsub('#', '\x23')
58
+ { data: "=> operation: #{data['operation']}, source: #{data['source']}, content: #{file_content}", message_id: message_id }
59
+ end
60
+
61
+ def self.safe_send(method_name, data, message_id)
62
+ method_sym = method_name.to_sym
63
+ send(method_sym, data, message_id)
64
+ end
65
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Object extensions for atome
4
+
5
+ class String
6
+ def is_json?
7
+ begin
8
+ !JSON.parse(self).nil?
9
+ rescue
10
+ false
11
+ end
12
+ end
13
+ end
@@ -70,6 +70,7 @@ const communication = {
70
70
  rubyVMCallback("A.user_login");
71
71
  };
72
72
  this.websocket.onmessage = function (event) {
73
+ // console.log(event.data)
73
74
  rubyVMCallback("A.server_receiver(" + event.data + ")");
74
75
  };
75
76
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6.2.1
4
+ version: 0.5.6.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Eric Godard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-13 00:00:00.000000000 Z
11
+ date: 2024-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: artoo
@@ -622,6 +622,9 @@ files:
622
622
  - vendor/assets/server/atome_server_wasm.rb
623
623
  - vendor/assets/server/capture.rb
624
624
  - vendor/assets/server/config.ru
625
+ - vendor/assets/server/database.rb
626
+ - vendor/assets/server/eDen.rb
627
+ - vendor/assets/server/extensions.rb
625
628
  - vendor/assets/src-tauri/.gitignore
626
629
  - vendor/assets/src-tauri/Cargo.toml
627
630
  - vendor/assets/src-tauri/build.rs