# File lib/edi4r/diagrams.rb, line 103 def Diagram.create( std, params ) case std when 'E' # UN/EDIFACT par = {:d0051 => 'UN', # :d0057 => '', :is_iedi => false }.update( params ) when 'I' # SAP IDocs par = params # raise "Not implemented yet!" else raise "Unsupported syntax standard: #{std}" end if Diagram.caching? # # Use param set as key for caching # key = par.sort {|a,b| a.to_s <=> b.to_s}.hash obj = @@cache[key] return obj unless obj.nil? obj = new( std, par ) @@cache[key] = obj # cache & return it else new( std, par ) end end