atome 0.5.2.8 → 0.5.3.2

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +7 -1
  3. data/app_builder_helpers/Rakefile +2 -2
  4. data/exe/atome +1 -1
  5. data/lib/atome/atome.rb +28 -26
  6. data/lib/atome/extensions/atome.rb +4 -0
  7. data/lib/atome/extensions/matrix.rb +349 -122
  8. data/lib/atome/genesis/generators/atome.rb +5 -1
  9. data/lib/atome/genesis/generators/identity.rb +43 -13
  10. data/lib/atome/genesis/generators/material.rb +20 -5
  11. data/lib/atome/genesis/generators/time.rb +1 -1
  12. data/lib/atome/genesis/generators/utility.rb +26 -2
  13. data/lib/atome/genesis/genesis.rb +12 -4
  14. data/lib/atome/genesis/sparkle.rb +35 -3
  15. data/lib/atome/helpers/essentials.rb +24 -15
  16. data/lib/atome/helpers/utilities.rb +42 -3
  17. data/lib/atome/kernel/batch.rb +48 -0
  18. data/lib/atome/presets/atome.rb +22 -6
  19. data/lib/atome/renderers/browser/atome.rb +1 -3
  20. data/lib/atome/renderers/browser/browser.rb +14 -1
  21. data/lib/atome/renderers/browser/geometry.rb +10 -2
  22. data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
  23. data/lib/atome/renderers/browser/helpers/web_helper.rb +1 -5
  24. data/lib/atome/renderers/browser/identity.rb +7 -11
  25. data/lib/atome/renderers/browser/material.rb +10 -0
  26. data/lib/atome/renderers/html/atome.rb +2 -0
  27. data/lib/atome/renderers/renderer.rb +3 -2
  28. data/lib/atome/version.rb +1 -1
  29. data/lib/atome.rb +2 -1
  30. data/sig/atome.rbs +14 -0
  31. data/vendor/assets/Rakefile +1 -1
  32. data/vendor/assets/src/css/style.css +6 -6
  33. data/vendor/assets/src/medias/rubies/examples/_2_solve.rb +41 -27
  34. data/vendor/assets/src/medias/rubies/examples/_attach.rb +12 -0
  35. data/vendor/assets/src/medias/rubies/examples/_audio.rb +81 -28
  36. data/vendor/assets/src/medias/rubies/examples/_dataset.rb +191 -111
  37. data/vendor/assets/src/medias/rubies/examples/clone.rb +4 -4
  38. data/vendor/assets/src/medias/rubies/examples/delete.rb +2 -2
  39. data/vendor/assets/src/medias/rubies/examples/drag.rb +2 -1
  40. data/vendor/assets/src/medias/rubies/examples/table.rb +479 -0
  41. data/vendor/assets/src/medias/rubies/examples/to_px.rb +10 -0
  42. metadata +7 -4
  43. data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06b52ecd6bd8075b2aaf377a9738d205c78182440c184176d12d437867c2b5ae
4
- data.tar.gz: 90cd690d288403a1239d4d50ec7043171ca75d3a57b728b1866c34b5967b5d4b
3
+ metadata.gz: d3b3eb14241b108a8fff26a1d336211199a4cf7a133069e399383f8c590be948
4
+ data.tar.gz: 4bab390e92b2b65a180a2537902ca68bbb7a78faed8debf8cbf2e05063647b7f
5
5
  SHA512:
6
- metadata.gz: 223b0c88ae7a5c49c6a368245fdd68a2781c901fd2476eb60d7a1a9f850445d82fe8d842bd9e34a2ee564e577ba2d9f8919f21723394473ed003c6a08573a870
7
- data.tar.gz: 7d5c8bc64d55da198b5f16d40633487d518a4462eab37bc70ccc32feea75462f04fda94072df7cbced6bda1bee60b2060a1809ddabcd2cfe75b055a8518fd564
6
+ metadata.gz: 71670c634ee463c0de14a00749d760174831029b1c6e45df1cb4fd6101ea51f083ff4c895d35a93de28a472bb63feb40ee23cd5c27d12f56571f62e6276654e6
7
+ data.tar.gz: def487b5d20de25b4c112d65d850d94a454651750dfc240a329128b3cfbd42088bb391c29667f7de65297da2ed65bda55dea446ff436580bd3195891818c7947
data/Rakefile CHANGED
@@ -21,7 +21,13 @@ task :re_build do
21
21
  # `cd test/test_app;atome update;atome run`
