refinerycms-stores 0.0.16 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +2 -0
- data/VERSION +1 -1
- data/app/assets/images/Excel.png +0 -0
- data/app/assets/images/PowerPoint.png +0 -0
- data/app/assets/images/Word.png +0 -0
- data/app/assets/images/audio-icon.png +0 -0
- data/app/assets/images/camera-icon.png +0 -0
- data/app/assets/images/html-icon.png +0 -0
- data/app/assets/images/muku-doc-font-128.png +0 -0
- data/app/assets/images/pdf-icon.png +0 -0
- data/app/assets/images/print-icon.png +0 -0
- data/app/assets/images/video-icon.png +0 -0
- data/app/assets/images/warning-icon.png +0 -0
- data/app/assets/images/zip_thumb.png +0 -0
- data/app/assets/stylesheets/refinery/refinerycms-stores.sass +66 -0
- data/app/controllers/refinery/customers/customers_controller.rb +35 -17
- data/app/controllers/refinery/orders/admin/orders_controller.rb +2 -1
- data/app/controllers/refinery/orders/orders_controller.rb +14 -9
- data/app/controllers/refinery/products/admin/digidownloads_controller.rb +39 -0
- data/app/controllers/refinery/products/admin/products_controller.rb +54 -4
- data/app/controllers/refinery/products/digidownloads_controller.rb +32 -0
- data/app/controllers/refinery/products/products_controller.rb +3 -0
- data/app/controllers/refinery/stores/stores_controller.rb +3 -2
- data/app/controllers/refinery/stores_application_controller.rb +6 -1
- data/app/helpers/refinery/stores/stores_helper.rb +4 -3
- data/app/models/refinery/addresses/address.rb +42 -0
- data/app/models/refinery/customers/customer.rb +7 -1
- data/app/models/refinery/orders/line_item.rb +10 -0
- data/app/models/refinery/orders/order.rb +59 -47
- data/app/models/refinery/products/digidownload.rb +181 -0
- data/app/models/refinery/products/product.rb +21 -1
- data/app/views/refinery/customers/customers/edit.html.haml +54 -0
- data/app/views/refinery/customers/{new.html.haml → customers/new.html.haml} +10 -3
- data/app/views/refinery/orders/admin/orders/_actions.html.haml +4 -0
- data/app/views/refinery/orders/admin/orders/_order.html.haml +13 -0
- data/app/views/refinery/orders/admin/orders/_orders.html.haml +2 -0
- data/app/views/refinery/orders/admin/orders/_records.html.haml +12 -0
- data/app/views/refinery/orders/admin/orders/_sortable_list.html.haml +4 -0
- data/app/views/refinery/orders/admin/orders/index.html.haml +5 -0
- data/app/views/refinery/orders/admin/orders/show.html.haml +80 -0
- data/app/views/refinery/orders/orders/edit.html.haml +2 -2
- data/app/views/refinery/orders/orders/index.html.haml +19 -4
- data/app/views/refinery/orders/orders/show.html.haml +68 -25
- data/app/views/refinery/products/admin/digidownloads/_actions.html.haml +19 -0
- data/app/views/refinery/products/admin/digidownloads/_digidownload.html.haml +13 -0
- data/app/views/refinery/products/admin/digidownloads/_digidownloads.html.haml +2 -0
- data/app/views/refinery/products/admin/digidownloads/_form.html.haml +41 -0
- data/app/views/refinery/products/admin/digidownloads/_records.html.haml +12 -0
- data/app/views/refinery/products/admin/digidownloads/_sortable_list.html.haml +4 -0
- data/app/views/refinery/products/admin/digidownloads/edit.html.haml +2 -0
- data/app/views/refinery/products/admin/digidownloads/index.html.haml +6 -0
- data/app/views/refinery/products/admin/digidownloads/new.html.haml +2 -0
- data/app/views/refinery/products/admin/products/_form.html.haml +98 -0
- data/app/views/refinery/products/digidownloads/index.html.haml +28 -0
- data/app/views/refinery/products/digidownloads/show.html.haml +39 -0
- data/app/views/refinery/products/products/show.html.haml +10 -9
- data/app/views/refinery/shared/_address.html.haml +18 -0
- data/app/views/refinery/{orders/orders → shared}/_address_form.html.haml +0 -0
- data/app/views/refinery/{stores/stores → shared}/_cart.html.haml +2 -2
- data/app/views/refinery/{stores/stores → shared}/_cart_item.html.haml +0 -0
- data/app/views/refinery/shared/_customer_head.html.haml +20 -0
- data/app/views/refinery/stores/admin/stores/_actions.html.haml +46 -0
- data/app/views/refinery/stores/stores/show.html.haml +1 -1
- data/config/locales/en.yml +17 -0
- data/config/routes.rb +24 -9
- data/db/migrate/3_create_orders_orders.rb +2 -0
- data/db/migrate/7_create_products_digidownloads.rb +33 -0
- data/lib/refinery/addresses.rb +11 -11
- data/lib/refinery/addresses/engine.rb +3 -3
- data/lib/refinery/auth_key.rb +44 -0
- data/lib/refinery/customers.rb +11 -11
- data/lib/refinery/customers/engine.rb +3 -3
- data/lib/refinery/orders.rb +1 -1
- data/lib/refinery/products.rb +2 -2
- data/lib/refinery/products/engine.rb +2 -2
- data/lib/refinery/stores.rb +1 -0
- data/lib/refinery/stores/authenticated_system.rb +25 -0
- data/lib/refinery/stores/engine.rb +19 -0
- data/lib/refinerycms-stores.rb +5 -2
- data/readme.md +32 -1
- data/refinerycms-stores.gemspec +54 -20
- metadata +87 -37
- data/app/views/refinery/customers/edit.html.haml +0 -17
- data/app/views/refinery/orders/admin/orders/_actions.html.erb +0 -25
- data/app/views/refinery/orders/admin/orders/_form.html.erb +0 -122
- data/app/views/refinery/orders/admin/orders/_order.html.erb +0 -20
- data/app/views/refinery/orders/admin/orders/_orders.html.erb +0 -2
- data/app/views/refinery/orders/admin/orders/_records.html.erb +0 -18
- data/app/views/refinery/orders/admin/orders/_sortable_list.html.erb +0 -5
- data/app/views/refinery/orders/admin/orders/edit.html.erb +0 -1
- data/app/views/refinery/orders/admin/orders/index.html.erb +0 -7
- data/app/views/refinery/orders/admin/orders/new.html.erb +0 -1
- data/app/views/refinery/products/admin/products/_form.html.erb +0 -127
- data/app/views/refinery/stores/admin/stores/_actions.html.erb +0 -57
- data/app/views/refinery/stores/stores/_customer_head.html.haml +0 -12
|
@@ -18,6 +18,8 @@ class CreateOrdersOrders < ActiveRecord::Migration
|
|
|
18
18
|
t.integer :cc_expiry_year
|
|
19
19
|
t.datetime :cc_purchased_on
|
|
20
20
|
t.string :cc_confirmation_id
|
|
21
|
+
t.boolean :has_digidownloads, :default => false
|
|
22
|
+
t.boolean :has_registrations, :default => false
|
|
21
23
|
t.integer :position
|
|
22
24
|
|
|
23
25
|
t.timestamps
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
class CreateProductsDigidownloads < ActiveRecord::Migration
|
|
2
|
+
|
|
3
|
+
def up
|
|
4
|
+
create_table :refinery_digidownloads do |t|
|
|
5
|
+
t.references :product
|
|
6
|
+
t.string :download_token, :unique => true, :null => false
|
|
7
|
+
t.integer :download_completed, :default => 0
|
|
8
|
+
t.integer :download_remaining, :default => 0
|
|
9
|
+
t.integer :download_count, :default => 0
|
|
10
|
+
t.integer :restrict_count
|
|
11
|
+
t.integer :restrict_days
|
|
12
|
+
t.boolean :is_defunct, :default => false
|
|
13
|
+
|
|
14
|
+
t.has_attached_file :doc
|
|
15
|
+
t.has_attached_file :preview
|
|
16
|
+
|
|
17
|
+
t.integer :position
|
|
18
|
+
|
|
19
|
+
t.timestamps
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
add_index :refinery_digidownloads, :product_id
|
|
23
|
+
add_index :refinery_digidownloads, :download_token
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def down
|
|
28
|
+
|
|
29
|
+
drop_table :refinery_digidownloads
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
data/lib/refinery/addresses.rb
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
require 'refinerycms-core'
|
|
2
2
|
|
|
3
3
|
module Refinery
|
|
4
|
-
autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
4
|
+
# autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
5
5
|
|
|
6
6
|
module Addresses
|
|
7
|
-
|
|
7
|
+
# require 'refinery/addresses/engine'
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
# class << self
|
|
10
|
+
# attr_writer :root
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
# def root
|
|
13
|
+
# @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
|
|
14
|
+
# end
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
# def factory_paths
|
|
17
|
+
# @factory_paths ||= [ root.join('spec', 'factories').to_s ]
|
|
18
|
+
# end
|
|
19
|
+
# end
|
|
20
20
|
end
|
|
21
21
|
end
|
|
@@ -4,9 +4,9 @@ module Refinery
|
|
|
4
4
|
include Refinery::Engine
|
|
5
5
|
isolate_namespace Refinery::Addresses
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# engine_name :refinery_stores
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
# initializer "register refinerycms_addresses plugin" do |app|
|
|
10
10
|
# Refinery::Plugin.register do |plugin|
|
|
11
11
|
# plugin.name = "addresses"
|
|
12
12
|
# plugin.url = {
|
|
@@ -21,7 +21,7 @@ module Refinery
|
|
|
21
21
|
# }
|
|
22
22
|
#
|
|
23
23
|
# end
|
|
24
|
-
|
|
24
|
+
# end
|
|
25
25
|
|
|
26
26
|
config.after_initialize do
|
|
27
27
|
Refinery.register_engine(Refinery::Addresses)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# #########################################################################
|
|
2
|
+
# (c) 2011 David Anderson , All rights reserved; modifications, from whatever source, become IP of David Anderson
|
|
3
|
+
# #########################################################################
|
|
4
|
+
require 'digest/sha1'
|
|
5
|
+
|
|
6
|
+
# #########################################################################
|
|
7
|
+
# DRY place for all authorization keycode preparation
|
|
8
|
+
# #########################################################################
|
|
9
|
+
module Refinery
|
|
10
|
+
|
|
11
|
+
class AuthKey
|
|
12
|
+
|
|
13
|
+
# #########################################################################
|
|
14
|
+
|
|
15
|
+
# ------------------------------------------------------------------------
|
|
16
|
+
# ------------------------------------------------------------------------
|
|
17
|
+
def self.secure_digest(*args)
|
|
18
|
+
Digest::SHA1.hexdigest(args.flatten.join('--'))
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# ------------------------------------------------------------------------
|
|
22
|
+
# ------------------------------------------------------------------------
|
|
23
|
+
def self.make_token
|
|
24
|
+
secure_digest(Time.now, (1..10).map{ rand.to_s })
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# ------------------------------------------------------------------------
|
|
28
|
+
# make_auth_key -- returns a SHA-encrypted randomized key from time & seed
|
|
29
|
+
# ------------------------------------------------------------------------
|
|
30
|
+
def self.make_auth_key( seed='' )
|
|
31
|
+
return Digest::SHA1.hexdigest( (Time.now.to_s + seed.to_s ).split(//).sort_by {rand}.join )
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# ------------------------------------------------------------------------
|
|
36
|
+
# ------------------------------------------------------------------------
|
|
37
|
+
|
|
38
|
+
# ------------------------------------------------------------------------
|
|
39
|
+
# ------------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
# #########################################################################
|
|
42
|
+
# #########################################################################
|
|
43
|
+
end # class AuthKey
|
|
44
|
+
end # mod Refinery
|
data/lib/refinery/customers.rb
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
require 'refinerycms-core'
|
|
2
2
|
|
|
3
3
|
module Refinery
|
|
4
|
-
autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
4
|
+
# autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
5
5
|
|
|
6
6
|
module Customers
|
|
7
|
-
|
|
7
|
+
# require 'refinery/customers/engine'
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
# class << self
|
|
10
|
+
# attr_writer :root
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
# def root
|
|
13
|
+
# @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
|
|
14
|
+
# end
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
# def factory_paths
|
|
17
|
+
# @factory_paths ||= [ root.join('spec', 'factories').to_s ]
|
|
18
|
+
# end
|
|
19
|
+
# end
|
|
20
20
|
end
|
|
21
21
|
end
|
|
@@ -4,9 +4,9 @@ module Refinery
|
|
|
4
4
|
include Refinery::Engine
|
|
5
5
|
isolate_namespace Refinery::Customers
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# engine_name :refinery_stores
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
# initializer "register refinerycms_customers plugin" do |app|
|
|
10
10
|
# Refinery::Plugin.register do |plugin|
|
|
11
11
|
# plugin.name = "customers"
|
|
12
12
|
# plugin.url = {
|
|
@@ -21,7 +21,7 @@ module Refinery
|
|
|
21
21
|
# }
|
|
22
22
|
#
|
|
23
23
|
# end
|
|
24
|
-
|
|
24
|
+
# end
|
|
25
25
|
|
|
26
26
|
config.after_initialize do
|
|
27
27
|
Refinery.register_engine(Refinery::Customers)
|
data/lib/refinery/orders.rb
CHANGED
data/lib/refinery/products.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require 'refinerycms-core'
|
|
2
2
|
|
|
3
3
|
module Refinery
|
|
4
|
-
autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
4
|
+
# autoload :StoresGenerator, 'generators/refinery/stores_generator'
|
|
5
5
|
|
|
6
6
|
module Products
|
|
7
|
-
|
|
7
|
+
require 'refinery/products/engine'
|
|
8
8
|
|
|
9
9
|
class << self
|
|
10
10
|
attr_writer :root
|
|
@@ -6,7 +6,7 @@ module Refinery
|
|
|
6
6
|
|
|
7
7
|
engine_name :refinery_stores
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
# initializer "register refinerycms_products plugin" do |app|
|
|
10
10
|
# Refinery::Plugin.register do |plugin|
|
|
11
11
|
# plugin.name = "products"
|
|
12
12
|
# plugin.url = {
|
|
@@ -21,7 +21,7 @@ module Refinery
|
|
|
21
21
|
# }
|
|
22
22
|
#
|
|
23
23
|
# end
|
|
24
|
-
|
|
24
|
+
# end
|
|
25
25
|
|
|
26
26
|
config.after_initialize do
|
|
27
27
|
Refinery.register_engine(Refinery::Products)
|
data/lib/refinery/stores.rb
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Refinery
|
|
2
|
+
module AuthenticatedSystem
|
|
3
|
+
|
|
4
|
+
def after_sign_in_path_for(resource_or_scope)
|
|
5
|
+
store_root
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def after_sign_out_path_for(resource_or_scope)
|
|
9
|
+
store_root
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def after_update_path_for(resource)
|
|
13
|
+
store_root
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def after_sign_up_path_for(resource)
|
|
17
|
+
store_root
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
def store_root
|
|
22
|
+
refinery.stores_root_url
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -26,6 +26,25 @@ module Refinery
|
|
|
26
26
|
config.after_initialize do
|
|
27
27
|
Refinery.register_engine(Refinery::Stores)
|
|
28
28
|
end
|
|
29
|
+
|
|
30
|
+
config.to_prepare do
|
|
31
|
+
::Refinery::User.class_eval do
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
has_many :addresses, :class_name => ::Refinery::Addresses::Address, :foreign_key => :customer_id
|
|
35
|
+
has_many :orders, :class_name => ::Refinery::Orders::Order, :foreign_key => :order_customer_id
|
|
36
|
+
has_many :digidownloads, :through => :orders, :class_name => ::Refinery::Products::Digidownload
|
|
37
|
+
|
|
38
|
+
has_one :billing_address, :class_name => ::Refinery::Addresses::Address,
|
|
39
|
+
:foreign_key => :customer_id,
|
|
40
|
+
:conditions => { :is_billing => true, :order_id => nil }
|
|
41
|
+
|
|
42
|
+
has_one :shipping_address, :class_name => ::Refinery::Addresses::Address,
|
|
43
|
+
:foreign_key => :customer_id,
|
|
44
|
+
:conditions => { :is_billing => false, :order_id => nil }
|
|
45
|
+
|
|
46
|
+
end # extend user for customers
|
|
47
|
+
end # to prepare
|
|
29
48
|
end
|
|
30
49
|
end
|
|
31
50
|
end
|
data/lib/refinerycms-stores.rb
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
require 'refinery/stores'
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
require 'refinery/cart'
|
|
4
4
|
require 'refinery/cart_item'
|
|
5
|
+
require 'refinery/store_gateway'
|
|
6
|
+
require 'refinery/auth_key'
|
|
7
|
+
|
|
8
|
+
require 'refinery/products'
|
|
5
9
|
require 'refinery/orders'
|
|
6
10
|
require 'refinery/addresses'
|
|
7
|
-
require 'refinery/store_gateway'
|
|
8
11
|
require 'refinery/customers'
|
data/readme.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Stores engine for Refinery CMS.
|
|
2
2
|
|
|
3
|
+
## *** STILL IN DEVELOPMENT ***
|
|
4
|
+
|
|
5
|
+
release: 0.1.0
|
|
6
|
+
Basic e-commerce shopping cart for digital downloads on the Stripe payments gateway.
|
|
7
|
+
|
|
8
|
+
Here's what works:
|
|
9
|
+
|
|
10
|
+
* Customer: signup, signin, signout, edit customer profile
|
|
11
|
+
* Stores: create, delete, edit, show stores; however, only 1 store (:is_active => true) is ever shown to customers
|
|
12
|
+
* The active store will always show the entire catalog (no paging yet); click name to view, click add-to-cart
|
|
13
|
+
* Products: create, delete, edit
|
|
14
|
+
* Digital Downloads: add, edit, show, play, attach/detach to a product, index
|
|
15
|
+
* Cart: exists only within context of the session; lose the session, lose the cart
|
|
16
|
+
* Checkout: converts cart to proto-Order
|
|
17
|
+
* Orders: order state machine works; edit order, enter credit card, purchase, index, show
|
|
18
|
+
* admin dashboard: view, track orders
|
|
19
|
+
* Payment gateway: Stripe is default, setup keys in Settings (first time usage creates empty default secret, API); Stripe is working for purchases.
|
|
20
|
+
* Styling: very minimal (in RefineryCMS tradition), but fully capable of supporting fancy CSS styling
|
|
21
|
+
|
|
22
|
+
## TO-DO List ##
|
|
23
|
+
|
|
24
|
+
* shipping
|
|
25
|
+
* tax modes
|
|
26
|
+
* product variations
|
|
27
|
+
* related products
|
|
28
|
+
* registrations (register for classes, events, seminars, etc)
|
|
29
|
+
* discounts
|
|
30
|
+
* product inventory add/subtract upon purchase
|
|
31
|
+
* digi-downloads: restrict download counts or days after purchase
|
|
32
|
+
* order fulfillment (admin): need process actions to ship
|
|
33
|
+
|
|
3
34
|
## How to build this engine as a gem
|
|
4
35
|
|
|
5
36
|
cd vendor/engines/stores
|
|
@@ -7,4 +38,4 @@
|
|
|
7
38
|
gem install refinerycms-stores.gem
|
|
8
39
|
|
|
9
40
|
# Sign up for a http://rubygems.org/ account and publish the gem
|
|
10
|
-
gem push refinerycms-stores.gem
|
|
41
|
+
gem push refinerycms-stores.gem
|
data/refinerycms-stores.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "refinerycms-stores"
|
|
8
|
-
s.version = "0.0
|
|
8
|
+
s.version = "0.1.0"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Daudi Amani"]
|
|
12
|
-
s.date = "2012-
|
|
12
|
+
s.date = "2012-04-18"
|
|
13
13
|
s.description = "Complete engine for Stripe gateway-based shopping cart to be used with a RefineryCMS project"
|
|
14
14
|
s.email = "dsaronin@gmail.com"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -21,12 +21,26 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
"LICENSE.txt",
|
|
22
22
|
"Rakefile",
|
|
23
23
|
"VERSION",
|
|
24
|
+
"app/assets/images/Excel.png",
|
|
25
|
+
"app/assets/images/PowerPoint.png",
|
|
26
|
+
"app/assets/images/Word.png",
|
|
27
|
+
"app/assets/images/audio-icon.png",
|
|
28
|
+
"app/assets/images/camera-icon.png",
|
|
29
|
+
"app/assets/images/html-icon.png",
|
|
30
|
+
"app/assets/images/muku-doc-font-128.png",
|
|
31
|
+
"app/assets/images/pdf-icon.png",
|
|
32
|
+
"app/assets/images/print-icon.png",
|
|
33
|
+
"app/assets/images/video-icon.png",
|
|
34
|
+
"app/assets/images/warning-icon.png",
|
|
35
|
+
"app/assets/images/zip_thumb.png",
|
|
24
36
|
"app/assets/stylesheets/refinery/refinerycms-stores.sass",
|
|
25
37
|
"app/controllers/refinery/addresses/admin/addresses_controller.rb",
|
|
26
38
|
"app/controllers/refinery/customers/customers_controller.rb",
|
|
27
39
|
"app/controllers/refinery/orders/admin/orders_controller.rb",
|
|
28
40
|
"app/controllers/refinery/orders/orders_controller.rb",
|
|
41
|
+
"app/controllers/refinery/products/admin/digidownloads_controller.rb",
|
|
29
42
|
"app/controllers/refinery/products/admin/products_controller.rb",
|
|
43
|
+
"app/controllers/refinery/products/digidownloads_controller.rb",
|
|
30
44
|
"app/controllers/refinery/products/products_controller.rb",
|
|
31
45
|
"app/controllers/refinery/stores/admin/stores_controller.rb",
|
|
32
46
|
"app/controllers/refinery/stores/stores_controller.rb",
|
|
@@ -37,6 +51,7 @@ Gem::Specification.new do |s|
|
|
|
37
51
|
"app/models/refinery/customers/customer.rb",
|
|
38
52
|
"app/models/refinery/orders/line_item.rb",
|
|
39
53
|
"app/models/refinery/orders/order.rb",
|
|
54
|
+
"app/models/refinery/products/digidownload.rb",
|
|
40
55
|
"app/models/refinery/products/product.rb",
|
|
41
56
|
"app/models/refinery/stores/store.rb",
|
|
42
57
|
"app/views/refinery/addresses/admin/addresses/_actions.html.erb",
|
|
@@ -48,18 +63,15 @@ Gem::Specification.new do |s|
|
|
|
48
63
|
"app/views/refinery/addresses/admin/addresses/edit.html.erb",
|
|
49
64
|
"app/views/refinery/addresses/admin/addresses/index.html.erb",
|
|
50
65
|
"app/views/refinery/addresses/admin/addresses/new.html.erb",
|
|
51
|
-
"app/views/refinery/customers/edit.html.haml",
|
|
52
|
-
"app/views/refinery/customers/new.html.haml",
|
|
53
|
-
"app/views/refinery/orders/admin/orders/_actions.html.
|
|
54
|
-
"app/views/refinery/orders/admin/orders/
|
|
55
|
-
"app/views/refinery/orders/admin/orders/
|
|
56
|
-
"app/views/refinery/orders/admin/orders/
|
|
57
|
-
"app/views/refinery/orders/admin/orders/
|
|
58
|
-
"app/views/refinery/orders/admin/orders/
|
|
59
|
-
"app/views/refinery/orders/admin/orders/
|
|
60
|
-
"app/views/refinery/orders/admin/orders/index.html.erb",
|
|
61
|
-
"app/views/refinery/orders/admin/orders/new.html.erb",
|
|
62
|
-
"app/views/refinery/orders/orders/_address_form.html.haml",
|
|
66
|
+
"app/views/refinery/customers/customers/edit.html.haml",
|
|
67
|
+
"app/views/refinery/customers/customers/new.html.haml",
|
|
68
|
+
"app/views/refinery/orders/admin/orders/_actions.html.haml",
|
|
69
|
+
"app/views/refinery/orders/admin/orders/_order.html.haml",
|
|
70
|
+
"app/views/refinery/orders/admin/orders/_orders.html.haml",
|
|
71
|
+
"app/views/refinery/orders/admin/orders/_records.html.haml",
|
|
72
|
+
"app/views/refinery/orders/admin/orders/_sortable_list.html.haml",
|
|
73
|
+
"app/views/refinery/orders/admin/orders/index.html.haml",
|
|
74
|
+
"app/views/refinery/orders/admin/orders/show.html.haml",
|
|
63
75
|
"app/views/refinery/orders/orders/_card_form.html.haml",
|
|
64
76
|
"app/views/refinery/orders/orders/_order_snapshot.html.haml",
|
|
65
77
|
"app/views/refinery/orders/orders/confirmation.html.haml",
|
|
@@ -67,8 +79,17 @@ Gem::Specification.new do |s|
|
|
|
67
79
|
"app/views/refinery/orders/orders/index.html.haml",
|
|
68
80
|
"app/views/refinery/orders/orders/purchase.html.haml",
|
|
69
81
|
"app/views/refinery/orders/orders/show.html.haml",
|
|
82
|
+
"app/views/refinery/products/admin/digidownloads/_actions.html.haml",
|
|
83
|
+
"app/views/refinery/products/admin/digidownloads/_digidownload.html.haml",
|
|
84
|
+
"app/views/refinery/products/admin/digidownloads/_digidownloads.html.haml",
|
|
85
|
+
"app/views/refinery/products/admin/digidownloads/_form.html.haml",
|
|
86
|
+
"app/views/refinery/products/admin/digidownloads/_records.html.haml",
|
|
87
|
+
"app/views/refinery/products/admin/digidownloads/_sortable_list.html.haml",
|
|
88
|
+
"app/views/refinery/products/admin/digidownloads/edit.html.haml",
|
|
89
|
+
"app/views/refinery/products/admin/digidownloads/index.html.haml",
|
|
90
|
+
"app/views/refinery/products/admin/digidownloads/new.html.haml",
|
|
70
91
|
"app/views/refinery/products/admin/products/_actions.html.erb",
|
|
71
|
-
"app/views/refinery/products/admin/products/_form.html.
|
|
92
|
+
"app/views/refinery/products/admin/products/_form.html.haml",
|
|
72
93
|
"app/views/refinery/products/admin/products/_product.html.erb",
|
|
73
94
|
"app/views/refinery/products/admin/products/_products.html.erb",
|
|
74
95
|
"app/views/refinery/products/admin/products/_records.html.erb",
|
|
@@ -76,8 +97,15 @@ Gem::Specification.new do |s|
|
|
|
76
97
|
"app/views/refinery/products/admin/products/edit.html.erb",
|
|
77
98
|
"app/views/refinery/products/admin/products/index.html.erb",
|
|
78
99
|
"app/views/refinery/products/admin/products/new.html.erb",
|
|
100
|
+
"app/views/refinery/products/digidownloads/index.html.haml",
|
|
101
|
+
"app/views/refinery/products/digidownloads/show.html.haml",
|
|
79
102
|
"app/views/refinery/products/products/show.html.haml",
|
|
80
|
-
"app/views/refinery/
|
|
103
|
+
"app/views/refinery/shared/_address.html.haml",
|
|
104
|
+
"app/views/refinery/shared/_address_form.html.haml",
|
|
105
|
+
"app/views/refinery/shared/_cart.html.haml",
|
|
106
|
+
"app/views/refinery/shared/_cart_item.html.haml",
|
|
107
|
+
"app/views/refinery/shared/_customer_head.html.haml",
|
|
108
|
+
"app/views/refinery/stores/admin/stores/_actions.html.haml",
|
|
81
109
|
"app/views/refinery/stores/admin/stores/_form.html.erb",
|
|
82
110
|
"app/views/refinery/stores/admin/stores/_records.html.erb",
|
|
83
111
|
"app/views/refinery/stores/admin/stores/_sortable_list.html.erb",
|
|
@@ -86,9 +114,6 @@ Gem::Specification.new do |s|
|
|
|
86
114
|
"app/views/refinery/stores/admin/stores/edit.html.erb",
|
|
87
115
|
"app/views/refinery/stores/admin/stores/index.html.erb",
|
|
88
116
|
"app/views/refinery/stores/admin/stores/new.html.erb",
|
|
89
|
-
"app/views/refinery/stores/stores/_cart.html.haml",
|
|
90
|
-
"app/views/refinery/stores/stores/_cart_item.html.haml",
|
|
91
|
-
"app/views/refinery/stores/stores/_customer_head.html.haml",
|
|
92
117
|
"app/views/refinery/stores/stores/_list_product.html.haml",
|
|
93
118
|
"app/views/refinery/stores/stores/index.html.haml",
|
|
94
119
|
"app/views/refinery/stores/stores/show.html.haml",
|
|
@@ -104,10 +129,12 @@ Gem::Specification.new do |s|
|
|
|
104
129
|
"db/migrate/4_create_orders_line_items.rb",
|
|
105
130
|
"db/migrate/5_create_addresses_addresses.rb",
|
|
106
131
|
"db/migrate/6_create_customers_customers.rb",
|
|
132
|
+
"db/migrate/7_create_products_digidownloads.rb",
|
|
107
133
|
"db/seeds.rb",
|
|
108
134
|
"lib/generators/refinery/stores_generator.rb",
|
|
109
135
|
"lib/refinery/addresses.rb",
|
|
110
136
|
"lib/refinery/addresses/engine.rb",
|
|
137
|
+
"lib/refinery/auth_key.rb",
|
|
111
138
|
"lib/refinery/cart.rb",
|
|
112
139
|
"lib/refinery/cart_item.rb",
|
|
113
140
|
"lib/refinery/customers.rb",
|
|
@@ -118,6 +145,7 @@ Gem::Specification.new do |s|
|
|
|
118
145
|
"lib/refinery/products/engine.rb",
|
|
119
146
|
"lib/refinery/store_gateway.rb",
|
|
120
147
|
"lib/refinery/stores.rb",
|
|
148
|
+
"lib/refinery/stores/authenticated_system.rb",
|
|
121
149
|
"lib/refinery/stores/engine.rb",
|
|
122
150
|
"lib/refinerycms-stores.rb",
|
|
123
151
|
"lib/tasks/refinery/stores.rake",
|
|
@@ -144,7 +172,7 @@ Gem::Specification.new do |s|
|
|
|
144
172
|
s.homepage = "http://github.com/dsaronin@gmail.com/refinerycms-stores"
|
|
145
173
|
s.licenses = ["MIT"]
|
|
146
174
|
s.require_paths = ["lib"]
|
|
147
|
-
s.rubygems_version = "1.8.
|
|
175
|
+
s.rubygems_version = "1.8.15"
|
|
148
176
|
s.summary = "refinerycms shopping cart engine"
|
|
149
177
|
|
|
150
178
|
if s.respond_to? :specification_version then
|
|
@@ -158,6 +186,8 @@ Gem::Specification.new do |s|
|
|
|
158
186
|
s.add_runtime_dependency(%q<ruby_parser>, [">= 0"])
|
|
159
187
|
s.add_runtime_dependency(%q<haml-rails>, [">= 0"])
|
|
160
188
|
s.add_runtime_dependency(%q<stripe>, [">= 0"])
|
|
189
|
+
s.add_runtime_dependency(%q<paperclip>, [">= 0"])
|
|
190
|
+
s.add_runtime_dependency(%q<aws-sdk>, [">= 0"])
|
|
161
191
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
|
162
192
|
else
|
|
163
193
|
s.add_dependency(%q<refinerycms>, [">= 2.0.0"])
|
|
@@ -167,6 +197,8 @@ Gem::Specification.new do |s|
|
|
|
167
197
|
s.add_dependency(%q<ruby_parser>, [">= 0"])
|
|
168
198
|
s.add_dependency(%q<haml-rails>, [">= 0"])
|
|
169
199
|
s.add_dependency(%q<stripe>, [">= 0"])
|
|
200
|
+
s.add_dependency(%q<paperclip>, [">= 0"])
|
|
201
|
+
s.add_dependency(%q<aws-sdk>, [">= 0"])
|
|
170
202
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
171
203
|
end
|
|
172
204
|
else
|
|
@@ -177,6 +209,8 @@ Gem::Specification.new do |s|
|
|
|
177
209
|
s.add_dependency(%q<ruby_parser>, [">= 0"])
|
|
178
210
|
s.add_dependency(%q<haml-rails>, [">= 0"])
|
|
179
211
|
s.add_dependency(%q<stripe>, [">= 0"])
|
|
212
|
+
s.add_dependency(%q<paperclip>, [">= 0"])
|
|
213
|
+
s.add_dependency(%q<aws-sdk>, [">= 0"])
|
|
180
214
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
181
215
|
end
|
|
182
216
|
end
|