class RMeetup::Poster::Base
RMeetup::Fetcher::Base
¶ ↑
Base
fetcher class that other fetchers will inherit from.
Public Class Methods
new()
click to toggle source
# File lib/rmeetup/poster/base.rb, line 23 def initialize @type = nil end
Public Instance Methods
post(options = {})
click to toggle source
Fetch and parse a response based on a set of options. Override this method to ensure neccessary options are passed for the request.
# File lib/rmeetup/poster/base.rb, line 32 def post(options = {}) url = build_url(options) ret = post_response(url, options) ret end
Protected Instance Methods
base_url()
click to toggle source
# File lib/rmeetup/poster/base.rb, line 51 def base_url "https://api.meetup.com/2/#{@type}/" end
build_url(options)
click to toggle source
# File lib/rmeetup/poster/base.rb, line 47 def build_url(options) base_url end
encode_options(options)
click to toggle source
Encode a hash of options to be used as request parameters
# File lib/rmeetup/poster/base.rb, line 65 def encode_options(options) options.each do |key,value| options[key] = URI.encode(value.to_s) end end
format_result(result)
click to toggle source
OVERRIDE this method to format a result section as per Result type. Takes a result in a collection and formats it to be put back into the collection.
# File lib/rmeetup/poster/base.rb, line 43 def format_result(result) result end
params_for(options)
click to toggle source
Create a query string from an options hash
# File lib/rmeetup/poster/base.rb, line 56 def params_for(options) params = [] options.each do |key, value| params << "#{key}=#{value}" end "?#{params.join("&")}" end
post_response(url, options)
click to toggle source
# File lib/rmeetup/poster/base.rb, line 71 def post_response(url, options) sslurl = URI.parse(url) https = Net::HTTP.new(sslurl.host, sslurl.port) https.use_ssl = true req = Net::HTTP::Post.new(sslurl.path) req.set_form_data(options) resp = https.request(req) end