22
22
  end
23
23
 
24
-
24
+ task :run_browser do
25
+ FileUtils.copy_entry('vendor/assets/src/js/', 'test/test_app/src/js/')
26
+ FileUtils.copy_entry('vendor/assets/src/css/', 'test/test_app/src/css/')
27
+ FileUtils.copy_entry('vendor/assets/src/medias/', 'test/test_app/src/medias/')
28
+ `gem cleanup atome;yes | gem uninstall atome ;gem build atome.gemspec;gem install atome`
29
+ `cd test/test_app;atome update;atome run`
30
+ end
25
31
 
26
32
 
27
33
  task :test_server do
@@ -3,10 +3,10 @@
3
3
  # FIXME: check when creating gem version the new gem is not always fully updated we have to type gem uninstall first
4
4
 
5
5
  require 'opal'
6
- require 'opal-jquery'
6
+ # require 'opal-jquery'
7
7
  require 'opal-browser'
8
8
  require 'parser'
9
- require 'ruby2js'
9
+ # require 'ruby2js'
10
10
  require 'uglifier'
11
11
 
12
12
  Opal.append_path 'app'
data/exe/atome CHANGED
@@ -7,7 +7,7 @@ require 'digest/sha2'
7
7
  # below are the methods needed for atome creation and run
8
8
  def test_path(project_name, arg_name, path)
9
9
  if project_name != 'run' && project_name != 'guard' && !project_name.nil? &&
10
- project_name != 'port:' && project_name != 'server' && project_name != 'build'
10
+ project_name != 'port:' && project_name != 'server' && project_name != 'build'
11
11
  # the line below remove the optional parameters from the project name
12
12
  project_name = project_name.sub(ARGV[ARGV.find_index(arg_name) + 1], '')
13
13
  "#{path}/#{project_name}"
data/lib/atome/atome.rb CHANGED
@@ -20,19 +20,20 @@ class Atome
20
20
  elements[:code] = atomes_proc if atomes_proc
21
21
  @atome = elements
22
22
  # we initiate the rendering, eg for for browser we will call :browser_type generate method in identity.rb file
23
- create_particle(:type)
23
+ create_particle(:type, true, true)
24
+ # set type is a particle method it's dynamically generated at : generator/identity.rb
24
25
  set_type(@atome[:type])
25
26
  collapse
26
27
  end
27
28
  end
28
29
 
29
- def new_particle(element, &method_proc)
30
+ def new_particle(element,store,render, &method_proc)
30
31
  Atome.define_method element do |params = nil, &user_proc|
31
32
  if params || params == false
32
33
  # the line below execute the proc created when using the build_particle method
33
34
  instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
34
35
  params = sanitize(element, params)
35
- create_particle(element)
36
+ create_particle(element,store,render)
36
37
  send("set_#{element}", params, &user_proc)
37
38
  else
38
39
  get_particle(element, &user_proc)
@@ -40,14 +41,17 @@ class Atome
40
41
  end
41
42
  end
42
43
 
43
- def additional_particle_methods(element, &method_proc)
44
+
45
+
46
+ def additional_particle_methods(element,store,render , &method_proc)
44
47
  Atome.define_method "#{element}=" do |params = nil, &user_proc|
45
48
  instance_exec(params, user_proc, &method_proc) if method_proc.is_a?(Proc)
46
49
  params = sanitize(element, params)
47
- particle_creation(element, params, &user_proc)
50
+ particle_creation(element, params, store,render,&user_proc)
48
51
  end
