rbbt-util 5.14.23 → 5.14.24
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.
- checksums.yaml +4 -4
- data/etc/app.d/base.rb +0 -15
- data/etc/app.d/foundation.rb +5 -0
- data/etc/app.d/grid_system.rb +1 -0
- data/etc/app.d/init.rb +0 -2
- data/etc/app.d/resources.rb +11 -7
- data/etc/app.d/workflows.rb +7 -0
- data/lib/rbbt/knowledge_base.rb +1 -1
- data/lib/rbbt/util/misc/math.rb +12 -1
- data/lib/rbbt/workflow/accessor.rb +6 -0
- data/lib/rbbt/workflow/task.rb +22 -0
- data/lib/rbbt/workflow/usage.rb +2 -7
- data/share/config.ru +12 -5
- data/share/rbbt_commands/app/start +1 -1
- data/share/rbbt_commands/workflow/server +10 -38
- data/test/rbbt/util/test_misc.rb +0 -4
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfd34ace1726633f7431a3929e2c035a192ee874
|
4
|
+
data.tar.gz: b2d9f37f496e89c256ce74b5e4b2d543f473dd1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b59fcb177f41b692077052ce358c40bedcbb47fd205ab4d6aea4abe498f4eea895e823159aefbc73e28ab652099b73bf15d11a91e0169b8122887ce93caba070
|
7
|
+
data.tar.gz: cdad69d36ef4306145ff97f8785dd5716ff2fd19a17d48c0dd18f30f7ce7d9b456fe71bff37741d17ce0289d452adab61986e802c51e797c6de520899404312e
|
data/etc/app.d/base.rb
CHANGED
@@ -1,13 +1,5 @@
|
|
1
1
|
#{{{ MODULES AND HELPERS
|
2
2
|
|
3
|
-
register Sinatra::RbbtRESTWorkflow
|
4
|
-
|
5
|
-
Rbbt.etc.workflows.find.read.split("\n").each do |workflow|
|
6
|
-
next if workflow.empty?
|
7
|
-
Workflow.require_workflow workflow
|
8
|
-
add_workflow Kernel.const_get(workflow), true
|
9
|
-
end if Rbbt.etc.workflows.find.exists?
|
10
|
-
|
11
3
|
register Sinatra::RbbtRESTMain
|
12
4
|
register Sinatra::RbbtRESTEntity
|
13
5
|
register Sinatra::RbbtRESTFileServer # Remove to prevent serving files
|
@@ -21,7 +13,6 @@ use Rack::Session::Cookie, :key => 'rack.session',
|
|
21
13
|
:expire_after => 2592000,
|
22
14
|
:secret => "#{self.to_s} secret!!"
|
23
15
|
|
24
|
-
|
25
16
|
#{{{ DIRECTORIES
|
26
17
|
global_var = Rbbt.var.sinatra
|
27
18
|
local_var = Rbbt.var.sinatra.app[$class_name]
|
@@ -35,9 +26,3 @@ set :favourites_dir , local_var.favourites
|
|
35
26
|
set :favourite_lists_dir , local_var.favourite_lists
|
36
27
|
set :favourite_maps_dir , local_var.favourite_maps
|
37
28
|
|
38
|
-
#set :finder, nil
|
39
|
-
|
40
|
-
#{{{ WORKFLOWS
|
41
|
-
|
42
|
-
|
43
|
-
|
@@ -0,0 +1,5 @@
|
|
1
|
+
require 'zurb-foundation'
|
2
|
+
|
3
|
+
#RbbtRESTHelpers.add_sass_load_path "#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/scss/"
|
4
|
+
#RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/foundation")
|
5
|
+
#RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/vendor")
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'zen-grids'
|
data/etc/app.d/init.rb
CHANGED
data/etc/app.d/resources.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
-
EntityRESTHelpers.entity_resources.unshift Rbbt.www.views.find
|
2
|
-
RbbtRESTHelpers.template_resources.unshift Rbbt.www.views.find
|
3
|
-
RbbtRESTHelpers.add_sass_load_path "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets"
|
4
|
-
RbbtRESTHelpers.add_sass_load_path "#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/scss/"
|
5
|
-
RbbtRESTHelpers.add_sass_load_path "#{Gem.loaded_specs['modular-scale'].full_gem_path}/stylesheets/"
|
6
|
-
RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/foundation")
|
7
|
-
RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/vendor")
|
8
1
|
|
2
|
+
EntityRESTHelpers.entity_resources.unshift Rbbt.www.views.find if Rbbt.www.views.exists?
|
3
|
+
RbbtRESTHelpers.template_resources.unshift Rbbt.www.views.find if Rbbt.www.views.exists?
|
4
|
+
|
5
|
+
#load Rbbt.etc['app.d']['foundation.rb'].find if Rbbt.etc['app.d']['foundation.rb'].exists?
|
6
|
+
load Rbbt.etc['app.d']['grid_system.rb'].find if Rbbt.etc['app.d']['grid_system.rb'].exists?
|
7
|
+
|
8
|
+
Compass::Frameworks::ALL.each do |importer|
|
9
|
+
next unless importer.respond_to? :path
|
10
|
+
path = importer.stylesheets_directory
|
11
|
+
RbbtRESTHelpers.add_sass_load_path path
|
12
|
+
end
|
9
13
|
|
data/lib/rbbt/knowledge_base.rb
CHANGED
@@ -192,7 +192,7 @@ class KnowledgeBase
|
|
192
192
|
file, registered_options = registry[name]
|
193
193
|
|
194
194
|
options = Misc.add_defaults options, :persist_file => persist_file, :namespace => namespace, :format => format
|
195
|
-
options = Misc.add_defaults options, registered_options
|
195
|
+
options = Misc.add_defaults options, registered_options if registered_options and registered_options.any?
|
196
196
|
|
197
197
|
persist_options = Misc.pull_keys options, :persist
|
198
198
|
|
data/lib/rbbt/util/misc/math.rb
CHANGED
@@ -26,7 +26,18 @@ module Misc
|
|
26
26
|
def self.sd(list)
|
27
27
|
return nil if list.length < 3
|
28
28
|
mean = mean(list)
|
29
|
-
|
29
|
+
list = list.compact
|
30
|
+
list_length = list.length
|
31
|
+
|
32
|
+
total_square_distance = 0
|
33
|
+
list.each do |value|
|
34
|
+
distance = value - mean
|
35
|
+
total_square_distance += distance * distance
|
36
|
+
end
|
37
|
+
|
38
|
+
variance = total_square_distance / (list_length - 1)
|
39
|
+
Math.sqrt(variance)
|
40
|
+
#Math.sqrt(list.compact.inject(0.0){|acc,e| d = e - mean; acc += d * d; acc}) / (list.compact.length - 1)
|
30
41
|
end
|
31
42
|
|
32
43
|
def self.counts(array)
|
@@ -461,6 +461,12 @@ module Workflow
|
|
461
461
|
[taskname].concat(rec_dependencies(taskname)).inject([]){|acc, tn| acc.concat(task_from_dep(tn).inputs) }.uniq
|
462
462
|
end
|
463
463
|
|
464
|
+
def rec_inputs(taskname)
|
465
|
+
task = task_from_dep(taskname)
|
466
|
+
dep_inputs = task.dep_inputs rec_dependencies(taskname), self
|
467
|
+
task.inputs + dep_inputs.values.flatten
|
468
|
+
end
|
469
|
+
|
464
470
|
def rec_input_defaults(taskname)
|
465
471
|
[taskname].concat(rec_dependencies(taskname)).inject(IndiferentHash.setup({})){|acc, tn|
|
466
472
|
new = (Array === tn ? tn.first.tasks[tn[1].to_sym] : tasks[tn.to_sym]).input_defaults
|
data/lib/rbbt/workflow/task.rb
CHANGED
@@ -70,4 +70,26 @@ module Task
|
|
70
70
|
exec_in *args
|
71
71
|
end
|
72
72
|
end
|
73
|
+
|
74
|
+
def self.dep_inputs(deps, workflow = nil)
|
75
|
+
seen = []
|
76
|
+
task_inputs = {}
|
77
|
+
deps.each do |dep|
|
78
|
+
wf, task = (Array === dep ? [dep.first, dep.first.tasks[dep[1].to_sym]] : [workflow, workflow.tasks[dep.to_sym]])
|
79
|
+
maps = (Array === dep and Hash === dep.last) ? dep.last.keys : []
|
80
|
+
next if seen.include? [wf, task.name]
|
81
|
+
seen << [wf, task.name]
|
82
|
+
new_inputs = task.inputs - maps
|
83
|
+
next unless new_inputs.any?
|
84
|
+
task_inputs[task] = new_inputs
|
85
|
+
end
|
86
|
+
task_inputs
|
87
|
+
end
|
88
|
+
|
89
|
+
def dep_inputs(deps, workflow = nil)
|
90
|
+
task_inputs = Task.dep_inputs deps, workflow
|
91
|
+
task_inputs.each do |task, inputs|
|
92
|
+
inputs.replace (inputs - self.inputs)
|
93
|
+
end
|
94
|
+
end
|
73
95
|
end
|
data/lib/rbbt/workflow/usage.rb
CHANGED
@@ -28,13 +28,8 @@ module Task
|
|
28
28
|
puts Log.color(:magenta, "Inputs from dependencies:")
|
29
29
|
puts
|
30
30
|
seen = []
|
31
|
-
deps
|
32
|
-
|
33
|
-
maps = (Array === dep and Hash === dep.last) ? dep.last.keys : []
|
34
|
-
next if seen.include? task.name
|
35
|
-
seen << task.name
|
36
|
-
new_inputs = (task.inputs - self.inputs - maps)
|
37
|
-
next unless new_inputs.any?
|
31
|
+
task_inputs = dep_inputs deps, workflow
|
32
|
+
task_inputs.each do |task,new_inputs|
|
38
33
|
puts " #{Log.color :yellow, task.name.to_s}:"
|
39
34
|
puts
|
40
35
|
puts SOPT.input_doc(new_inputs, task.input_types, task.input_descriptions, task.input_defaults, true)
|
data/share/config.ru
CHANGED
@@ -3,14 +3,18 @@ require 'rbbt/resource'
|
|
3
3
|
$LOAD_PATH.unshift('lib') unless $LOAD_PATH.include?('lib')
|
4
4
|
|
5
5
|
def load_file(file)
|
6
|
-
if file
|
6
|
+
if Array === file
|
7
|
+
file.each{|f| load_file f }
|
8
|
+
elsif file.exists?
|
7
9
|
Log.info("Loading: " << file)
|
8
10
|
load file
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
12
14
|
def app_eval(app, file)
|
13
|
-
if file
|
15
|
+
if Array === file
|
16
|
+
file.each{|f| app_eval app, f }
|
17
|
+
elsif file.exists?
|
14
18
|
app.class_eval do
|
15
19
|
Log.info("Loading: " << file)
|
16
20
|
eval file.read, nil, file
|
@@ -27,6 +31,9 @@ $app = app = eval "class #{class_name} < Sinatra::Base; self end"
|
|
27
31
|
#{{{ PRE
|
28
32
|
load_file Rbbt.etc['app.d/pre.rb'].find
|
29
33
|
|
34
|
+
#{{{ WORKFLOWS
|
35
|
+
app_eval app, Rbbt.etc['app.d/workflows.rb'].find_all
|
36
|
+
|
30
37
|
#{{{ BASE
|
31
38
|
app_eval app, Rbbt.etc['app.d/base.rb'].find
|
32
39
|
|
@@ -37,16 +44,16 @@ load_file Rbbt.etc['app.d/resources.rb'].find
|
|
37
44
|
load_file Rbbt.etc['app.d/entities.rb'].find
|
38
45
|
|
39
46
|
#{{{ ROUTES
|
40
|
-
app_eval app, Rbbt.etc['app.d/routes.rb'].
|
47
|
+
app_eval app, Rbbt.etc['app.d/routes.rb'].find_all
|
41
48
|
|
42
49
|
#{{{ FINDER
|
43
50
|
app_eval app, Rbbt.etc['app.d/finder.rb'].find
|
44
51
|
|
45
52
|
#{{{ POST
|
46
|
-
load_file Rbbt.etc['app.d/post.rb'].
|
53
|
+
load_file Rbbt.etc['app.d/post.rb'].find_all
|
47
54
|
|
48
55
|
#{{{ PRELOAD
|
49
|
-
load_file Rbbt.etc['app.d/preload.rb'].
|
56
|
+
load_file Rbbt.etc['app.d/preload.rb'].find_all
|
50
57
|
|
51
58
|
#{{{ RUN
|
52
59
|
$title = class_name
|
@@ -18,7 +18,7 @@ Misc.in_dir(app_dir) do
|
|
18
18
|
ENV["RBBT_FINDER"] = "true" if options.include?(:finder)
|
19
19
|
ENV["RACK_ENV"] = options[:environment] if options.include?(:environment)
|
20
20
|
|
21
|
-
config_ru_file = File.exists?('config.ru') ? 'config.ru' : Rbbt.share['config.ru'].find
|
21
|
+
config_ru_file = File.exists?('./config.ru') ? './config.ru' : Rbbt.share['config.ru'].find
|
22
22
|
|
23
23
|
if server == 'unicorn'
|
24
24
|
`unicorn -c #{ Rbbt.share['unicorn.rb'].find } '#{config_ru_file}' -p #{options[:port] || "2887"}`
|
@@ -17,50 +17,22 @@ options = SOPT.get "-e--environment*:-p--port*:-s--server*:-b--bind*:-e--environ
|
|
17
17
|
|
18
18
|
workflow = ARGV.first
|
19
19
|
|
20
|
-
YAML::ENGINE.yamler = 'syck' if defined? YAML::ENGINE and YAML::ENGINE.respond_to? :yamler
|
21
|
-
|
22
20
|
wf = Workflow.require_workflow workflow
|
23
21
|
|
24
|
-
|
25
|
-
self
|
26
|
-
end.get '/' do
|
27
|
-
redirect to(File.join('/', wf.to_s))
|
28
|
-
end
|
29
|
-
|
30
|
-
ENV["RACK_ENV"] = options[:environment] if options.include?(:environment)
|
22
|
+
$title = wf.to_s
|
31
23
|
|
32
|
-
|
33
|
-
|
34
|
-
#{{{ MODULES AND HELPERS
|
35
|
-
register Sinatra::RbbtRESTMain
|
36
|
-
register Sinatra::RbbtRESTWorkflow
|
37
|
-
register Sinatra::RbbtRESTEntity
|
38
|
-
register Sinatra::RbbtRESTKnowledgeBase
|
39
|
-
helpers Sinatra::RbbtMiscHelpers
|
24
|
+
load Rbbt.etc['app.d/init.rb'].find
|
40
25
|
|
41
|
-
|
42
|
-
local_var = Rbbt.var.find(:user)
|
43
|
-
set :cache_dir , local_var.sinatra.cache.find
|
44
|
-
set :file_dir , local_var.sinatra.files.find
|
45
|
-
set :favourites_dir , local_var.sinatra.favourites.find
|
46
|
-
set :favourite_lists_dir , local_var.sinatra.favourite_lists
|
26
|
+
app = class WorkflowRest < Sinatra::Base; self end
|
47
27
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
:expire_after => 2592000,
|
52
|
-
:secret => "Workflow #{Workflow.workflows.inspect} secret!!"
|
53
|
-
|
54
|
-
#{{{ FOUNDATION RESOURCES
|
55
|
-
add_sass_load_path "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets"
|
56
|
-
add_sass_load_path "#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/scss/"
|
57
|
-
add_sass_load_path "#{Gem.loaded_specs['modular-scale'].full_gem_path}/stylesheets/"
|
58
|
-
RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/foundation")
|
59
|
-
RbbtRESTHelpers.javascript_resources << Path.setup("#{Gem.loaded_specs['zurb-foundation'].full_gem_path}/js/vendor")
|
60
|
-
|
61
|
-
$title = "Workflow Scout"
|
62
|
-
use Rack::Deflater
|
28
|
+
app.register Sinatra::RbbtRESTWorkflow
|
29
|
+
app.get '/' do
|
30
|
+
redirect to(File.join('/', wf.to_s))
|
63
31
|
end
|
32
|
+
app.instance_eval Rbbt.etc['app.d/base.rb'].read
|
33
|
+
app.use Rack::Deflater
|
34
|
+
|
35
|
+
load Rbbt.etc['app.d/resources.rb'].find
|
64
36
|
|
65
37
|
WorkflowRest.add_workflow wf, true
|
66
38
|
|
data/test/rbbt/util/test_misc.rb
CHANGED
@@ -382,10 +382,6 @@ eum fugiat quo voluptas nulla pariatur?"
|
|
382
382
|
assert_equal [[:a,1,"A"], [:b,2,"B"]], current
|
383
383
|
end
|
384
384
|
|
385
|
-
def __test_sd
|
386
|
-
assert_equal Math.sqrt(2), Misc.sd([1,3])
|
387
|
-
end
|
388
|
-
|
389
385
|
def test_divide
|
390
386
|
assert_equal 2, Misc.divide(%w(1 2 3 4 5 6 7 8 9),2).length
|
391
387
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.14.
|
4
|
+
version: 5.14.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -131,8 +131,11 @@ files:
|
|
131
131
|
- etc/app.d/base.rb
|
132
132
|
- etc/app.d/entities.rb
|
133
133
|
- etc/app.d/finder.rb
|
134
|
+
- etc/app.d/foundation.rb
|
135
|
+
- etc/app.d/grid_system.rb
|
134
136
|
- etc/app.d/init.rb
|
135
137
|
- etc/app.d/resources.rb
|
138
|
+
- etc/app.d/workflows.rb
|
136
139
|
- lib/rbbt-util.rb
|
137
140
|
- lib/rbbt.rb
|
138
141
|
- lib/rbbt/annotations.rb
|