nutella_framework 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/framework_components/main_interface/main_interface_bot.rb +16 -34
  4. data/framework_components/main_interface/startup +1 -1
  5. data/framework_components/main_interface/views/index.erb +4 -2
  6. data/framework_components/order.json +1 -2
  7. data/lib/commands/start.rb +12 -13
  8. data/lib/commands/stop.rb +5 -5
  9. data/lib/commands/util/components_starter.rb +6 -10
  10. data/lib/config/runlist.rb +24 -4
  11. data/nutella_framework.gemspec +32 -32
  12. metadata +31 -31
  13. /data/{framework_components → example_framework_components}/example_framework_web_interface/index.html +0 -0
  14. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/.npmignore +0 -0
  15. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/.travis.yml +0 -0
  16. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/LICENSE +0 -0
  17. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/README.md +0 -0
  18. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js +0 -0
  19. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js.map +0 -0
  20. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/examples/browser_hello_world.html +0 -0
  21. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/examples/node_hello_world.js +0 -0
  22. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/gulpfile.js +0 -0
  23. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/package.json +0 -0
  24. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/app_core.js +0 -0
  25. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/app_core_browser.js +0 -0
  26. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/app_log.js +0 -0
  27. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/app_net.js +0 -0
  28. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/app_persist.js +0 -0
  29. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/fr_core_browser.js +0 -0
  30. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/fr_log.js +0 -0
  31. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/fr_net.js +0 -0
  32. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i.js +0 -0
  33. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i_browser.js +0 -0
  34. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib.js +0 -0
  35. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib_browser.js +0 -0
  36. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/run_log.js +0 -0
  37. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/run_net.js +0 -0
  38. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/run_persist.js +0 -0
  39. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/src/util/net.js +0 -0
  40. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/test/nutella.test.js +0 -0
  41. /data/{framework_components → example_framework_components}/example_framework_web_interface/node_modules/nutella_lib/test/runner.html +0 -0
  42. /data/{framework_components → example_framework_components}/example_framework_web_interface/package.json +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53e51e0434410cc126a0c03fcf62f3e1a5bb74f7
4
- data.tar.gz: 6445076511b62bb27db27ac8e29f7e2b5d651fb0
3
+ metadata.gz: 933ca5088159355384234722f174219a67f9403c
4
+ data.tar.gz: e5c2f0a8a56a2b6fec12d7a571b4b62fa7f353b0
5
5
  SHA512:
6
- metadata.gz: 631be6578b0806ea89f4168ef984949e31b21d2279804ec6c1c7b7175029b564c6e8a52a1633b59c50dbcfa4b15810c5c930bd9acc9fa365420ecbced5d9af48
7
- data.tar.gz: 04aa409a5cdbfdf9956cff54a24af1e774c1abb7e397eb4fe7c0dcf8577c86910398293a24fc1419af4c3b7a971df295435cc5a05063d378053db0c14fa0d9ba
6
+ metadata.gz: 9e636e63fccaf290b855accf22ad0a143adbee396f930b74921d07fbbecf7fb3f33c27f952903ceffce758b4b63e77ada66e5e4466b10e6b84a323a40210b81b
7
+ data.tar.gz: 18a530e4577e7da81d1a2c99765c6dac345cbf01cbbf57eeb6491b2be35690f0f3bee0ed059634008d7b4435209821024ca55a10f9ce1154a7922f60e6214aac
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.8
1
+ 0.4.9
@@ -2,45 +2,38 @@ require 'json'
2
2
  require 'sinatra'
3
3
  require 'nokogiri'
4
4
 
5
- # Configuration file and runlist (runlist as global)
6
- config_file = ARGV[0]
7
- $runlist_file = ARGV[1]
8
-
9
- # Try to parse the both config file and runlist and terminate if we can't
10
- begin
11
- config_h = JSON.parse(IO.read(config_file))
12
- JSON.parse(IO.read($runlist_file))
13
- rescue
14
- # something went wrong
15
- abort 'Impossible to parse configuration and/or runlist files!'
16
- end
5
+ require_relative '../../lib/config/runlist'
6
+ require_relative '../../lib/config/config'
7
+ require_relative '../../nutella_lib/framework_core'
8
+
17
9
 
18
10
  # Set Sinatra to run in production mode
19
11
  set :environment, :production
20
12
 
21
13
  # Set Sinatra's port to nutella's main_interface_port
22
- set :port, config_h['main_interface_port']
14
+ set :port, Nutella.config['main_interface_port']
23
15
 
24
16
 
17
+ # Routes -------------------------------------------------------------------------
25
18
 
26
19
 
27
20
  # Display the form to input the app_id and run_id
28
21
  get '/' do
29
- send_file 'public/index.html'
22
+ send_file File.join(File.dirname(__FILE__), 'public/index.html')
30
23
  end
31
24
 
25
+
32
26
  # Redirect if there is no slash after the run_id
33
27
  get '/:app_id/:run_id' do
34
28
  redirect "#{request.url}/"
35
29
  end
36
30
 
37
-
38
31
  # Renders the interfaces summary page for the run
39
32
  get '/:app_id/:run_id/' do
40
33
  # Parse the app_id and run_id from URL and extract the run path from runlist.json
41
34
  @app_id = params[:app_id]
42
35
  @run_id = params[:run_id]
43
- @app_path = get_app_path @app_id
36
+ @app_path = Nutella.runlist.app_path @app_id
44
37
  # If there is no app with this name, render error page
45
38
  return erb( :not_found_404, :locals => {:not_found_type => 'run'} ) if @app_path.nil?
46
39
  # To generate the 'index.erb' we need to load a bunch of details
@@ -51,25 +44,25 @@ get '/:app_id/:run_id/' do
51
44
  erb :index
52
45
  end
53
46
 
47
+
54
48
  # Redirect if there is a slash after the interface
55
49
  get '/:app_id/:run_id/:interface/' do
56
50
  redirect "#{request.url[0..-2]}"
57
51
  end
58
52
 
59
-
60
53
  # Serves the index.html file for each individual interface augmented with nutella query string parameters
61
54
  get '/:app_id/:run_id/runs/:interface' do
62
55
  # Parse the app_id and run_id from URL and extract the run path from runlist.json
63
56
  app_id = params[:app_id]
64
57
  run_id = params[:run_id]
65
58
  interface = params[:interface]
66
- app_path = get_app_path app_id
59
+ app_path = Nutella.runlist.app_path app_id
67
60
  # Compose the path of interface index file passing the nutella parameters
68
61
  index_file_path = "#{app_path}/interfaces/#{interface}/index.html"
69
62
  # If the index file doesn't exist, render error page
70
63
  return erb( :not_found_404, :locals => {:not_found_type => 'idx'} ) unless File.exist? index_file_path
71
64
  # If the index file exists, compose query string and redirect
72
- index_with_query_url = "#{request.path}/index.html?broker=#{config_h['broker']}&app_id=#{app_id}&run_id=#{run_id}"
65
+ index_with_query_url = "#{request.path}/index.html?broker=#{Nutella.config['broker']}&app_id=#{app_id}&run_id=#{run_id}"
73
66
  redirect index_with_query_url
74
67
  end
75
68
 
@@ -79,7 +72,7 @@ get '/:app_id/:run_id/runs/:interface/*' do
79
72
  app_id = params[:app_id]
80
73
  interface = params[:interface]
81
74
  relative_file_path = params[:splat][0]
82
- app_path = get_app_path app_id
75
+ app_path = Nutella.runlist.app_path app_id
83
76
  # Compose the path of the file we are trying to serve
84
77
  file_path = "#{app_path}/interfaces/#{interface}/#{relative_file_path}"
85
78
  # If the file we are trying to serve doesn't exist, render error page
@@ -98,7 +91,7 @@ get '/:app_id/:run_id/framework/:interface' do
98
91
  # If the index file doesn't exist, render error page
99
92
  return erb( :not_found_404, :locals => {:not_found_type => 'idx'} ) unless File.exist? index_file_path
100
93
  # If the index file exists, compose query string and redirect