49
52
  end
50
53
 
54
+
51
55
  def atome_creation_pre_treatment(element, params, &user_proc)
52
56
  params = sanitize(element, params)
53
57
  create_atome(element)
@@ -73,20 +77,16 @@ class Atome
73
77
  end
74
78
  end
75
79
 
76
- def run_optional_proc(proc_name, atome = self, value = '', &user_proc)
80
+ def run_optional_proc(proc_name, atome = self, element, &user_proc)
81
+ params=instance_variable_get("@#{element}")
77
82
  option_found = Universe.get_optional_method(proc_name)
78
- atome.instance_exec(value, user_proc, atome, &option_found) if option_found.is_a?(Proc)
83
+ atome.instance_exec(params, user_proc, atome, &option_found) if option_found.is_a?(Proc)
79
84
  end
80
85
 
81
- def inject_value(element, value)
82
- # attention : please keep the method 'inject_value' available as it is sometimes needed to access it directly
83
- @atome[element] = value
84
- end
85
86
 
86
87
  def store_value(element)
87
- # this method save the value of the particle and broadcast to the atomes listed in broadcast
88
- broadcasting(element, @atome[element])
89
- inject_value(element, @atome[element])
88
+ params=instance_variable_get("@#{element}")
89
+ @atome[element] = params
90
90
  end
91
91
 
92
92
  public
@@ -99,28 +99,30 @@ class Atome
99
99
  @real_atome[@property] = value
100
100
  end
101
101
 
102
- def particle_creation(element, params, &user_proc)
102
+ def particle_creation(element, params,store,render, &user_proc)
103
103
  return false unless security_pass(element, params)
104
-
105
104
  # we create a proc holder of any new particle if user pass a bloc
106
105
  store_code_bloc(element, &user_proc) if user_proc
107
- # we store the params immediately into the atome so optionals methods can access and modify it
108
- @atome[element] = params
109
- run_optional_proc("pre_render_#{@atome[:type]}".to_sym, self, @atome[element], &user_proc)
110
- run_optional_proc("pre_render_#{element}".to_sym, self, @atome[element], &user_proc)
111
- rendering(element, @atome[element], &user_proc)
112
- run_optional_proc("post_render_#{@atome[:type]}".to_sym, self, @atome[element], &user_proc)
113
- run_optional_proc("post_render_#{element}".to_sym, self, @atome[element], &user_proc)
114
- store_value(element)
106
+ # Params is now an instance variable so it should be passed thru different methods
107
+ instance_variable_set("@#{element}", params)
108
+ run_optional_proc("pre_render_#{@atome[:type]}".to_sym, self, element, &user_proc)
109
+ run_optional_proc("pre_render_#{element}".to_sym, self, element, &user_proc)
110
+ rendering(element, &user_proc) if render
111
+ run_optional_proc("post_render_#{@atome[:type]}".to_sym, self, element, &user_proc)
112
+ run_optional_proc("post_render_#{element}".to_sym, self, element, &user_proc)
113
+ broadcasting(element)
114
+ store_value(element) if store
115
115
  self
116
116
  end
117
117
 
118
- def create_particle(element)
118
+
119
+ def create_particle(element,store,render)
119
120
  Atome.define_method "set_#{element}" do |params, &user_proc|
120
- particle_creation(element, params, &user_proc)
121
+ particle_creation(element, params, store,render,&user_proc)
121
122
  end
122
123
  end
123
124
 
125
+
124
126
  def get(element)
125
127
  @atome[element]
126
128
  end
@@ -12,6 +12,10 @@ def circle(params = {}, &proc)
12
12
  grab(:view).circle(params, &proc)
13
13
  end
14
14
 
15
+ def matrix(params = {}, &proc)
16
+ grab(:view).matrix(params, &proc)
17
+ end
18
+
15
19
  # the method below generate Atome method creation at Object level
16
20
  def create_method_at_object_level(element)
17
21
  Object.define_method element do |params = nil, &user_proc|