class JustGiving::SimpleDonationIntegration

Public Class Methods

charity_donation_url(charity_id, options={}) click to toggle source

Returns url for the donation page of a charity

# File lib/just_giving/simple_donation_integration.rb, line 11
def self.charity_donation_url(charity_id, options={})
  options = self.parse_options(options)
  url = "#{JustGiving::Configuration.base_uri}/donation/direct/charity/#{charity_id}"
  url << self.options_to_query(options) if options.any?
  url
end
charity_page_url(short_name) click to toggle source

Returns url to link to a charity page

# File lib/just_giving/simple_donation_integration.rb, line 6
def self.charity_page_url(short_name)
  "#{JustGiving::Configuration.base_uri}/#{short_name}/donate" 
end
Also aliased as: fundraising_page_url
fundraising_donation_url(page_id, options={}) click to toggle source

Returns url for the donation page of a fundraising

# File lib/just_giving/simple_donation_integration.rb, line 23
def self.fundraising_donation_url(page_id, options={})
  options = self.parse_options(options)
  url = "#{JustGiving::Configuration.base_uri}/donation/sponsor/page/#{page_id}"
  url << self.options_to_query(options) if options.any?
  url
end
fundraising_page_url(short_name)
Alias for: charity_page_url

Private Class Methods

camelize(snake_case_word) click to toggle source

This is a pretty niave implementation but we control the input so it suffices

# File lib/just_giving/simple_donation_integration.rb, line 39
def self.camelize(snake_case_word)
  snake_case_word.to_s.gsub(/_(.)/){$1.upcase}
end
options_to_query(options) click to toggle source
# File lib/just_giving/simple_donation_integration.rb, line 43
def self.options_to_query(options)
  "?#{options.collect{|k,v| "#{self.camelize(k)}=#{CGI.escape(v.to_s)}"}.join("&")}"
end
parse_options(options) click to toggle source

Remove options we are not interested in

# File lib/just_giving/simple_donation_integration.rb, line 33
def self.parse_options(options)
  available_options = [:amount, :frequency, :exit_url, :donation_id]
  options.delete_if{|key, value| !available_options.include?(key)}
end