Class: SemgrepWebApp::ExternalTicket
- Defined in:
- lib/semgrep_web_app/models/external_ticket.rb
Overview
External ticket associated with finding
Instance Attribute Summary collapse
-
#external_slug ⇒ String
Identifier of the external ticket.
-
#id ⇒ Integer
External ticket id.
-
#linked_issue_ids ⇒ Array[Integer]
Semgrep issue ids that are linked to this external ticket.
-
#url ⇒ String
URL of the external ticket.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
-
.validate(value) ⇒ Object
Validates an instance of the object from a given value.
Instance Method Summary collapse
-
#initialize(external_slug: SKIP, id: SKIP, linked_issue_ids: SKIP, url: SKIP, additional_properties: nil) ⇒ ExternalTicket
constructor
A new instance of ExternalTicket.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(external_slug: SKIP, id: SKIP, linked_issue_ids: SKIP, url: SKIP, additional_properties: nil) ⇒ ExternalTicket
Returns a new instance of ExternalTicket.
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 53 def initialize(external_slug: SKIP, id: SKIP, linked_issue_ids: SKIP, url: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @external_slug = external_slug unless external_slug == SKIP @id = id unless id == SKIP @linked_issue_ids = linked_issue_ids unless linked_issue_ids == SKIP @url = url unless url == SKIP @additional_properties = additional_properties end |
Instance Attribute Details
#external_slug ⇒ String
Identifier of the external ticket
14 15 16 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 14 def external_slug @external_slug end |
#id ⇒ Integer
External ticket id
18 19 20 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 18 def id @id end |
#linked_issue_ids ⇒ Array[Integer]
Semgrep issue ids that are linked to this external ticket
22 23 24 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 22 def linked_issue_ids @linked_issue_ids end |
#url ⇒ String
URL of the external ticket
26 27 28 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 26 def url @url end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 66 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. external_slug = hash.key?('external_slug') ? hash['external_slug'] : SKIP id = hash.key?('id') ? hash['id'] : SKIP linked_issue_ids = hash.key?('linked_issue_ids') ? hash['linked_issue_ids'] : SKIP url = hash.key?('url') ? hash['url'] : SKIP # Create a new hash for additional properties, removing known properties. new_hash = hash.reject { |k, _| names.value?(k) } additional_properties = APIHelper.get_additional_properties( new_hash, proc { |value| value } ) # Create object from extracted values. ExternalTicket.new(external_slug: external_slug, id: id, linked_issue_ids: linked_issue_ids, url: url, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
29 30 31 32 33 34 35 36 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 29 def self.names @_hash = {} if @_hash.nil? @_hash['external_slug'] = 'external_slug' @_hash['id'] = 'id' @_hash['linked_issue_ids'] = 'linked_issue_ids' @_hash['url'] = 'url' @_hash end |
.nullables ⇒ Object
An array for nullable fields
49 50 51 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 49 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
39 40 41 42 43 44 45 46 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 39 def self.optionals %w[ external_slug id linked_issue_ids url ] end |
.validate(value) ⇒ Object
Validates an instance of the object from a given value.
93 94 95 96 97 98 99 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 93 def self.validate(value) return true if value.instance_of? self return false unless value.instance_of? Hash true end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
109 110 111 112 113 114 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 109 def inspect class_name = self.class.name.split('::').last "<#{class_name} external_slug: #{@external_slug.inspect}, id: #{@id.inspect},"\ " linked_issue_ids: #{@linked_issue_ids.inspect}, url: #{@url.inspect},"\ " additional_properties: #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
102 103 104 105 106 |
# File 'lib/semgrep_web_app/models/external_ticket.rb', line 102 def to_s class_name = self.class.name.split('::').last "<#{class_name} external_slug: #{@external_slug}, id: #{@id}, linked_issue_ids:"\ " #{@linked_issue_ids}, url: #{@url}, additional_properties: #{@additional_properties}>" end |