Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kazuhiko Shiozaki
gitlab-ce
Commits
ac952d04
Commit
ac952d04
authored
May 22, 2013
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Campfire service added
parent
83e2e624
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
83 additions
and
2 deletions
+83
-2
CHANGELOG
CHANGELOG
+4
-0
app/controllers/services_controller.rb
app/controllers/services_controller.rb
+1
-1
app/models/campfire_service.rb
app/models/campfire_service.rb
+76
-0
app/models/project.rb
app/models/project.rb
+2
-1
No files found.
CHANGELOG
View file @
ac952d04
v 5.3.0
- Refactored services
- Campfire service added
v 5.2.0
- Turbolinks
- Git over http with ldap credentials
...
...
app/controllers/services_controller.rb
View file @
ac952d04
...
...
@@ -7,7 +7,7 @@ class ServicesController < ProjectResourceController
def
index
@project
.
build_missing_services
@services
=
@project
.
services
@services
=
@project
.
services
.
reload
end
def
edit
...
...
app/models/campfire_service.rb
0 → 100644
View file @
ac952d04
# == Schema Information
#
# Table name: services
#
# id :integer not null, primary key
# type :string(255)
# title :string(255)
# token :string(255)
# project_id :integer not null
# created_at :datetime not null
# updated_at :datetime not null
# active :boolean default(FALSE), not null
# project_url :string(255)
#
class
CampfireService
<
Service
attr_accessible
:subdomain
,
:room
validates
:token
,
presence:
true
,
if: :activated?
def
title
'Campfire'
end
def
description
'Simple web-based real-time group chat'
end
def
to_param
'campfire'
end
def
fields
[
{
type:
'text'
,
name:
'token'
,
placeholder:
''
},
{
type:
'text'
,
name:
'subdomain'
,
placeholder:
''
},
{
type:
'text'
,
name:
'room'
,
placeholder:
''
}
]
end
def
execute
(
push_data
)
room
=
gate
.
find_room_by_name
(
self
.
room
)
return
true
unless
room
message
=
build_message
(
push_data
)
room
.
speak
(
message
)
end
private
def
gate
@gate
||=
Tinder
::
Campfire
.
new
(
subdomain
,
token:
token
)
end
def
build_message
(
push
)
ref
=
push
[
:ref
].
gsub
(
"refs/heads/"
,
""
)
before
=
push
[
:before
]
after
=
push
[
:after
]
message
=
""
message
<<
"[
#{
project
.
name_with_namespace
}
] "
message
<<
"
#{
push
[
:user_name
]
}
"
if
before
=~
/000000/
message
<<
"pushed new branch
#{
ref
}
\n
"
elsif
after
=~
/000000/
message
<<
"removed branch
#{
ref
}
\n
"
else
message
<<
"pushed
#{
push
[
:total_commits_count
]
}
commits to
#{
ref
}
. "
message
<<
"
#{
project
.
web_url
}
/compare/
#{
before
}
...
#{
after
}
"
end
message
end
end
app/models/project.rb
View file @
ac952d04
...
...
@@ -45,6 +45,7 @@ class Project < ActiveRecord::Base
has_one
:last_event
,
class_name:
'Event'
,
order:
'events.created_at DESC'
,
foreign_key:
'project_id'
has_one
:gitlab_ci_service
,
dependent: :destroy
has_one
:campfire_service
,
dependent: :destroy
has_one
:forked_project_link
,
dependent: :destroy
,
foreign_key:
"forked_to_project_id"
has_one
:forked_from_project
,
through: :forked_project_link
...
...
@@ -235,7 +236,7 @@ class Project < ActiveRecord::Base
end
def
available_services_names
%w(gitlab_ci)
%w(gitlab_ci
campfire
)
end
def
gitlab_ci?
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment