rbbt-util 5.19.11 → 5.19.12

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: d033f774277a3c6644e82ccb1d904d394dd68fe8
4
- data.tar.gz: 654e1dabdcabf1bd94d5ad4bc48f1284ffc26007
3
+ metadata.gz: 9d50592693c2e72df449b2bed576cfce4a6791d5
4
+ data.tar.gz: 31f019642b140c119e08c2e4eb465b6775f4e89b
5
5
  SHA512:
6
- metadata.gz: 9595ff8109bcdaac80a1e2f04eb4516814586de65605a4721ece5f9754d8dcdec31176db1933bf397c2c16d6b99bd66c3c4d638a1c722f45a07b55ea412d2ef5
7
- data.tar.gz: 7c7d186eedf2bf54debecde2057523fb433c7c9c6fcd12fc46a15f14298c614cc497b569b7d40870f3ecda8081b01a1b2948b62e56f59370b921964df48812c5
6
+ metadata.gz: ad859664ea8715a701c3273bc536af07fb139b80c71e69be3a0bf55d53882c0fe821fbbe87da5369a2ad81deceb14fb8866d5ba6d58f377ed92557e5bdf30922
7
+ data.tar.gz: 9ead4f2c55309687b45f0877a3700c06883bab045c1f7f0013d2656f0f6de53a830c111772b07176db49e2f4c3d9de3594e66c2f1d05a5f9405984a082f42df6
@@ -44,13 +44,16 @@ module R
44
44
  end
45
45
 
46
46
  TmpFile.with_file nil, true, :extension => 'svg' do |tmpfile|
47
+
47
48
  data.R <<-EOF, sources, options
