omf_sfa 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -100,8 +100,8 @@ module OMF::SFA::AM::Rest
100
100
  @@html_template = File::read(fname)
101
101
  end
102
102
 
103
- def self.convert_to_html(body, env, opts = {}, collections = Set.new)
104
- self.new().convert_to_html(body, env, opts, collections)
103
+ def self.render_html(parts)
104
+ self.new().render_html(parts)
105
105
  end
106
106
 
107
107
 
@@ -476,6 +476,35 @@ module OMF::SFA::AM::Rest
476
476
  end
477
477
 
478
478
  public
479
+
480
+ # Render an HTML page using the resource's template. The
481
+ # template is populated with information provided in 'parts'
482
+ #
483
+ # * :title - HTML title
484
+ # * :service - Service path (usually a set of <a>)
485
+ # * :content - Main content
486
+ # * :footer - Optional footer
487
+ # * :result - hash or array describing the result (may used by JS to further format)
488
+ #
489
+ def render_html(parts = {})
490
+ tmpl = html_template()
491
+ if (result = parts[:result])
492
+ tmpl = tmpl.gsub('##JS##', JSON.pretty_generate(result))
493
+ end
494
+ title = parts[:title] || @@service_name
495
+ tmpl = tmpl.gsub('##TITLE##', title)
496
+ if (service = parts[:service])
497
+ tmpl = tmpl.gsub('##SERVICE##', service)
498
+ end
499
+ if (content = parts[:content])
500
+ tmpl = tmpl.gsub('##CONTENT##', content)
501
+ end
502
+ if (footer = parts[:footer])
503
+ tmpl = tmpl.gsub('##FOOTER##', footer)
504
+ end
505
+ tmpl
506
+ end
507
+
479
508
  def convert_to_html(body, env, opts, collections = Set.new)
480
509
  req = ::Rack::Request.new(env)
481
510
  opts = {
@@ -483,22 +512,28 @@ module OMF::SFA::AM::Rest
483
512
  level: 0,
484
513
  href_prefix: "#{req.path}/"
485
514
  }.merge(opts)
486
- tmpl = html_template()
487
- tmpl = tmpl.gsub('##JS##', JSON.pretty_generate(body))
515
+ #tmpl = html_template()
516
+ #tmpl = tmpl.gsub('##JS##', JSON.pretty_generate(body))
488
517
 
489
518
  #h1 = "<h1>#{@@service_name || env["HTTP_HOST"]}</h1>"
490
- tmpl = tmpl.gsub('##TITLE##', @@service_name || env["HTTP_HOST"])
519
+ #tmpl = tmpl.gsub('##TITLE##', @@service_name || env["HTTP_HOST"])
491
520
  path = req.path.split('/').select { |p| !p.empty? }
492
521
  h2 = ["<a href='/?_format=html&_level=0'>ROOT</a>"]
493
522
  path.each_with_index do |s, i|
494
523
  h2 << "<a href='/#{path[0 .. i].join('/')}?_format=html&_level=#{i % 2 ? 0 : 1}'>#{s}</a>"
495
524
  end
496
- tmpl = tmpl.gsub('##SERVICE##', h2.join('/'))
525
+ #tmpl = tmpl.gsub('##SERVICE##', h2.join('/'))
497
526
 
498
527
  res = []
499
528
  _convert_obj_to_html(body, nil, res, opts)
500
- tmpl.gsub('##CONTENT##', res.join("\n"))
501
529
 
530
+ #tmpl.gsub('##CONTENT##', res.join("\n"))
531
+ render_html(
532
+ result: body,
533
+ title: @@service_name || env["HTTP_HOST"],
534
+ service: h2.join('/'),
535
+ content: res.join("\n")
536
+ )
502
537
  end
503
538
 
504
539
  def html_template()
@@ -1,4 +1,4 @@
1
1
  module OMF; module SFA
2
2
  #VERSION = "6.0.0.pre.1"
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end; end
data/omf_sfa.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
  # specify any dependencies here; for example:
22
22
  s.add_development_dependency "minitest", "~> 4.3.3"
23
- s.add_runtime_dependency "nokogiri", "= 1.5.5"
23
+ s.add_runtime_dependency "nokogiri", "~> 1.5.5"
24
24
  s.add_runtime_dependency "erector", "~> 0.8.3"
25
25
  s.add_runtime_dependency "rack", "~> 1.3.5"
26
26
  s.add_runtime_dependency "thin", "~> 1.3.1"
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
40
40
  s.add_runtime_dependency "rack-rpc", "~> 0.0.6"
41
41
  s.add_runtime_dependency "data_mapper", "~> 1.2.0"
42
42
  s.add_runtime_dependency "bluecloth", "~> 2.2.0"
43
- s.add_runtime_dependency "omf_common", "= 6.0.0.pre.10"
44
- s.add_runtime_dependency "eventmachine", "~> 0.12.10"
43
+ s.add_runtime_dependency "omf_common", "~> 6.0.0.pre.10"
44
+ s.add_runtime_dependency "eventmachine", "~> 1.0.3"
45
45
  s.add_runtime_dependency "em-minitest-spec", "~> 1.1.1"
46
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omf_sfa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-13 00:00:00.000000000 Z
12
+ date: 2014-01-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - '='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
37
  version: 1.5.5
38
38
  type: :runtime
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - '='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.5.5
46
46
  - !ruby/object:Gem::Dependency
@@ -336,7 +336,7 @@ dependencies:
336
336
  requirement: !ruby/object:Gem::Requirement
337
337
  none: false
338
338
  requirements:
339
- - - '='
339
+ - - ~>
340
340
  - !ruby/object:Gem::Version
341
341
  version: 6.0.0.pre.10
342
342
  type: :runtime
@@ -344,7 +344,7 @@ dependencies:
344
344
  version_requirements: !ruby/object:Gem::Requirement
345
345
  none: false
346
346
  requirements:
347
- - - '='
347
+ - - ~>
348
348
  - !ruby/object:Gem::Version
349
349
  version: 6.0.0.pre.10
350
350
  - !ruby/object:Gem::Dependency
@@ -354,7 +354,7 @@ dependencies:
354
354
  requirements:
355
355
  - - ~>
356
356
  - !ruby/object:Gem::Version
357
- version: 0.12.10
357
+ version: 1.0.3
358
358
  type: :runtime
359
359
  prerelease: false
360
360
  version_requirements: !ruby/object:Gem::Requirement
@@ -362,7 +362,7 @@ dependencies:
362
362
  requirements:
363
363
  - - ~>
364
364
  - !ruby/object:Gem::Version
365
- version: 0.12.10
365
+ version: 1.0.3
366
366
  - !ruby/object:Gem::Dependency
367
367
  name: em-minitest-spec
368
368
  requirement: !ruby/object:Gem::Requirement