Class: RedmineRemotes::Esosti::Entities::Issue

Inherits:
Avmtrf1::Esosti::Entities::Issue
  • Object
show all
Defined in:
lib/redmine_remotes/esosti/entities/issue.rb

Constant Summary collapse

EXTRA_DESCRIPTION_BEFORE =
{ reported_by: 'Relatado por', affected_person: 'Pessoa afetada',
type_description: 'Tipo de solicitação' }.freeze

Instance Method Summary collapse

Instance Method Details

#affected_personObject



20
21
22
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 20

def affected_person
  mail_local_part(attributes.fetch('AFFECTEDPERSON'))
end

#attributesObject



24
25
26
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 24

def attributes
  data.first.fetch('Attributes')
end

#author_loginObject



16
17
18
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 16

def 
  mail_local_part(attributes.fetch('CREATEDBY'))
end

#codeObject



28
29
30
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 28

def code
  attributes.fetch('TICKETID')
end

#created_onObject



32
33
34
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 32

def created_on
  attributes.fetch('CREATIONDATE')
end

#descriptionObject



36
37
38
39
40
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 36

def description
  ::RedmineRemotes::Esosti.remote_text_to_local(
    related_mbos.fetch('LONGDESCRIPTION').first.fetch('Attributes').fetch('LDTEXT')
  )
end

#extra_description_beforeObject



42
43
44
45
46
47
48
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 42

def extra_description_before
  {
    'Relatado por' => "user:#{reported_by}",
    'Pessoa afetada' => "user:#{affected_person}",
    'Tipo de solicitação' => type_description
  }
end

#human_view_urlObject



12
13
14
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 12

def human_view_url
  instance.issue_human_view_url(uid)
end


50
51
52
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 50

def related_mbos
  data.first.fetch('RelatedMbos')
end

#reported_byObject



54
55
56
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 54

def reported_by
  mail_local_part(attributes.fetch('REPORTEDBY'))
end

#status_nameObject



58
59
60
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 58

def status_name
  attributes.fetch('STATUS')
end

#subjectObject



62
63
64
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 62

def subject
  description.gsub(/\s+/, ' ')
end

#type_descriptionObject



66
67
68
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 66

def type_description
  attributes.fetch('DESCRIPTION')
end

#uidObject



70
71
72
# File 'lib/redmine_remotes/esosti/entities/issue.rb', line 70

def uid
  attributes.fetch('TICKETUID').fetch('content')
end