Skip to content

Commit

Permalink
move to reading configuration file
Browse files Browse the repository at this point in the history
  • Loading branch information
mpapis committed Mar 19, 2012
1 parent 36b165e commit 8583415
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 16 deletions.
21 changes: 11 additions & 10 deletions README.md
Expand Up @@ -7,17 +7,18 @@ IRC boot for automatic triggerring `sm deploy`.
On server:

gem install eployday
eployday example # will generate example.yml

Edit settings in example.yml
Example for auto deploy on travis-ci tests passed `rvm-site.yml`:

Start server with:

nohup eployday example.yml &
---
nick: rvm-site-deploy
channels:
- "#rvm-test"
trigger_text: "The build passed."
allowed_users:
- travis-ci
command: "echo bdsm deploy"

Example for autodeploy on travis tests passed:
Start server with:

---
users: travis-ci
triger: The build passed.
channel: #rvm-test
nohup eployday rvm-site.yml &
Empty file modified bin/eployday 100644 → 100755
Empty file.
8 changes: 8 additions & 0 deletions example.yml
@@ -0,0 +1,8 @@
---
nick: rvm-site-deploy
channels:
- "#rvm-test"
trigger_text: "The build passed."
allowed_users:
- travis-ci
- mpapis
10 changes: 8 additions & 2 deletions lib/eployday/cli.rb
@@ -1,14 +1,20 @@
require 'cinch'
require 'eployday/configuration'
require 'eployday/deploy'

module Eployday
class CLI
def initialize args
raise "configuration file name required" if args.empty?
Eployday::Configuration.new args.first
end

def run
bot = Cinch::Bot.new do
configure do |c|
c.nick = "eployday"
c.nick = Eployday::Configuration[:nick]
c.server = "irc.freenode.net"
c.channels = ["#rstatus"]
c.channels = Eployday::Configuration[:channels]
c.plugins.plugins = [Deploy]
end
end
Expand Down
14 changes: 14 additions & 0 deletions lib/eployday/configuration.rb
@@ -0,0 +1,14 @@
require 'yaml'

module Eployday
class Configuration
def initialize args
@@configuration = YAML.load_file args
end
def self.[] key
@@configuration ||= {}
puts "-- reading #{key} => #{@@configuration[key.to_s]}"
@@configuration[key.to_s]
end
end
end
5 changes: 2 additions & 3 deletions lib/eployday/deploy.rb
Expand Up @@ -5,15 +5,14 @@ module Eployday
class Deploy
include Cinch::Plugin

match "deploy"
match Eployday::Configuration[:trigger_text]

def execute(m)
if PermissionChecker.allowed?(m.user)
m.reply "#{m.user.nick}: beginning deploy."
Kernel.system "sm deploy"
Kernel.system Eployday::Configuration[:command]
m.reply "#{m.user.nick}: deploy finished."
end
end
end
end

2 changes: 1 addition & 1 deletion lib/eployday/permission_checker.rb
Expand Up @@ -6,7 +6,7 @@ def allowed?(user, list=load_whitelist)
end

def load_whitelist
@whitelist = %w[steveklabnik carols10cents wilkie cl0ckw0rk ddagradi]
@whitelist = Eployday::Configuration[:allowed_users]
end
end
end
Expand Down

0 comments on commit 8583415

Please sign in to comment.