rails
(8,006 views)

SaasRamp Screencast

SaasRamp is an open source Rails plugin which enables subscription billings in your application. This screencast demos SaasRamp and explores the generators and features built into the plugin.

SaasRamp is an open source Rails plugin which enables subscription billings in your application. It is built as a wrapper on ActiveMerchant, stores credit cards in the gateway, handles its own daily processing, and is completely independent of the authorization and authentication you choose.

For details check out the README and source code at http://github.com/linoj/saasramp

Rather than blogging a detailed introduction or writing a tutorial for the new SaasRamp plugin, I decided to make a screencast demo. The screencast starts with a skeleton application built in my previous screencast: Using BDD and generators to create a Rails app from scratch Screencast, where using some generators and a behavior driven approach, we create a simple Rails application with one resource and user authentication.

In this screencast we install the plugin (and dependencies), generate the initialization and migrations, show how to integrate it into your app including setting up email notifications and the daily rake task for processing renewals. We run a number of Cucumber feature scenarios to show the plugin in action.

Code snippets

If you want to follow along this screencast, you could do the other screencast first and build the skeleton app. Or download that app from github at http://github.com/linoj/demo-authapp

Also if you're following along this screencast, there are some gists available for you to paste: http://gist.github.com/189670

Download video

saasramp-desktop.m4v (39mb)

Click to play

 

Comments

by joe on Sep 25, 2009

>>

<p>by the way, if you're using the state_machine gem you'll need to use this fork (at least until it gets merged)</p> <pre> http://github.com/joelind/state_machine/commit/50aa5d730c9f244e2914ab36d0f89b07f 5f3d8a5 </pre> <p> Just add to environment.rb:</p> <pre> config.gem 'joelind-state_machine', :lib => "state_machine", :source => "http://gems.github.com" </pre>

by miguel on Nov 04, 2009

SaasRamp issue

Hello Jonathan ,

im integrating your plugin saasramp and i found a issue , when i pay for a plan , i get a descresing balance when and i switch to a lower plan , and then to a higer plan , and so on... is this a expected behavior ?

cheers

by admin on Nov 07, 2009

Re: SaasRamp issue

Hi miguel, yes it's the expected behavior if the subscription is active (not in trial), and time has passed between the changes. When you change plans, the unused value (from now to the end of the paid period) is prorated; then the new plan begins from now.

If you are seeing something different, feel free to email me directly. If you could modify the subscription_spec.rb to demonstrate the problem, that's be great.

Thanks and good luck.

by Zack on Feb 28, 2010

>>

I'm trying to use saasramp to my existing rails app, but I try to use it with ActiveMerchant 1.5.1, but when I run saas_migration I get these errors.

/Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies. rb:440:in `load_missing_constant': uninitialized constant ActiveMerchant::Billing::PayflowCommonApiGateway (NameError)

Seems to work okay with ActiveMerchant 1.4.1 though. Any ideas how to correct this so I can use the newer version of ActiveMerchant?

by Zack on Feb 28, 2010

>>

Fixed the first error by editing line 119 of gem_dependency.rb

 def requirement

r = Gem::Dependency.instance_methods.include?("requirement") ? super : version_requirements (r == Gem::Requirement.default) ? nil : r end

But, I still can't get the migrations to run because of the Payflow error.

by Marc Gayle on Feb 16, 2011

>>

Any chance you have the Rails 3 version of this gem and subsequent screencast ?

Thanks

New Comment

markdown formatting permitted