Sha256: cd3efa72383df5e390a24cea42eaf1d8de8f7ce04a17700a5b7d01f00bf8c6a3
Contents?: true
Size: 1.12 KB
Versions: 8
Compression:
Stored size: 1.12 KB
Contents
require 'json' # Extension to FHIR::Model. Prepending this into FHIR::Model (done below) # allows us to call super() on initialize when we overriding it, # while also defining new methods and attributes module InfernoFHIRModelExtensions attr_accessor :source_hash, :source_text def initialize(hash = {}) super @source_hash = hash end def source_contents @source_text || JSON.generate(@source_hash) end end module FHIR class Model prepend ::InfernoFHIRModelExtensions end end # Extension to FHIR::Json. Prepending this into FHIR::Json (done below) # allows us to call super() on from_json module InfernoJson def from_json(json) resource = super resource&.source_text = json resource end end # Extension to FHIR::Xml. Prepending this into FHIR::Xml (done below) # allows us to call super() on from_xml module InfernoXml def from_xml(xml) resource = super resource&.source_text = xml resource end end module FHIR module Json class << self prepend InfernoJson end end end module FHIR module Xml class << self prepend InfernoXml end end end
Version data entries
8 entries across 8 versions & 1 rubygems