lib/gds_api/gov_uk_delivery.rb
require_relative 'base' require_relative 'exceptions' require 'json' class GdsApi::GovUkDelivery < GdsApi::Base def initialize(endpoint_url, options={}) super(endpoint_url, options.merge({timeout: 10})) end def subscribe(email, feed_urls) data = {email: email, feed_urls: feed_urls} url = "#{base_url}/subscriptions" post_url(url, data) end def topic(feed_url, title, description=nil) data = {feed_url: feed_url, title: title, description: description} url = "#{base_url}/lists" post_url(url, data) end def signup_url(feed_url) if response = get_json("#{base_url}/list-url?feed_url=#{CGI.escape(feed_url)}") response.list_url end end def notify(feed_urls, subject, body) data = {feed_urls: feed_urls, subject: subject, body: body} url = "#{base_url}/notifications" post_url(url, data) end private def base_url endpoint end def post_url(url, data) if ! @options[:noop] post_json(url, data) elsif @options[:noop] && @options[:stdout] puts "Would POST #{data.to_json} to #{url}" end end end