public
Description: This contains various plugins for Feather
Clone URL: git://github.com/eldiablo/feather-plugins.git
Search Repo:
Click here to lend your support to: feather-plugins and make a donation at www.pledgie.com !
commit  d9d18931ea46b6422c7ebe5db579fff24a7f5133
tree    29f0bb049d1661cbc238b551d10c2f95ac41a552
parent  97672ec9e37de6fce7bfff240412856cad1622c4
100644 29 lines (26 sloc) 0.917 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require "xmlrpc/client"
require File.join(File.join(File.dirname(__FILE__), "controllers"), "ping_logs")
require File.join(File.join(File.dirname(__FILE__), "controllers"), "ping_services")
require File.join(File.join(File.dirname(__FILE__), "models"), "ping_log")
require File.join(File.join(File.dirname(__FILE__), "models"), "ping_service")
 
Merb::Router.prepend do |r|
  r.namespace :admin do |admin|
    admin.resources :ping_logs
    admin.resources :ping_services
  end
end
 
Hooks::Menu.add_menu_item "Ping Services", "/admin/ping_services"
 
Hooks::Events.register_event(:after_publish_article_request) do |args|
  PingService.all.each do |ping|
    log = PingLog.new
    log.ping_service_id = ping.id
    begin
      log.message = ping.execute(args[0], args[1])
      log.successful = true
    rescue Exception => err
      log.message = err.message
      log.successful = false
    end
    log.save
  end
end