class ViewModel::CepcRrWrapper

Attributes

view_model[R]

Public Class Methods

new(xml_doc, schema_type) click to toggle source
# File lib/view_model/cepc_rr_wrapper.rb, line 5
def initialize(xml_doc, schema_type)
  @view_model = build_view_model(xml_doc, schema_type)
  @summary = Presenter::CepcRr::Summary.new(view_model)
  @recommendation_report = Presenter::CepcRr::RecommendationReport.new(view_model)
end

Public Instance Methods

get_view_model() click to toggle source
# File lib/view_model/cepc_rr_wrapper.rb, line 24
def get_view_model
  view_model
end
to_hash() click to toggle source
# File lib/view_model/cepc_rr_wrapper.rb, line 15
def to_hash
  @summary.to_hash
end
to_report() click to toggle source

FIXME: Method name is not consistent for recommendation reports (see SAP/RdSAP)

# File lib/view_model/cepc_rr_wrapper.rb, line 20
def to_report
  @recommendation_report.to_hash
end
type() click to toggle source
# File lib/view_model/cepc_rr_wrapper.rb, line 11
def type
  :CEPC_RR
end

Private Instance Methods

build_view_model(xml_doc, schema_type) click to toggle source
# File lib/view_model/cepc_rr_wrapper.rb, line 30
def build_view_model(xml_doc, schema_type)
  case schema_type
  when :"CEPC-8.0.0"
    ViewModel::Cepc800::CepcRr.new xml_doc
  when :"CEPC-NI-8.0.0"
    ViewModel::CepcNi800::CepcRr.new xml_doc
  when :"CEPC-7.1"
    ViewModel::Cepc71::CepcRr.new xml_doc
  when :"CEPC-7.0"
    ViewModel::Cepc70::CepcRr.new xml_doc
  when :"CEPC-6.0"
    ViewModel::Cepc60::CepcRr.new xml_doc
  when :"CEPC-5.1"
    ViewModel::Cepc51::CepcRr.new xml_doc
  when :"CEPC-5.0"
    ViewModel::Cepc50::CepcRr.new xml_doc
  when :"CEPC-4.0"
    ViewModel::Cepc40::CepcRr.new xml_doc
  when :"CEPC-3.1"
    ViewModel::Cepc31::CepcRr.new xml_doc
  else
    raise ArgumentError, "Unsupported schema type"
  end
end