101
- index_with_query_url = "#{request.path}/index.html?broker=#{config_h['broker']}&app_id=#{app_id}&run_id=#{run_id}"
94
+ index_with_query_url = "#{request.path}/index.html?broker=#{Nutella.config['broker']}&app_id=#{app_id}&run_id=#{run_id}"
102
95
  redirect index_with_query_url
103
96
  end
104
97
 
@@ -117,19 +110,8 @@ end
117
110
 
118
111
  # Utility functions -------------------------------------------------------------------------
119
112
 
120
- # Utility function:
121
- # Gets the path associated with a certain application
122
- def get_app_path( app_id )
123
- begin
124
- runs_h = JSON.parse(IO.read($runlist_file))
125
- runs_h[app_id]['path']
126
- rescue
127
- nil
128
- end
129
- end
130
113
 
131
- # Utility function:
132
- # Loads all the details for all interfaces and stores them into an array of hashes
114
+ # Loads all the details for all run interfaces and stores them into an array of hashes
133
115
  def load_interfaces_details( app_path )
134
116
  interfaces = Array.new
135
117
  interfaces_path = "#{app_path}/interfaces/"
@@ -140,6 +122,7 @@ def load_interfaces_details( app_path )
140
122
  end
141
123
 
142
124
 
125
+ # Loads all the details for all framework interfaces and stores them into an array of hashes
143
126
  def load_framework_interfaces
144
127
  interfaces = Array.new
145
128
  components_directory = "#{File.dirname(__FILE__)}/../"
@@ -150,7 +133,6 @@ def load_framework_interfaces
150
133
  end
151
134
 
152
135
 
153
- # Utility function:
154
136
  # Extracts name, description and folder for a single interface from it's index.html
155
137
  def extract_interface_info( interfaces_path, iface_dir )
156
138
  iface_properties = Hash.new
@@ -1,5 +1,5 @@
1
1
  #!/bin/sh
2
2
 
3
3
  BASEDIR=$(dirname $0)
4
- ruby $BASEDIR/main_interface_bot.rb $1 $2 > /dev/null 2>&1 &
4
+ ruby $BASEDIR/main_interface_bot.rb > /dev/null 2>&1 &
5
5
  echo $! > $BASEDIR/.pid
@@ -37,9 +37,11 @@
37
37
  </div>
38
38
  <% end %>
39
39
 
40
- <!-- Framework level interfaces -->
40
+ <% unless @interfaces.empty? %>
41
+ <hr>
42
+ <% end %>
41
43
 
42
- <hr>
44
+ <!-- Framework level interfaces -->
43
45
  <div class="row">
44
46
  <h2>Framework level interfaces</h2>
45
47
  </div>
@@ -1,6 +1,5 @@
1
- // The file order.json contains an array of components name.
2
- // If this file exists, nutella will start the framework components in that order
3
1
  [
2
+ "logging_bot",
4
3
  "runs_list_bot",
5
4
  "main_interface"
6
5
  ]
@@ -27,11 +27,12 @@ module Nutella
27
27
  return
28
28
  end
29
29
 
30
- return unless add_to_run_list( app_id, run_id, app_path )
30
+ return if run_exist?( app_id, run_id)
31
31
 
32
32
  return unless start_all_components(app_id, app_path, run_id, params)
33
33
 
34
- # Output messages
34
+ return unless Nutella.runlist.add?(app_id, run_id, app_path)
35
+
35
36
  print_confirmation(run_id, params, app_id, app_path)
36
37
  end
37
38
 
@@ -75,18 +76,17 @@ module Nutella
75
76
  end
76
77
 
77
78
 
78
- # Check that the run is unique and add it to the list of runs
79
- # If it's not, return (without adding the run to the list of course)
80
- def add_to_run_list( app_id, run_id, prj_dir )
81
- unless Nutella.runlist.add?(app_id, run_id, prj_dir)
82
- # If the run_id is already in the list, check that it's actually live
79
+ # Check that the run_id we are trying to start has not been started already
80
+ def run_exist?( app_id, run_id)
81
+ if Nutella.runlist.include?(app_id, run_id)
82
+ # If the run_id is already in the list, check that it is actually live
83
83
  if Tmux.session_exist? Tmux.session_name(app_id, run_id)
84
84
  console.error 'Impossible to start nutella app: an instance of this app with the same run_id is already running!'
85
85
  console.error "You might want to kill it with 'nutella stop #{run_id}'"
86
- return false
86
+ return true
87
87
  end
88
88
  end
89
- true
89
+ false
90
90
  end
91
91
 
92
92
 
@@ -106,7 +106,7 @@ module Nutella
106
106
 
107
107
  def print_confirmation( run_id, params, app_id, app_path )
108
108
  # If there are no run-level bots to start, do not create the run and error out
109
- if run_level_bots_list(app_path, params).empty?
109
+ if ComponentsList.run_level_bots_list(app_path, params).empty?
110
110
  console.warn 'This run doesn\'t seem to have any components. No run was created.'
111
111
  return
112
112
  end
@@ -127,8 +127,7 @@ module Nutella
127
127
  console.success "Do `tmux attach-session -t #{Tmux.session_name(app_id,run_id)}` to monitor your bots."
128
128
  console.success "Go to http://localhost:#{Nutella.config['main_interface_port']}/#{app_id}/#{run_id} to access your interfaces"
129
129
  end
130
-
130
+
131
131
  end
132
-
133
- end
134
132
 
133
+ end
data/lib/commands/stop.rb CHANGED
@@ -39,11 +39,11 @@ module Nutella
39
39
  # Output success message
40
40
  print_success_message(app_id, run_id, 'stopped')
41
41
  end
42
-
43
-
42
+
43
+
44
44
  private
45
45
 
46
-
46
+
47
47
  def remove_from_run_list( app_id, run_id )
48
48
  unless Nutella.runlist.delete? app_id, run_id
49
49
  console.warn "Run #{run_id} doesn't exist. Impossible to stop it."
@@ -67,7 +67,7 @@ module Nutella
67
67
 
68
68
  def stop_framework_components
69
69
  nutella_components_dir = "#{Nutella::NUTELLA_HOME}framework_components"
70
- for_each_component_in_dir nutella_components_dir do |component|
70
+ ComponentsList.for_each_component_in_dir nutella_components_dir do |component|
71
71
  pid_file_path = "#{nutella_components_dir}/#{component}/.pid"
72
72
  kill_process_with_pid pid_file_path
73
73
  end
@@ -96,6 +96,6 @@ module Nutella
96
96
  File.delete pid_file_path
97
97
  end
98
98
  end
99
-
99
+
100
100
  end
101
101
  end
@@ -51,9 +51,9 @@ class ComponentsStarter
51
51
  app_bots_list = Nutella.current_app.config['app_bots']
52
52
  bots_dir = "#{app_path}/bots/"
53
53
  # If app bots have been started already, then do nothing
54
- unless Tmux.session_exist? Tmux.app_bot_session_name app_id
54
+ unless Nutella::Tmux.session_exist? Nutella::Tmux.app_bot_session_name app_id
55
55
  # Start all app bots in the list into a new tmux session
56
- tmux = Tmux.new app_id, nil
56
+ tmux = Nutella::Tmux.new app_id, nil
57
57
  ComponentsList.for_each_component_in_dir bots_dir do |bot|
58
58
  unless app_bots_list.nil? || !app_bots_list.include?( bot )
59
59
  # If there is no 'startup' script output a warning (because
@@ -73,7 +73,7 @@ class ComponentsStarter
73
73
 
74
74
  def self.start_run_bots( bots_list, app_path, app_id, run_id )
75
75
  # Create a new tmux instance for this run
76
- tmux = Tmux.new app_id, run_id
76
+ tmux = Nutella::Tmux.new app_id, run_id
77
77
  # Fetch bots dir
78
78
  bots_dir = "#{app_path}/bots/"
79
79
  # Start the appropriate bots
@@ -136,13 +136,9 @@ class ComponentsStarter
136
136
  # Component is not running and there is no pid file so we try to start it
137
137
  # and create a new pid file. Note that the pid file is created by
138
138
  # the startup script!
139
- nutella_config_file = "#{Nutella.config['config_dir']}config.json"
140
- runs_list_file = "#{Nutella.config['config_dir']}runlist.json"
141
- if nutella_config_file==nil || runs_list_file==nil
142
- return false
143
- end
144
- # We are passing the configuration file and the run list files paths to the framework components
145
- command = "#{component_dir}/startup #{nutella_config_file} #{runs_list_file}"
139
+ # Framework components are started without any parameters passed to them because they have
140
+ # full access to config, runlist and framework APIs using 'require_relative'
141
+ command = "#{component_dir}/startup"
146
142
  pid = fork
147
143
  exec(command) if pid.nil?
148
144
  # Give it a second so they can start properly
@@ -50,6 +50,16 @@ module Nutella
50
50
  end
51
51
 
52
52
 
53
+ # Returns the path for a certain application
54
+ #
55
+ # @param [String] app_id of the application we want to find the path of
56
+ # @return [String] the path of the app or nil if the app doesn't exist
57
+ def app_path( app_id )
58
+ return nil if @ph[app_id].nil?
59
+ @ph[app_id]['path']
60
+ end
61
+
62
+
53
63
  # Adds a run_id to the runlist
54
64
  #
55
65
  # @param [String] app_id the app_id the run_id belongs to
@@ -100,6 +110,19 @@ module Nutella
100
110
  end
101
111
 
102
112
 
113
+ # Checks if a certain run is contained in the list
114
+ #
115
+ # @param [String] app_id the app_id the run_id belongs to
116
+ # @param [String] run_id the run_if we are checking
117
+ # @return [Boolean] true if the run_id is in the list, false otherwise
118
+ def include? (app_id, run_id)
119
+ # If there is no app, then return false and do nothing
120
+ return false if @ph[app_id].nil?
121
+ # Otherwise check the runs array
122
+ @ph[app_id]['runs'].include? run_id
123
+ end
124
+
125
+
103
126
  # Returns true if the runs list is empty
104
127
  # @return [Boolean] true if the list is empty, false otherwise
105
128
  def empty?
@@ -137,8 +160,5 @@ module Nutella
137
160
  rl.clean_list
138
161
  rl
139
162
  end
140
-
141
- end
142
-
143
-
144
163
 
164
+ end
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: nutella_framework 0.4.8 ruby lib
5
+ # stub: nutella_framework 0.4.9 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "nutella_framework"
9
- s.version = "0.4.8"
9
+ s.version = "0.4.9"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -32,6 +32,36 @@ Gem::Specification.new do |s|
32
32
  "data/startup",
33
33
  "example_framework_components/example_framework_bot/example_framework_bot.rb",
34
34
  "example_framework_components/example_framework_bot/startup",
35
+ "example_framework_components/example_framework_web_interface/index.html",
36
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/.npmignore",
37
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/.travis.yml",
38
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/LICENSE",
39
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/README.md",
40
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js",
41
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js.map",
42
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/browser_hello_world.html",
43
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/node_hello_world.js",
44
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/gulpfile.js",
45
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/package.json",
46
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core.js",
47
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core_browser.js",
48
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_log.js",
49
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_net.js",
50
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_persist.js",
51
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_core_browser.js",
52
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_log.js",
53
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_net.js",
54
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i.js",
55
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i_browser.js",
56
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib.js",
57
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib_browser.js",
58
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_log.js",
59
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_net.js",
60
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_persist.js",
61
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/util/net.js",
62
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/test/nutella.test.js",
63
+ "example_framework_components/example_framework_web_interface/node_modules/nutella_lib/test/runner.html",
64
+ "example_framework_components/example_framework_web_interface/package.json",
35
65
  "framework_components/beacon-cloud-bot/README.md",
36
66
  "framework_components/beacon-cloud-bot/beacon_cloud_bot.rb",
37
67
  "framework_components/beacon-cloud-bot/nutella.json",
@@ -63,36 +93,6 @@ Gem::Specification.new do |s|
63
93
  "framework_components/beacon-cloud-interface/js/react/beacon-table.js",
64
94
  "framework_components/beacon-cloud-interface/js/react/beacon.js",
65
95
  "framework_components/beacon-cloud-interface/nutella.json",
66
- "framework_components/example_framework_web_interface/index.html",
67
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/.npmignore",
68
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/.travis.yml",
69
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/LICENSE",
70
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/README.md",
71
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js",
72
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js.map",
73
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/browser_hello_world.html",
74
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/node_hello_world.js",
75
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/gulpfile.js",
76
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/package.json",
77
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core.js",
78
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core_browser.js",
79
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_log.js",
80
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_net.js",
81
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_persist.js",
82
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_core_browser.js",
83
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_log.js",
84
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_net.js",
85
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i.js",
86
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i_browser.js",
87
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib.js",
88
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib_browser.js",
89
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_log.js",
90
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_net.js",
91
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_persist.js",
92
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/src/util/net.js",
93
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/test/nutella.test.js",
94
- "framework_components/example_framework_web_interface/node_modules/nutella_lib/test/runner.html",
95
- "framework_components/example_framework_web_interface/package.json",
96
96
  "framework_components/logging_bot/logging_bot.rb",
97
97
  "framework_components/logging_bot/startup",
98
98
  "framework_components/logging_bot/utils.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nutella_framework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessandro Gnoli
@@ -227,6 +227,36 @@ files:
227
227
  - data/startup
228
228
  - example_framework_components/example_framework_bot/example_framework_bot.rb
229
229
  - example_framework_components/example_framework_bot/startup
230
+ - example_framework_components/example_framework_web_interface/index.html
231
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/.npmignore
232
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/.travis.yml
233
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/LICENSE
234
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/README.md
235
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js
236
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js.map
237
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/browser_hello_world.html
238
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/node_hello_world.js
239
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/gulpfile.js
240
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/package.json
241
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core.js
242
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core_browser.js
243
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_log.js
244
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_net.js
245
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_persist.js
246
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_core_browser.js
247
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_log.js
248
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_net.js
249
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i.js
250
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i_browser.js
251
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib.js
252
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib_browser.js
253
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_log.js
254
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_net.js
255
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_persist.js
256
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/src/util/net.js
257
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/test/nutella.test.js
258
+ - example_framework_components/example_framework_web_interface/node_modules/nutella_lib/test/runner.html
259
+ - example_framework_components/example_framework_web_interface/package.json
230
260
  - framework_components/beacon-cloud-bot/README.md
231
261
  - framework_components/beacon-cloud-bot/beacon_cloud_bot.rb
232
262
  - framework_components/beacon-cloud-bot/nutella.json
@@ -258,36 +288,6 @@ files:
258
288
  - framework_components/beacon-cloud-interface/js/react/beacon-table.js
259
289
  - framework_components/beacon-cloud-interface/js/react/beacon.js
260
290
  - framework_components/beacon-cloud-interface/nutella.json
261
- - framework_components/example_framework_web_interface/index.html
262
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/.npmignore
263
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/.travis.yml
264
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/LICENSE
265
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/README.md
266
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js
267
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/dist/nutella_lib.js.map
268
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/browser_hello_world.html
269
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/examples/node_hello_world.js
270
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/gulpfile.js
271
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/package.json
272
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core.js
273
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_core_browser.js
274
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_log.js
275
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_net.js
276
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/app_persist.js
277
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_core_browser.js
278
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_log.js
279
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/fr_net.js
280
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i.js
281
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_i_browser.js
282
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib.js
283
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/nutella_lib_browser.js
284
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_log.js
285
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_net.js
286
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/run_persist.js
287
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/src/util/net.js
288
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/test/nutella.test.js
289
- - framework_components/example_framework_web_interface/node_modules/nutella_lib/test/runner.html
290
- - framework_components/example_framework_web_interface/package.json
291
291
  - framework_components/logging_bot/logging_bot.rb
292
292
  - framework_components/logging_bot/startup
293
293
  - framework_components/logging_bot/utils.rb