Awesome
THIS README IS FOR THE SPREE-1-1 BRANCH OF SPREE-API
SUMMARY:-
spree_custom_api is a complete open source e-commerce solution built with Ruby on Rails. It was originally developed by RailsFactory Team.
spree_custom_api actually consists of list of api's for Spree Version 1.1.0. The list of available api's can be known from the spree_custom_api documentation.
Url:- http://spree-apidoc.heroku.com
Http Authentications for viewing the documentation:-
username : apidoc password : d0capi
Installation Steps:-
step 1: Add the gem to the gem file
gem "spree_custom_api", :git=>'git@github.com:railsfactory/spree-api.git'
step 2: bundle install
step 3: Create a new migration in sandbox
$ rails generate migration AddApiToOrders
class AddApiToOrders < ActiveRecord::Migration
def self.up
add_column :spree_orders, :api, :boolean,:default => 0
end
def self.down
remove_column :spree_orders, :api, :boolean
end
end
step 4: rake db:migrate
step 5: Changes in spree core:-
Go to spree core/lib/spree/core/current_order.rb
Replace the method "current_order" with
def current_order(create_order_if_necessary = false,auth=nil) if !params[:format].nil? && params[:format] == "json" if@current_order.nil? @current_order = Spree::Order.new user=Spree::User.find_by_authentication_token(auth) @current_order.email = user.email @current_order.user_id=user.id @current_order.api=1 @current_order.save() return @current_order else user=Spree::User.find_by_authentication_token(auth) @current_order = Order.find_by_user_id(user.id) end else return @current_order if @current_order if session[:order_id] @current_order = Spree::Order.find_by_id(session[:order_id], :include => :adjustments) end if create_order_if_necessary and (@current_order.nil? or @current_order.completed?) @current_order = Spree::Order.new before_save_new_order @current_order.save! after_save_new_order end session[:order_id] = @current_order ? @current_order.id : nil @current_order end end