class Mangopay::Generators::InstallGenerator

Public Instance Methods

setup() click to toggle source
# File lib/generators/mangopay/install_generator.rb, line 15
def setup
  begin
    client = client_id_valid?
    remove_file 'config/initializers/mangopay.rb'
    @client_id = client_id
    @client_apiKey = client['APIKey']
    template 'mangopay.rb.erb', 'config/initializers/mangopay.rb'
  rescue => e
    puts e.message
  end
end

Protected Instance Methods

check_client_id_availablility() click to toggle source
# File lib/generators/mangopay/install_generator.rb, line 40
def check_client_id_availablility
  client = create_client
  if client['Type'] == 'ClientID_already_exist'
    raise client['Message']
  end
  client
end
check_client_id_validity() click to toggle source
# File lib/generators/mangopay/install_generator.rb, line 34
def check_client_id_validity
  if (/^[a-z0-9_-]{4,20}$/ =~ client_id).nil?
    raise "The client_id must match the regexp ^[a-z0-9_-]{4,20}$"
  end
end
client_id_valid?() click to toggle source
# File lib/generators/mangopay/install_generator.rb, line 29
def client_id_valid?
  check_client_id_validity
  check_client_id_availablility
end
create_client() click to toggle source
# File lib/generators/mangopay/install_generator.rb, line 48
def create_client
  MangoPay.configure do |c|
    c.preproduction = options[:preproduction]
  end
  MangoPay::Client.create({
    ClientID: client_id,
    Name: client_name,
    Email: client_email
  })
end