Skip to content

Commit

Permalink
[api] trying to make the event class autoloading less fragile
Browse files Browse the repository at this point in the history
  • Loading branch information
coolo committed Oct 28, 2013
1 parent 0c56cdb commit 33d5332
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 92 deletions.
2 changes: 1 addition & 1 deletion src/api/app/controllers/request_controller.rb
@@ -1,5 +1,5 @@
require 'base64'
require 'event'
require_dependency 'event/all'

include MaintenanceHelper

Expand Down
9 changes: 1 addition & 8 deletions src/api/app/models/event.rb
@@ -1,8 +1 @@
require_dependency 'event/base'
require_dependency 'event/package'
require_dependency 'event/project'
require_dependency 'event/request'
require_dependency 'event/comment'
require_dependency 'event/build'
require_dependency 'event/factory'

require_relative 'event/all'
8 changes: 8 additions & 0 deletions src/api/app/models/event/all.rb
@@ -0,0 +1,8 @@
require_relative 'base'
require_relative 'package'
require_relative 'project'
require_relative 'request'
require_relative 'comment'
require_relative 'build'
require_relative 'factory'

112 changes: 58 additions & 54 deletions src/api/app/models/event/package.rb
@@ -1,54 +1,58 @@
class Event::Package < ::Event::Base
self.description = 'Package was touched'
payload_keys :project, :package, :sender
end

class Event::CreatePackage < Event::Package
self.raw_type = 'SRCSRV_CREATE_PACKAGE'
self.description = 'Package was created'
end

class Event::UpdatePackage < Event::Package
self.raw_type = 'SRCSRV_UPDATE_PACKAGE'
self.description = 'Package meta data was updated'
end

class Event::UndeletePackage < Event::Package
self.raw_type = 'SRCSRV_UNDELETE_PACKAGE'
self.description = 'Package was undeleted'
payload_keys :comment

after_create { |event| CheckPackageEvent.new(event).perform }
end

class Event::DeletePackage < Event::Package
self.raw_type = 'SRCSRV_DELETE_PACKAGE'
self.description = 'Package was deleted'
payload_keys :comment, :requestid
end

class Event::BranchCommand < Event::Package
self.raw_type = 'SRCSRV_BRANCH_COMMAND'
self.description = 'Package was branched'
payload_keys :targetproject, :targetpackage, :user
end

class Event::VersionChange < Event::Package
self.raw_type = 'SRCSRV_VERSION_CHANGE'
self.description = 'Package has changed its version'
payload_keys :comment, :requestid, :files, :rev, :newversion, :user, :oldversion
end

class Event::Commit < Event::Package
self.raw_type = 'SRCSRV_COMMIT'
self.description = 'New revision of a package was commited'
payload_keys :project, :package, :comment, :user, :files, :rev, :requestid

after_create { |event| CheckPackageEvent.new(event).perform }
end

class Event::Upload < Event::Package
self.raw_type = 'SRCSRV_UPLOAD'
self.description = 'Package sources were uploaded'
payload_keys :project, :package, :comment, :filename, :requestid, :target, :user
end
module Event

class Package < Base
self.description = 'Package was touched'
payload_keys :project, :package, :sender
end

class CreatePackage < Package
self.raw_type = 'SRCSRV_CREATE_PACKAGE'
self.description = 'Package was created'
end

class UpdatePackage < Package
self.raw_type = 'SRCSRV_UPDATE_PACKAGE'
self.description = 'Package meta data was updated'
end

class UndeletePackage < Package
self.raw_type = 'SRCSRV_UNDELETE_PACKAGE'
self.description = 'Package was undeleted'
payload_keys :comment

after_create { |event| CheckPackageEvent.new(event).perform }
end

class DeletePackage < Package
self.raw_type = 'SRCSRV_DELETE_PACKAGE'
self.description = 'Package was deleted'
payload_keys :comment, :requestid
end

class BranchCommand < Package
self.raw_type = 'SRCSRV_BRANCH_COMMAND'
self.description = 'Package was branched'
payload_keys :targetproject, :targetpackage, :user
end

class VersionChange < Package
self.raw_type = 'SRCSRV_VERSION_CHANGE'
self.description = 'Package has changed its version'
payload_keys :comment, :requestid, :files, :rev, :newversion, :user, :oldversion
end

class Commit < Package
self.raw_type = 'SRCSRV_COMMIT'
self.description = 'New revision of a package was commited'
payload_keys :project, :package, :comment, :user, :files, :rev, :requestid

after_create { |event| CheckPackageEvent.new(event).perform }
end

class Upload < Package
self.raw_type = 'SRCSRV_UPLOAD'
self.description = 'Package sources were uploaded'
payload_keys :project, :package, :comment, :filename, :requestid, :target, :user
end

end
59 changes: 31 additions & 28 deletions src/api/app/models/event/project.rb
@@ -1,34 +1,37 @@
class Event::Project < ::Event::Base
self.description = 'Project was touched'
payload_keys :project
end
module Event
class Project < Base
self.description = 'Project was touched'
payload_keys :project
end

class Event::CreateProject < Event::Project
self.raw_type = 'SRCSRV_CREATE_PROJECT'
self.description = 'Project is created'
payload_keys :sender
end
class CreateProject < Project
self.raw_type = 'SRCSRV_CREATE_PROJECT'
self.description = 'Project is created'
payload_keys :sender
end

class Event::UpdateProjectConfig < Event::Project
self.raw_type = 'SRCSRV_UPDATE_PROJECT_CONFIG'
self.description = 'Project _config was updated'
payload_keys :sender, :files, :comment
end
class UpdateProjectConfig < Project
self.raw_type = 'SRCSRV_UPDATE_PROJECT_CONFIG'
self.description = 'Project _config was updated'
payload_keys :sender, :files, :comment
end

class Event::UndeleteProject < Event::Project
self.raw_type = 'SRCSRV_UNDELETE_PROJECT'
self.description = 'Project was undeleted'
payload_keys :comment, :sender
end
class UndeleteProject < Project
self.raw_type = 'SRCSRV_UNDELETE_PROJECT'
self.description = 'Project was undeleted'
payload_keys :comment, :sender
end

class Event::UpdateProject < Event::Project
self.raw_type = 'SRCSRV_UPDATE_PROJECT'
self.description = 'Project meta was updated'
payload_keys :sender
end
class UpdateProject < Project
self.raw_type = 'SRCSRV_UPDATE_PROJECT'
self.description = 'Project meta was updated'
payload_keys :sender
end

class DeleteProject < Project
self.raw_type = 'SRCSRV_DELETE_PROJECT'
self.description = 'Project was deleted'
payload_keys :comment, :requestid, :sender
end

class Event::DeleteProject < Event::Project
self.raw_type = 'SRCSRV_DELETE_PROJECT'
self.description = 'Project was deleted'
payload_keys :comment, :requestid, :sender
end
2 changes: 1 addition & 1 deletion src/api/app/models/event/request.rb
@@ -1,4 +1,4 @@
class Event::Request < Event::Base
class Event::Request < ::Event::Base
self.description = 'Request was updated'
self.abstract_class = true
payload_keys :author, :comment, :description, :id, :actions, :state, :when, :who
Expand Down

0 comments on commit 33d5332

Please sign in to comment.