atome 0.5.2.8 → 0.5.3.2

Sign up to get free protection for your applications and to get access to all the features.
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|