Class: Gitlab::EventStore::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/event_store/event.rb

Direct Known Subclasses

Ci::JobArtifactsDeletedEvent, Ci::PipelineCreatedEvent, Ci::PipelineFinishedEvent, Ci::Workloads::WorkloadFinishedEvent, GitlabSubscriptions::RenewedEvent, Groups::GroupDeletedEvent, Groups::GroupTransferedEvent, Members::AcceptedInviteEvent, Members::DestroyedEvent, Members::MembersAddedEvent, Members::UpdatedEvent, MergeRequests::ApprovedEvent, MergeRequests::AutoMerge::TitleDescriptionUpdateEvent, MergeRequests::DiscussionsResolvedEvent, MergeRequests::DraftNotePublishedEvent, MergeRequests::DraftStateChangeEvent, MergeRequests::MergeRequestPreparedEvent, MergeRequests::MergeableEvent, MergeRequests::OverrideRequestedChangesStateEvent, MergeRequests::UnblockedStateEvent, Milestones::MilestoneUpdatedEvent, Namespaces::Groups::GroupArchivedEvent, PackageMetadata::IngestedAdvisoryEvent, Packages::PackageCreatedEvent, Pages::Domains::PagesDomainCreatedEvent, Pages::Domains::PagesDomainDeletedEvent, Pages::Domains::PagesDomainUpdatedEvent, ProjectAuthorizations::AuthorizationsAddedEvent, ProjectAuthorizations::AuthorizationsChangedEvent, ProjectAuthorizations::AuthorizationsRemovedEvent, Projects::ProjectArchivedEvent, Projects::ProjectCreatedEvent, Projects::ProjectDeletedEvent, Projects::ProjectFeaturesChangedEvent, Projects::ProjectPathChangedEvent, Projects::ProjectTransferedEvent, Projects::ProjectVisibilityChangedEvent, Projects::ReleasePublishedEvent, Repositories::DefaultBranchChangedEvent, Repositories::KeepAroundRefsCreatedEvent, Repositories::ProtectedBranchCreatedEvent, Repositories::ProtectedBranchDestroyedEvent, Users::ActivityEvent, WorkItems::BulkUpdatedEvent, WorkItems::WorkItemCreatedEvent, WorkItems::WorkItemDeletedEvent, WorkItems::WorkItemUpdatedEvent

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data:) ⇒ Event

Returns a new instance of Event.



36
37
38
39
40
# File 'lib/gitlab/event_store/event.rb', line 36

def initialize(data:)
  validate_schema!
  validate_data!(data)
  @data = data.with_indifferent_access
end

Class Attribute Details

.json_schema_validObject

Returns the value of attribute json_schema_valid.



33
34
35
# File 'lib/gitlab/event_store/event.rb', line 33

def json_schema_valid
  @json_schema_valid
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



30
31
32
# File 'lib/gitlab/event_store/event.rb', line 30

def data
  @data
end

Class Method Details

.json_schemaObject



72
73
74
# File 'lib/gitlab/event_store/event.rb', line 72

def self.json_schema
  @json_schema ||= Gitlab::Json.parse(File.read(File.join(__dir__, 'json_schema_draft07.json')))
end

Instance Method Details

#schemaObject

Raises:

  • (NotImplementedError)


42
43
44
# File 'lib/gitlab/event_store/event.rb', line 42

def schema
  raise NotImplementedError, 'must specify schema to validate the event'
end