Sha256: 658cf7234405892d2b1149eb4c7053de80d03a5117ad9c23ca3cf91f20de5bd2
Contents?: true
Size: 1.94 KB
Versions: 13
Compression:
Stored size: 1.94 KB
Contents
module AllscriptsUnityClient class UnityRequest attr_accessor :parameters, :appname, :security_token, :timezone def initialize(parameters, timezone, appname, security_token) raise ArgumentError, 'parameters can not be nil' if parameters.nil? raise ArgumentError, 'timezone can not be nil' if timezone.nil? raise ArgumentError, 'appname can not be nil' if appname.nil? raise ArgumentError, 'security_token can not be nil' if security_token.nil? @appname = appname @security_token = security_token @parameters = parameters @timezone = timezone end def to_hash action = @parameters[:action] userid = @parameters[:userid] appname = @parameters[:appname] || @appname patientid = @parameters[:patientid] token = @parameters[:token] || @security_token parameter1 = process_date(@parameters[:parameter1]) parameter2 = process_date(@parameters[:parameter2]) parameter3 = process_date(@parameters[:parameter3]) parameter4 = process_date(@parameters[:parameter4]) parameter5 = process_date(@parameters[:parameter5]) parameter6 = process_date(@parameters[:parameter6]) data = Utilities::encode_data(@parameters[:data]) { 'Action' => action, 'UserID' => userid, 'Appname' => appname, 'PatientID' => patientid, 'Token' => token, 'Parameter1' => parameter1, 'Parameter2' => parameter2, 'Parameter3' => parameter3, 'Parameter4' => parameter4, 'Parameter5' => parameter5, 'Parameter6' => parameter6, 'data' => data } end protected def process_date(value) if value.nil? return nil end result = Utilities::try_to_encode_as_date(value) if result.instance_of?(Time) || result.instance_of?(Date) || result.instance_of?(DateTime) return @timezone.utc_to_local(result) end value end end end
Version data entries
13 entries across 13 versions & 1 rubygems