Shopify.routes
Provides routes that redirect back to Shopify pages.
Installation
Add this line to your application's Gemfile:
gem 'shopify-routes'
And then execute:
$ bundle
Or install it yourself as:
$ gem install shopify-routes
Usage
Adding the routes to your app is dead simple. All you need to do is add a single
line of code to your config/routes.rb
file. However, it's highly recommended
that you add your routes to a namespace to prevent conflicts with your
application. Here's an example of how to add all the Shopify routes under a
:shopify
namespace:
MyApp::Application.routes.draw do
namespace :shopify do
ShopifyAPI::Routes.draw(self)
end
end
You can also specify which routes you want to include, or exclude, as you would normally with a Rails resource:
ShopifyAPI::Routes.draw self, only: [ :orders, :products ]
ShopifyAPI::Routes.draw self, except: [ :articles, :blogs ]
To include a referrer ID for the :signup
and :brochure
pages, add a
:referrer
option to the routes:
ShopifyAPI::Routes.draw self, :referrer => "travishaynes"
The above example would route shopify_brochure_path
to
http://www.shopify.com?ref=travishaynes,
and shopify_signup_path
to
https://app.shopify.com/services/signup?ref=travishaynes.
Routes
For all except the brochure and signup pages, you'll have to include the shop's domain in the url helper. For example:
orders_url(:shop => "my-shopify-domain")
Or for redirecting to a specific order:
order_url(:shop => "my-shopify-domain", :id => 1001)
Here's a list of all the routes that will be added to your app, outside of any namespace to keep things simple.
brochure /
signup /signup(.:format)
admin /:shop/admin(.:format)
applications /:shop/admin/applications(.:format)
orders /:shop/admin/orders(.:format)
order /:shop/admin/orders/:id(.:format)
customers /:shop/admin/customers(.:format)
customer /:shop/admin/customers/:id(.:format)
new_customer /:shop/admin/customers/new(.:format)
products /:shop/admin/products(.:format)
product /:shop/admin/products/:id(.:format)
new_product /:shop/admin/products/new(.:format)
custom_collections /:shop/admin/custom_collections(.:format)
custom_collection /:shop/admin/custom_collections/:id(.:format)
new_custom_collection /:shop/admin/custom_collections/new(.:format)
smart_collections /:shop/admin/smart_collections(.:format)
smart_collection /:shop/admin/smart_collections/:id(.:format)
new_smart_collection /:shop/admin/smart_collections/new(.:format)
pages /:shop/admin/pages(.:format)
page /:shop/admin/pages/:id(.:format)
new_page /:shop/admin/pages/new(.:format)
blogs /:shop/admin/blogs(.:format)
blog /:shop/admin/blogs/:id(.:format)
new_blog /:shop/admin/blogs/new(.:format)
navigation /:shop/admin/links(.:format)
promotions /:shop/admin/marketing(.:format)
themes /:shop/admin/themes(.:format)
theme /:shop/admin/themes/:id(.:format)
theme_settings /:shop/admin/themes:id/settings(.:format)
general_settings /:shop/admin/general_preferences(.:format)
regions /:shop/admin/countries(.:format)
region /:shop/admin/countries/:id(.:format)
new_region /:shop/admin/countries/new(.:format)
checkout_and_payment /:shop/admin/payments(.:format)
shipping_rates /:shop/admin/shipping(.:format)
weight_based_shipping_rate /:shop/admin/weight_based_shipping_rates/:id(.:format)
price_based_shipping_rate /:shop/admin/price_based_shipping_rates/:id(.:format)
fulfillment_services /:shop/admin/fulfillment_services(.:format)
notifications /:shop/admin/notifications(.:format)
notification /:shop/admin/notifications/:id(.:format)
domains /:shop/admin/domains(.:format)
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request