Sha256: 1b08ce805facd0b1d202ce8efb4ee96f84312939b3b1de30863d057d0e5524b9

Contents?: true

Size: 721 Bytes

Versions: 2

Compression:

Stored size: 721 Bytes

Contents

require 'murlsh'

module Murlsh

  # notify PubSubHubbub hubs that feed has been updated
  class AddPost60NotifyHubs < Plugin

    Hook = 'add_post'

    def self.run(config)
      hubs = config.fetch('pubsubhubbub_hubs', [])

      unless hubs.empty?
        require 'rubygems'
        require 'eventmachine'
        require 'pubsubhubbub'

        feed_url = URI.join(config['root_url'], config['feed_file'])

        hubs.each do |hub|
          EventMachine.run {
            pub = EventMachine::PubSubHubbub.new(hub['publish_url']).publish(
              feed_url)

            pub.callback { EventMachine.stop  }
            pub.errback { EventMachine.stop }
          }
        end

      end

    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
murlsh-0.6.1 plugins/add_post_60_notify_hubs.rb
murlsh-0.6.0 plugins/add_post_60_notify_hubs.rb