atome 0.5.6.2.3 → 0.5.6.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/atome/extensions/atome.rb +61 -8
- data/lib/atome/genesis/generators/communication.rb +2 -2
- data/lib/atome/genesis/generators/identity.rb +3 -1
- data/lib/atome/genesis/generators/utility.rb +9 -2
- data/lib/atome/genesis/sparkle.rb +26 -8
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +1 -1
- data/lib/atome_relative.rb +2 -1
- data/lib/eVe/eVe.rb +3 -1
- data/lib/eVe/eVe_relative.rb +3 -1
- data/lib/eVe/lib/init.rb +20 -0
- data/lib/renderers/html/property.rb +0 -8
- data/vendor/assets/application/examples/database_handling.rb +39 -39
- data/vendor/assets/server/atome_server_wasm.rb +37 -37
- data/vendor/assets/server/database.rb +19 -201
- data/vendor/assets/server/eDen.rb +91 -44
- data/vendor/assets/src/js/atome/atome_helpers/communication.js +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 217af8e71c3443f96a514acb39e6b8aaf0b45ebdfe993ebe3dcf521bf4b0e2da
|
4
|
+
data.tar.gz: 3a3cd6668641eadc8261232a3eac694ff7ccdeeb8dc0cf176e930ca28f9c8114
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d20a7b73008b1af5d162ee08874de58af73e0c2d7e0fc4356f248997564d144e44207807a5ac03a240a72f58f57ba1fbbf6efda606aa2e1d5e43d441f11aa949
|
7
|
+
data.tar.gz: 5fff6175f1f55315119d56eba445a7b39b75954afcfa03cf5749da48d25fec6ad5fd85577c5a92bde5addc5da966cb78c4d06be7cf93d7627efffeb3ecc5ac96
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
module ObjectExtension
|
2
3
|
|
3
|
-
# atome extensions
|
4
|
-
class Object
|
5
4
|
def new(params, &bloc)
|
6
5
|
# Genesis = Genesis.Genesis
|
7
6
|
if params.key?(:atome)
|
@@ -42,15 +41,69 @@ class Object
|
|
42
41
|
end
|
43
42
|
render_method = "#{renderer_found}_#{params[:specific]}#{params[:method]}"
|
44
43
|
Genesis.build_render(render_method, &bloc)
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
44
|
+
# elsif params.key?(:callback)
|
45
|
+
# particle_targetted = params[:callback]
|
46
|
+
# Atome.define_method("#{particle_targetted}_callback", option) do
|
47
|
+
# alert option
|
48
|
+
# bloc.call(option)
|
49
|
+
# end
|
51
50
|
end
|
51
|
+
super if defined?(super)
|
52
52
|
end
|
53
53
|
|
54
|
+
end
|
55
|
+
# atome extensions
|
56
|
+
class Object
|
57
|
+
include ObjectExtension
|
58
|
+
# def new(params, &bloc)
|
59
|
+
# # Genesis = Genesis.Genesis
|
60
|
+
# if params.key?(:atome)
|
61
|
+
# if Universe.atome_list.include?(params[:atome])
|
62
|
+
# puts "atome #{params[:atome]} already exist you can't create it"
|
63
|
+
# else
|
64
|
+
# Universe.add_atomes_specificities params[:atome]
|
65
|
+
# Genesis.build_atome(params[:atome], &bloc)
|
66
|
+
# end
|
67
|
+
# elsif params.key?(:particle)
|
68
|
+
# if Universe.particle_list[params[:particle]]
|
69
|
+
# puts "particle #{params[:particle]} already exist you can't create it"
|
70
|
+
# else
|
71
|
+
# Atome.instance_variable_set("@main_#{params[:particle]}", bloc)
|
72
|
+
# # render indicate if the particle needs to be rendered
|
73
|
+
# # store tell the system if it need to store the particle value
|
74
|
+
# # type help the system what type of type the particle will receive and store
|
75
|
+
# Genesis.build_particle(params[:particle], { render: params[:render], return: params[:return],
|
76
|
+
# store: params[:store], type: params[:type],
|
77
|
+
# category: params[:category] }, &bloc)
|
78
|
+
# end
|
79
|
+
#
|
80
|
+
# elsif params.key?(:sanitizer)
|
81
|
+
# Genesis.build_sanitizer(params[:sanitizer], &bloc)
|
82
|
+
# elsif params.key?(:pre)
|
83
|
+
# Atome.instance_variable_set("@pre_#{params[:pre]}", bloc)
|
84
|
+
# elsif params.key?(:post)
|
85
|
+
# Atome.instance_variable_set("@post_#{params[:post]}", bloc)
|
86
|
+
# elsif params.key?(:after)
|
87
|
+
# Atome.instance_variable_set("@after_#{params[:after]}", bloc)
|
88
|
+
# elsif params.key?(:read)
|
89
|
+
# Atome.instance_variable_set("@read_#{params[:read]}", bloc)
|
90
|
+
# elsif params[:renderer]
|
91
|
+
# renderer_found = params[:renderer]
|
92
|
+
# if params[:specific]
|
93
|
+
# Universe.set_atomes_specificities(params)
|
94
|
+
# params[:specific] = "#{params[:specific]}_"
|
95
|
+
# end
|
96
|
+
# render_method = "#{renderer_found}_#{params[:specific]}#{params[:method]}"
|
97
|
+
# Genesis.build_render(render_method, &bloc)
|
98
|
+
# # elsif params.key?(:callback)
|
99
|
+
# # particle_targetted = params[:callback]
|
100
|
+
# # Atome.define_method("#{particle_targetted}_callback", option) do
|
101
|
+
# # alert option
|
102
|
+
# # bloc.call(option)
|
103
|
+
# # end
|
104
|
+
# end
|
105
|
+
# end
|
106
|
+
|
54
107
|
def reorder_particles(hash_to_reorder)
|
55
108
|
# we reorder the hash
|
56
109
|
ordered_keys = %i[renderers id alien type attach int8 unit]
|
@@ -8,8 +8,8 @@ end
|
|
8
8
|
|
9
9
|
new({ particle: :message, category: :communication, type: :hash }) do |params, bloc|
|
10
10
|
params = { data: params } unless params.instance_of? Hash
|
11
|
-
params[:user] = 'dfghg4df5gdfgh654'
|
12
|
-
params[:pass] = 'gfhkzrhgzr4h98948'
|
11
|
+
# params[:user] = 'dfghg4df5gdfgh654'
|
12
|
+
# params[:pass] = 'gfhkzrhgzr4h98948'
|
13
13
|
# instance_variable_set('@message_code', {}) unless instance_variable_get('@message_code')
|
14
14
|
# store_proc= instance_variable_get('@message_code')
|
15
15
|
message_id= "msg_#{Universe.messages.length}"
|
@@ -61,4 +61,6 @@ new(particle: :selected, category: :identity, type: :boolean) do |params|
|
|
61
61
|
end
|
62
62
|
|
63
63
|
new({ particle: :format, category: :identity, type: :string })
|
64
|
-
new({ particle: :alien, category: :identity, type: :string }) #special particel that old alien object
|
64
|
+
new({ particle: :alien, category: :identity, type: :string }) #special particel that old alien object
|
65
|
+
|
66
|
+
new({ particle: :email, category: :identity, type: :string })
|
@@ -115,7 +115,14 @@ new({ particle: :web, category: :utility, type: :string })
|
|
115
115
|
# new({ particle: :metrics, type: :hash })
|
116
116
|
# do not change the line below initialise is a special method
|
117
117
|
new({ initialize: :unit, value: {} })
|
118
|
-
|
118
|
+
new({ particle: :unit, store: false, type: :string, category: :utility }) do |params|
|
119
|
+
params.each do |k, v|
|
120
|
+
@unit[k] = v
|
121
|
+
# now we refresh the particle
|
122
|
+
send(k, send(k))
|
123
|
+
end
|
124
|
+
@unit
|
125
|
+
end
|
119
126
|
new({ particle: :login, category: :utility, type: :string }) do |params|
|
120
127
|
set_current_user(id) if params
|
121
128
|
end
|
@@ -124,7 +131,7 @@ new({ particle: :hyperedit, category: :utility, type: :string })
|
|
124
131
|
new({ particle: :terminal, category: :utility, type: :string })
|
125
132
|
new({ particle: :read, category: :utility, type: :string })
|
126
133
|
new({ particle: :browse, category: :utility, type: :string })
|
127
|
-
new({ particle: :copies, category: :utility, type: :string})
|
134
|
+
new({ particle: :copies, category: :utility, type: :string })
|
128
135
|
new({ particle: :temporary, category: :utility, type: :int })
|
129
136
|
new({ particle: :atomes, category: :utility, type: :string })
|
130
137
|
|
@@ -147,15 +147,33 @@ def atome_genesis
|
|
147
147
|
end
|
148
148
|
|
149
149
|
def init_database # this method is call from JS (atome/communication)
|
150
|
+
# we init the db file eDen
|
151
|
+
A.message({ action: :init_db, data: { database: :eDen } }) do |db_state|
|
152
|
+
puts db_state
|
153
|
+
end
|
150
154
|
|
151
155
|
particles = Universe.particle_list
|
152
156
|
categories = Universe.categories
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
157
|
+
categories.each do |category|
|
158
|
+
A.message({ action: :crate_db_table, data: { table: category } }) do |db_state|
|
159
|
+
puts db_state
|
160
|
+
end
|
161
|
+
end
|
162
|
+
particles_length=particles.length
|
163
|
+
particles.each_with_index do |(particle, infos), index|
|
164
|
+
type = infos[:type]
|
165
|
+
table = infos[:category]
|
166
|
+
@i=1
|
167
|
+
A.message({ action: :create_db_column, data: { table: table, column: particle, type: type } }) do |db_state|
|
168
|
+
@i+=1
|
169
|
+
if @i==particles_length
|
170
|
+
user_login
|
171
|
+
end
|
172
|
+
puts db_state
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
176
|
+
|
159
177
|
end
|
160
178
|
|
161
179
|
def user_login
|
@@ -164,7 +182,7 @@ def user_login
|
|
164
182
|
message({ action: :authentication, data: { email: 'jeezs@atome.one' } }) do |email|
|
165
183
|
puts "email received : #{email}"
|
166
184
|
end
|
167
|
-
message({ action: :authorization, data: { password: password } }) do |
|
168
|
-
puts "
|
185
|
+
message({ action: :authorization, data: { password: password } }) do |pass|
|
186
|
+
puts "password recieved : #{pass}"
|
169
187
|
end
|
170
188
|
end
|
data/lib/atome/version.rb
CHANGED
data/lib/atome.rb
CHANGED
data/lib/atome_relative.rb
CHANGED
@@ -32,5 +32,6 @@ require_relative './renderers/html/index_relative'
|
|
32
32
|
require_relative './renderers/headless/index_relative'
|
33
33
|
require_relative './renderers/server/index_relative'
|
34
34
|
require_relative './atome/helpers/sanitizer'
|
35
|
-
require_relative './eVe/eVe_relative'
|
36
35
|
require_relative './atome/genesis/sparkle'
|
36
|
+
require_relative './eVe/eVe_relative'
|
37
|
+
|
data/lib/eVe/eVe.rb
CHANGED
data/lib/eVe/eVe_relative.rb
CHANGED
data/lib/eVe/lib/init.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EveExtension
|
4
|
+
def new(params, &bloc)
|
5
|
+
if params[:page]
|
6
|
+
alert "alert salut"
|
7
|
+
elsif params[:application]
|
8
|
+
box({ left: 0, right: 0, width: :auto, top: 0, bottom: 0, height: :auto, id: :toto })
|
9
|
+
elsif params[:master]
|
10
|
+
|
11
|
+
end
|
12
|
+
super if defined?(super)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Object
|
17
|
+
include EveExtension # Ajoutez d'abord les extensions de base
|
18
|
+
end
|
19
|
+
|
20
|
+
puts 'eVe ready'
|
@@ -51,11 +51,3 @@ new({ method: :sort, renderer: :html, type: :hash }) do |params|
|
|
51
51
|
html.refresh_table(params)
|
52
52
|
end
|
53
53
|
|
54
|
-
new({ particle: :unit, store: false }) do |params|
|
55
|
-
params.each do |k, v|
|
56
|
-
@unit[k] = v
|
57
|
-
# now we refresh the particle
|
58
|
-
send(k, send(k))
|
59
|
-
end
|
60
|
-
@unit
|
61
|
-
end
|
@@ -1,39 +1,39 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
A.message({ action: :insert, data: { table: :security, particle: :password, data: 'my_pass'} }) do |datas|
|
4
|
-
|
5
|
-
end
|
6
|
-
|
7
|
-
A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs' } }) do |data_received_from_server|
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs2' } })
|
12
|
-
|
13
|
-
A.message({ action: :query, data: { table: :identity } }) do |data_received_from_server|
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
A.message({ action: :query, data: { table: :identity } }) do |data_received|
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs3' } }) do |result|
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs4' } }) do |result|
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
A.message({ action: :insert, data: { table: :security, particle: :name, data: 'john doe' } }) do |data_received_from_server|
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
A.message({ action: :insert, data: { table: :identity, particle: :tit, data: 'dummy' } }) do |data_received_from_server|
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
A.message({ action: :insert, data: { table: :unknown, particle: :name, data: 'dummy2' } }) do |data_received_from_server|
|
38
|
-
|
39
|
-
end
|
1
|
+
# # frozen_string_literal: true
|
2
|
+
#
|
3
|
+
# A.message({ action: :insert, data: { table: :security, particle: :password, data: 'my_pass'} }) do |datas|
|
4
|
+
# puts "0 data received: #{datas}"
|
5
|
+
# end
|
6
|
+
#
|
7
|
+
# A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs' } }) do |data_received_from_server|
|
8
|
+
# puts "1 my first insert #{data_received_from_server}"
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs2' } })
|
12
|
+
#
|
13
|
+
# A.message({ action: :query, data: { table: :identity } }) do |data_received_from_server|
|
14
|
+
# puts "2 another insert : #{data_received_from_server}"
|
15
|
+
# end
|
16
|
+
#
|
17
|
+
# A.message({ action: :query, data: { table: :identity } }) do |data_received|
|
18
|
+
# puts "3 received : #{data_received}"
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs3' } }) do |result|
|
22
|
+
# puts "4 insert done : #{result}"
|
23
|
+
# end
|
24
|
+
#
|
25
|
+
# A.message({ action: :insert, data: { table: :identity, particle: :name, data: 'jeezs4' } }) do |result|
|
26
|
+
# puts "5 last message received: #{result}"
|
27
|
+
# end
|
28
|
+
#
|
29
|
+
# A.message({ action: :insert, data: { table: :security, particle: :name, data: 'john doe' } }) do |data_received_from_server|
|
30
|
+
# puts "6 test 1 : #{data_received_from_server}"
|
31
|
+
# end
|
32
|
+
#
|
33
|
+
# A.message({ action: :insert, data: { table: :identity, particle: :tit, data: 'dummy' } }) do |data_received_from_server|
|
34
|
+
# puts "7 test 2 : #{data_received_from_server}"
|
35
|
+
# end
|
36
|
+
#
|
37
|
+
# A.message({ action: :insert, data: { table: :unknown, particle: :name, data: 'dummy2' } }) do |data_received_from_server|
|
38
|
+
# puts "test 3 : #{data_received_from_server}"
|
39
|
+
# end
|
@@ -26,43 +26,43 @@ class String
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
class Database
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
29
|
+
# class Database
|
30
|
+
# def self.connect_database
|
31
|
+
# if File.exist?("eden.sqlite3")
|
32
|
+
# eden = Sequel.connect("sqlite://eden.sqlite3")
|
33
|
+
# else
|
34
|
+
# eden = Sequel.connect("sqlite://eden.sqlite3")
|
35
|
+
# eden.create_table :atome do
|
36
|
+
# primary_key :atome_id
|
37
|
+
# String :aui
|
38
|
+
# String :id
|
39
|
+
# String :type
|
40
|
+
# String :name
|
41
|
+
# String :content
|
42
|
+
# String :position
|
43
|
+
# String :dimension
|
44
|
+
# String :color
|
45
|
+
# String :right
|
46
|
+
# String :effect
|
47
|
+
# String :shadow
|
48
|
+
# String :border
|
49
|
+
# String :fill
|
50
|
+
# Float :x
|
51
|
+
# Float :xx
|
52
|
+
# Float :y
|
53
|
+
# Float :yy
|
54
|
+
# Float :z
|
55
|
+
# Float :zz
|
56
|
+
# Float :width
|
57
|
+
# Float :height
|
58
|
+
# Float :depth
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# end
|
62
|
+
# eden
|
63
|
+
# end
|
64
|
+
#
|
65
|
+
# end
|
66
66
|
|
67
67
|
class App < Roda
|
68
68
|
# comment below when test will be done
|
@@ -1,217 +1,35 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# database handling for eDen Db
|
4
|
-
|
5
4
|
class Database
|
5
|
+
class << self
|
6
|
+
Sequel.extension :migration
|
6
7
|
|
7
|
-
|
8
|
-
|
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."
|
8
|
+
def db_access
|
9
|
+
Sequel.connect("sqlite://eden.sqlite3")
|
13
10
|
end
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
# def self.create_table(table_name)
|
18
|
-
def self.connect_database
|
19
|
-
if File.exist?("eden.sqlite3")
|
12
|
+
def create_table(table_name)
|
20
13
|
eden = Sequel.connect("sqlite://eden.sqlite3")
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
14
|
+
unless eden.table_exists?(table_name)
|
15
|
+
eden.create_table table_name.to_sym do
|
16
|
+
primary_key "#{table_name}_id".to_sym
|
44
17
|
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
18
|
end
|
19
|
+
end
|
175
20
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
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
|
21
|
+
def create_column(table, column_name, type)
|
22
|
+
eden = Sequel.connect("sqlite://eden.sqlite3")
|
23
|
+
if eden.table_exists?(table)
|
24
|
+
unless eden.schema(table).any? { |column| column.first == column_name }
|
25
|
+
Sequel.migration do
|
26
|
+
change do
|
27
|
+
add_column table, column_name, type
|
28
|
+
end
|
29
|
+
end.apply(eden, :up)
|
30
|
+
end
|
211
31
|
end
|
212
|
-
|
213
32
|
end
|
214
|
-
eden
|
215
33
|
end
|
216
34
|
|
217
35
|
end
|
@@ -3,63 +3,110 @@
|
|
3
3
|
# server utils to handle eDen Db
|
4
4
|
|
5
5
|
class EDen
|
6
|
+
class << self
|
7
|
+
def db_access
|
8
|
+
Database.db_access
|
9
|
+
end
|
6
10
|
|
7
|
-
|
8
|
-
|
9
|
-
|
11
|
+
def terminal(data, message_id)
|
12
|
+
{ data: { message: `#{data}` }, message_id: message_id }
|
13
|
+
end
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
15
|
+
def authorization(data, message_id)
|
16
|
+
db = db_access
|
17
|
+
security_items = db[:security]
|
18
|
+
user_password = data["password"]
|
19
|
+
user_exists = security_items.where(password: user_password).first
|
14
20
|
|
15
|
-
|
16
|
-
|
17
|
-
|
21
|
+
if !user_exists
|
22
|
+
{ return: 'Password not found', message_id: message_id }
|
23
|
+
# Ask to the user if he wants to subscribe
|
24
|
+
# Send the basic template
|
25
|
+
else
|
26
|
+
{ return: 'Password found, connected', message_id: message_id }
|
27
|
+
# Send the user account template
|
28
|
+
end
|
29
|
+
end
|
18
30
|
|
19
|
-
|
20
|
-
|
21
|
-
|
31
|
+
def authentication(data, message_id)
|
32
|
+
# { data: { message: 'login received' }, message_id: message_id }
|
33
|
+
db = db_access
|
34
|
+
identity_items = db[:identity]
|
35
|
+
user_email = data["email"]
|
36
|
+
mail_exists = identity_items.where(email: user_email).first
|
22
37
|
|
23
|
-
|
24
|
-
|
25
|
-
|
38
|
+
if !mail_exists
|
39
|
+
{ return: 'Email not found', message_id: message_id }
|
40
|
+
# { return: user_email, message_id: message_id }
|
41
|
+
# Ask to the user if he wants to subscribe
|
42
|
+
# Send the basic template
|
43
|
+
else
|
44
|
+
{ return: 'Email found, looking for pass', message_id: message_id }
|
45
|
+
# Verify password
|
46
|
+
# If password isn't ok, send error
|
47
|
+
# If the password is ok, send the user account template
|
48
|
+
end
|
49
|
+
end
|
26
50
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
51
|
+
def init_db(_data, message_id)
|
52
|
+
unless File.exist?("eden.sqlite3")
|
53
|
+
Sequel.connect("sqlite://eden.sqlite3")
|
54
|
+
end
|
55
|
+
{ data: { message: 'database initialised' }, message_id: message_id }
|
56
|
+
end
|
57
|
+
|
58
|
+
def crate_db_table(data, message_id)
|
59
|
+
table = data['table']
|
60
|
+
Database.create_table(table)
|
61
|
+
{ data: { message: "table #{table} added" }, message_id: message_id }
|
62
|
+
end
|
63
|
+
|
64
|
+
def create_db_column(data, message_id)
|
65
|
+
table = data['table']
|
66
|
+
column = data['column']
|
67
|
+
type = data['type']
|
68
|
+
Database.create_column(table, column, type)
|
69
|
+
{ data: { message: "column #{column} with type : #{type} added" }, message_id: message_id }
|
70
|
+
end
|
71
|
+
|
72
|
+
def query(data, message_id)
|
73
|
+
identity_table = db_access[data['table'].to_sym]
|
74
|
+
result = identity_table.send(:all).send(:select)
|
75
|
+
{ data: { table: data['table'], infos: result }, message_id: message_id }
|
76
|
+
end
|
32
77
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
78
|
+
def insert(data, message_id)
|
79
|
+
table = data['table'].to_sym
|
80
|
+
particle = data['particle'].to_sym
|
81
|
+
data = data['data']
|
82
|
+
if db_access.table_exists?(table)
|
83
|
+
schema = db_access.schema(table)
|
84
|
+
if schema.any? { |col_def| col_def.first == particle }
|
85
|
+
identity_table = db_access[table.to_sym]
|
86
|
+
identity_table.insert(particle => data)
|
87
|
+
{ data: { message: "column : #{particle}, in table : #{table}, updated with : #{data}" }, message_id: message_id }
|
88
|
+
else
|
89
|
+
{ data: { message: "column not found: #{particle.class}" }, message_id: message_id }
|
90
|
+
end
|
43
91
|
else
|
44
|
-
{ data: { message: "
|
45
|
-
end
|
46
|
-
else
|
47
|
-
{ data: { message: "table not found: #{table.class}" }, message_id: message_id }
|
92
|
+
{ data: { message: "table not found: #{table.class}" }, message_id: message_id }
|
48
93
|
|
94
|
+
end
|
49
95
|
end
|
50
|
-
end
|
51
96
|
|
52
|
-
|
97
|
+
def file(data, message_id)
|
53
98
|
|
54
|
-
|
55
|
-
|
99
|
+
file_content = File.send(data['operation'], data['source'], data['value']).to_s
|
100
|
+
file_content = file_content.gsub("'", "\"")
|
56
101
|
|
57
|
-
|
58
|
-
|
59
|
-
|
102
|
+
file_content = file_content.gsub('#', '\x23')
|
103
|
+
{ data: "=> operation: #{data['operation']}, source: #{data['source']}, content: #{file_content}", message_id: message_id }
|
104
|
+
end
|
60
105
|
|
61
|
-
|
62
|
-
|
63
|
-
|
106
|
+
def safe_send(method_name, data, message_id)
|
107
|
+
method_sym = method_name.to_sym
|
108
|
+
send(method_sym, data, message_id)
|
109
|
+
end
|
64
110
|
end
|
111
|
+
|
65
112
|
end
|
@@ -67,7 +67,7 @@ const communication = {
|
|
67
67
|
|
68
68
|
// now new can exec user code : loadApplicationJs in index.html
|
69
69
|
loadApplicationJs();
|
70
|
-
rubyVMCallback("A.user_login");
|
70
|
+
// rubyVMCallback("A.user_login");
|
71
71
|
};
|
72
72
|
this.websocket.onmessage = function (event) {
|
73
73
|
// console.log(event.data)
|
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.
|
4
|
+
version: 0.5.6.2.5
|
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-
|
11
|
+
date: 2024-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: artoo
|
@@ -465,6 +465,7 @@ files:
|
|
465
465
|
- lib/eVe/documentation/server.md
|
466
466
|
- lib/eVe/eVe.rb
|
467
467
|
- lib/eVe/eVe_relative.rb
|
468
|
+
- lib/eVe/lib/init.rb
|
468
469
|
- lib/eVe/todo.txt
|
469
470
|
- lib/platform_specific/opal/atome_opal_extensions.rb
|
470
471
|
- lib/platform_specific/opal/extensions/color.rb
|