Class: Gitlab::Audit::NullAuthor

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/audit/null_author.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, name:) ⇒ NullAuthor

Returns a new instance of NullAuthor.


30
31
32
33
# File 'lib/gitlab/audit/null_author.rb', line 30

def initialize(id:, name:)
  @id = id
  @name = name
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.


6
7
8
# File 'lib/gitlab/audit/null_author.rb', line 6

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.


6
7
8
# File 'lib/gitlab/audit/null_author.rb', line 6

def name
  @name
end

Class Method Details

.for(id, audit_event) ⇒ Gitlab::Audit::UnauthenticatedAuthor, ...

Creates an Author

While tracking events that could take place even when a user is not logged in, (eg: downloading repo of a public project), we set the author_id of such events as -1


18
19
20
21
22
23
24
25
26
27
28
# File 'lib/gitlab/audit/null_author.rb', line 18

def self.for(id, audit_event)
  name = audit_event[:author_name] || audit_event.details[:author_name]

  if audit_event.target_type == ::Ci::Runner.name
    Gitlab::Audit::CiRunnerTokenAuthor.new(audit_event)
  elsif id == -1
    Gitlab::Audit::UnauthenticatedAuthor.new(name: name)
  else
    Gitlab::Audit::DeletedAuthor.new(id: id, name: name)
  end
end

Instance Method Details

#current_sign_in_ipObject


35
36
37
# File 'lib/gitlab/audit/null_author.rb', line 35

def 
  nil
end

#full_pathObject


39
40
41
# File 'lib/gitlab/audit/null_author.rb', line 39

def full_path
  nil
end