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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a0c675bc2b0d013d5b99b303140dc40e1801de71
4
- data.tar.gz: 959d1aa1394cdf4c7089536061db389accffda4c
3
+ metadata.gz: dfd34ace1726633f7431a3929e2c035a192ee874
4
+ data.tar.gz: b2d9f37f496e89c256ce74b5e4b2d543f473dd1d
5
5
  SHA512:
6
- metadata.gz: 1cf549ff51e45c8d71d4f5ae579b291f907c87f5b16a33c738f6873b8588cf2095246d39108ce66b3ddb7f17d3d4c97c555ddfa2391b1a2a13dfea202ab30316
7
- data.tar.gz: f34c95d23afa3ec14524e2698a519086302b72b247b4a9db7ceef896e950f4c9301dddcde750fcd24e3d1aec19d30d43565fcfd3c5646623a4362d9154d395ff
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
@@ -1,5 +1,3 @@
1
- require 'zurb-foundation'
2
- require 'modular-scale'
3
1
 
4
2
  require 'rbbt'
5
3
  require 'rbbt/rest/main'
@@ -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
 
@@ -0,0 +1,7 @@
1
+ register Sinatra::RbbtRESTWorkflow
2
+
3
+ Rbbt.etc.workflows.find.read.split("\n").each do |workflow|
4
+ next if workflow.empty?
5
+ Workflow.require_workflow workflow
6
+ add_workflow Kernel.const_get(workflow), true
7
+ end if Rbbt.etc.workflows.find.exists?
@@ -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
 
@@ -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
- Math.sqrt(list.compact.inject(0.0){|acc,e| d = e - mean; acc += d * d}) / (list.compact.length - 1)
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
@@ -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
@@ -28,13 +28,8 @@ module Task
28
28
  puts Log.color(:magenta, "Inputs from dependencies:")
29
29
  puts
30
30
  seen = []
31
- deps.each do |dep|
32
- task = Array === dep ? dep.first.tasks[dep[1].to_sym] : workflow.tasks[dep.to_sym]
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.exists?
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.exists?
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'].find
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'].find
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'].find
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
- class WorkflowRest < Sinatra::Base
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
- class WorkflowRest < Sinatra::Base
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
- #{{{ DIRECTORIES
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
- #{{{ SESSIONS
49
- use Rack::Session::Cookie, :key => 'rack.session',
50
- :path => '/',
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
 
@@ -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.23
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-02 00:00:00.000000000 Z
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