omf_sfa 0.1.1 → 0.1.2

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.
@@ -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