Class: FieldReports::Bridge
- Inherits:
-
Object
- Object
- FieldReports::Bridge
- Defined in:
- lib/field_reports.rb
Overview
Field Reportsと連携するためのProxyオブジェクトを生成します。
Class Method Summary collapse
-
.create_exec_proxy(exe_path = "reports", cwd = ".", loglevel = 0, logout = STDERR) ⇒ ExecProxy
Field Reportsとコマンド呼び出しにより連携するためのProxyオブジェクトを生成します。.
-
.create_http_proxy(base_address = "http://localhost:50080/") ⇒ HttpProxy
Field ReportsとHTTPで連携するためのProxyオブジェクトを生成します。.
-
.create_proxy(uri = nil) ⇒ Proxy
Field Reportsと連携するためのProxyオブジェクトを生成します。.
Class Method Details
.create_exec_proxy(exe_path = "reports", cwd = ".", loglevel = 0, logout = STDERR) ⇒ ExecProxy
Field Reportsとコマンド呼び出しにより連携するためのProxyオブジェクトを生成します。
67 68 69 70 71 72 |
# File 'lib/field_reports.rb', line 67 def self.create_exec_proxy( exe_path = "reports", cwd = ".", loglevel = 0, logout = STDERR) return ExecProxy.new(exe_path, cwd, loglevel, logout) end |
.create_http_proxy(base_address = "http://localhost:50080/") ⇒ HttpProxy
Note:
reportsコマンドがサーバーモードで起動していることが前提となります。 $ reports server -l3
Field ReportsとHTTPで連携するためのProxyオブジェクトを生成します。
81 82 83 84 |
# File 'lib/field_reports.rb', line 81 def self.create_http_proxy( base_address = "http://localhost:50080/") return HttpProxy.new(base_address) end |
.create_proxy(uri = nil) ⇒ Proxy
Field Reportsと連携するためのProxyオブジェクトを生成します。
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/field_reports.rb', line 42 def self.create_proxy(uri = nil) uri = uri.nil? ? ENV['REPORTS_PROXY'] : uri uri = uri.nil? ? "exec:reports" : uri if uri.start_with?("exec:") then uris = uri[5..-1].split("?") if uris.length == 2 then q = URI.decode_www_form(uris[1]).to_h cwd = q.has_key?('cwd') ? q['cwd'] : "." loglevel = q.has_key?('loglevel') ? q['loglevel'].to_i : 0 return Bridge.create_exec_proxy(uris[0], cwd, loglevel, STDERR) else return Bridge.create_exec_proxy(uris[0], ".", 0, STDERR) end else return Bridge.create_http_proxy(uri) end end |