nutella_framework 0.4.8 → 0.4.9

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 (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