module TicketAbstractorClient::ServiceNow::ParamsBuilder
Public Instance Methods
build_all_tickets_params(opts)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 6 def build_all_tickets_params(opts) opts[:table_name] = opts[:project] opts[:sysparm_query] = build_sysparm_query(opts) opts[:sysparm_fields] = Array.wrap(opts.delete(:fields)) opts.except!(:service_desk, :states) opts[:display_value] = TicketAbstractorClient.configuration.snow_display_value if opts[:display_value].nil? opts end
build_attachment_params(attachment)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 15 def build_attachment_params(attachment) file_path = attachment.file_path mime_type = MIME::Types.type_for(file_path).first.try(:to_s) || '*/*' [ { table_name: attachment.project, table_sys_id: attachment.ticket_id, file_name: File.basename(file_path), content_type: mime_type }, { attachments: [File.new(file_path, 'rb')] } ] end
build_comment_params(comment)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 31 def build_comment_params(comment) { comment_params: { comments: comment.body }, sys_id: comment.ticket_id, table_name: comment.project, display_value: TicketAbstractorClient.configuration.snow_display_value } end
build_status_params(ticket)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 40 def build_status_params(ticket) { ticket_params: { state: ticket.status }, sys_id: ticket.sys_id, table_name: ticket.project } end
build_sysparm_query(opts)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 50 def build_sysparm_query(opts) sysparm_query = { 'u_support_fieldLIKE' => opts[:service_desk], 'u_input_source=' => 'OIV', '' => opts.fetch(:states, '').split(',').map { |st| "state=#{st}" }.join('^OR') } sysparm_query.select { |_, v| v.present? }.map { |k, v| [k, v].join }.join('^') end
build_ticket_params(ticket)
click to toggle source
# File lib/ticket_abstractor_client/service_now/params_builder.rb, line 44 def build_ticket_params(ticket) opts = { ticket_params: ticket.fields, table_name: ticket.project } opts.merge!(sys_id: ticket.sys_id) if ticket.sys_id.present? opts end