48
49
  plot = { #{script} }
49
50
 
50
51
  rbbt.SVG.save('#{tmpfile}', plot, width = #{R.ruby2R width}, height = #{R.ruby2R height})
51
52
  data = NULL
52
53
  EOF
53
- Open.read(tmpfile).gsub(/(glyph\d+-\d+)/, '\1-' + File.basename(tmpfile))
54
+
55
+ Open.read(tmpfile).gsub(/(glyph\d+-\d+)/, '\1-' + File.basename(tmpfile))
56
+
54
57
  end
55
58
  else
56
59
 
@@ -68,7 +71,6 @@ module R
68
71
  end
69
72
 
70
73
  module PNG
71
-
72
74
  def self.ggplotPNG(filename, data, script = nil, width = nil, height = nil, options = {})
73
75
  width ||= 3
74
76
  height ||= 3
@@ -107,6 +109,51 @@ module R
107
109
  plot = { #{script} }
108
110
 
109
111
  ggsave('#{filename}', plot, width = #{R.ruby2R width}, height = #{R.ruby2R height})
112
+ data = NULL
113
+ EOF
114
+ end
115
+
116
+ def self.plot(filename, data, script = nil, width = nil, height = nil, options = {})
117
+ width ||= 3
118
+ height ||= 3
119
+ values = []
120
+
121
+ sources = [:plot, options[:source]].flatten.compact
122
+
123
+ data.each do |k,v|
124
+ v = Array === v ? v : [v]
125
+ next if v == "NA" or v.nil? or v.include? "NA" or v.include? nil
126
+ values = v
127
+ break
128
+ end
129
+
130
+ values = [values] unless Array === values
131
+
132
+ field_classes = values.collect do |v|
133
+ case v
134
+ when FalseClass, TrueClass
135
+ "'logical'"
136
+ when Fixnum, Float
137
+ "'numeric'"
138
+ when String
139
+ if v.strip =~ /^[-+]?[\d\.]+$/
140
+ "'numeric'"
141
+ else
142
+ "'character'"
143
+ end
144
+ when Symbol
145
+ "'factor'"
146
+ else
147
+ ":NA"
148
+ end
149
+ end
150
+
151
+ options[:R_open] ||= "colClasses=c('character'," + field_classes * ", " + ')' if field_classes.any?
152
+
153
+ data.R <<-EOF, :plot, options
154
+ png("#{ filename }", #{ width }, #{ height })
155
+ { #{script} }
156
+ dev.off()
110
157
  data = NULL
111
158
  EOF
112
159
  end
@@ -43,8 +43,14 @@ module Log
43
43
  @mean_max = mean if mean > @mean_max
44
44
  end
45
45
 
46
- str = "#{ Log.color :blue, thr.to_i.to_s } per sec."
47
- str << " #{ Log.color :yellow, mean.to_i.to_s } avg. #{Log.color :yellow, @mean_max.to_i.to_s} max." if @mean_max > 0
46
+ if mean.nil? or mean.to_i > 1
47
+ str = "#{ Log.color :blue, thr.to_i.to_s } per sec."
48
+ str << " #{ Log.color :yellow, mean.to_i.to_s } avg. #{Log.color :yellow, @mean_max.to_i.to_s} max." if @mean_max > 0
49
+ else
50
+ str = "#{ Log.color :blue, (1/thr).ceil.to_s } secs each"
51
+ str << " #{ Log.color :yellow, (1/mean).ceil.to_s } avg. #{Log.color :yellow, (1/@mean_max).ceil.to_s} min." if @mean_max > 0
52
+ end
53
+
48
54
  str
49
55
  end
50
56
 
@@ -41,7 +41,12 @@ module SOPT
41
41
  info = {}
42
42
 
43
43
  inputs = []
44
- opt_str.split(/[:\n]+/).each do |entry|
44
+ if opt_str.include? "\n"
45
+ re = /\n+/
46
+ else
47
+ re = /:/
48
+ end
49
+ opt_str.split(re).each do |entry|
45
50
  entry.strip!
46
51
  next if entry.empty?
47
52
  names, _sep, description = entry.partition /\s+/
@@ -19,7 +19,9 @@ module Task
19
19
  puts
20
20
  end
21
21
 
22
+ selects = []
22
23
  if inputs.any?
24
+ inputs.zip(input_types.values_at(*inputs)).select{|i,t| t.to_sym == :select and input_options[i][:select_options] }.each{|i,t| selects << [i, input_options[i][:select_options]] }
23
25
  puts SOPT.input_doc(inputs, input_types, input_descriptions, input_defaults, true)
24
26
  puts
25
27
  end
@@ -30,6 +32,7 @@ module Task
30
32
  seen = []
31
33
  task_inputs = dep_inputs deps, workflow
32
34
  task_inputs.each do |task,new_inputs|
35
+ task.inputs.zip(task.input_types.values_at(*task.inputs)).select{|i,t| t.to_sym == :select and task.input_options[i][:select_options] }.each{|i,t| selects << [i, task.input_options[i][:select_options]] }
33
36
  puts " #{Log.color :yellow, task.name.to_s}:"
34
37
  puts
35
38
  puts SOPT.input_doc(new_inputs, task.input_types, task.input_descriptions, task.input_defaults, true)
@@ -39,6 +42,15 @@ module Task
39
42
 
40
43
  puts Log.color(:magenta, "Returns: ") << Log.color(:blue, result_type.to_s) << "\n"
41
44
  puts
45
+
46
+ if selects.any?
47
+ puts Log.color(:magenta, "Input options: ") << Log.color(:blue, result_type.to_s) << "\n"
48
+ puts
49
+ selects.each do |input,options|
50
+ puts Log.color(:blue, input.to_s + ": ") << Misc.format_paragraph(options.collect{|o| o.to_s} * ", ") << "\n"
51
+ puts
52
+ end
53
+ end
42
54
  end
43
55
  end
44
56
 
@@ -3,7 +3,36 @@
3
3
  require 'rbbt-util'
4
4
  require 'rbbt/util/simpleopt'
5
5
 
6
- options = SOPT.get "-e--environment*:-p--port*:-s--server*:-f--finder:-R--Rserve_session*:-ho--host*:--views*"
6
+ #options = SOPT.get "-e--environment*:-p--port*:-s--server*:-f--finder:-R--Rserve_session*:-ho--host*:--views*"
7
+
8
+ $0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_commands
9
+
10
+ options = SOPT.setup <<EOF
11
+ Description
12
+
13
+ $ rbbt command command [options] <filename.tsv|->
14
+
15
+ Use - to read from STDIN
16
+
17
+ -h--help Print this help
18
+ -e--environment* Execution environment: production or development
19
+ -ho--host* Host name
20
+ -p--port* TCP port
21
+ -s--server* Server type: thin, webrick, unicorn, etc
22
+ -f--finder Start server with finder functionality
23
+ -R--Rserve_session* Rserve session to use, otherwise start new one
24
+ --views* Directory with view templates
25
+ EOF
26
+
27
+ if options[:help]
28
+ if defined? rbbt_usage
29
+ rbbt_usage
30
+ else
31
+ puts SOPT.usage
32
+ end
33
+ exit 0
34
+ end
35
+
7
36
  options[:Port] ||= options[:port]
8
37
  options[:Host] ||= "0.0.0.0"
9
38
  options[:Bind] ||= "0.0.0.0"
@@ -32,3 +61,14 @@ Misc.in_dir(app_dir) do
32
61
  Rack::Server.start(options)
33
62
  end
34
63
  end
64
+
65
+
66
+
67
+
68
+ #!/usr/bin/env ruby
69
+
70
+ require 'rbbt-util'
71
+ require 'rbbt/util/simpleopt'
72
+
73
+
74
+
@@ -22,6 +22,7 @@ template = template.sub('.haml','')
22
22
 
23
23
  ENV["RBBT_FINDER"] = "true" if options.include?(:finder)
24
24
  ENV["RServe-session"] = options[:RServe_session]
25
+ ENV["RACK_ENV"] = options[:environment] if options.include?(:environment)
25
26
 
26
27
  raise rbbt_usage unless template
27
28
 
@@ -45,7 +46,7 @@ app.helpers Sinatra::RbbtMiscHelpers
45
46
  app.helpers Sinatra::RbbtToolHelper
46
47
 
47
48
  app.get '/' do
48
- template_render(template, @clean_params)
49
+ template_render(template, @clean_params, "Template cache", :cache_type => :asynchronous)
49
50
  end
50
51
  app.instance_eval Rbbt.etc['app.d/base.rb'].read
51
52
  app.use Rack::Deflater
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.19.11
4
+ version: 5.19.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake