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.
Files changed (95) hide show
  1. data/Gemfile +2 -0
  2. data/VERSION +1 -1
  3. data/app/assets/images/Excel.png +0 -0
  4. data/app/assets/images/PowerPoint.png +0 -0
  5. data/app/assets/images/Word.png +0 -0
  6. data/app/assets/images/audio-icon.png +0 -0
  7. data/app/assets/images/camera-icon.png +0 -0
  8. data/app/assets/images/html-icon.png +0 -0
  9. data/app/assets/images/muku-doc-font-128.png +0 -0
  10. data/app/assets/images/pdf-icon.png +0 -0
  11. data/app/assets/images/print-icon.png +0 -0
  12. data/app/assets/images/video-icon.png +0 -0
  13. data/app/assets/images/warning-icon.png +0 -0
  14. data/app/assets/images/zip_thumb.png +0 -0
  15. data/app/assets/stylesheets/refinery/refinerycms-stores.sass +66 -0
  16. data/app/controllers/refinery/customers/customers_controller.rb +35 -17
  17. data/app/controllers/refinery/orders/admin/orders_controller.rb +2 -1
  18. data/app/controllers/refinery/orders/orders_controller.rb +14 -9
  19. data/app/controllers/refinery/products/admin/digidownloads_controller.rb +39 -0
  20. data/app/controllers/refinery/products/admin/products_controller.rb +54 -4
  21. data/app/controllers/refinery/products/digidownloads_controller.rb +32 -0
  22. data/app/controllers/refinery/products/products_controller.rb +3 -0
  23. data/app/controllers/refinery/stores/stores_controller.rb +3 -2
  24. data/app/controllers/refinery/stores_application_controller.rb +6 -1
  25. data/app/helpers/refinery/stores/stores_helper.rb +4 -3
  26. data/app/models/refinery/addresses/address.rb +42 -0
  27. data/app/models/refinery/customers/customer.rb +7 -1
  28. data/app/models/refinery/orders/line_item.rb +10 -0
  29. data/app/models/refinery/orders/order.rb +59 -47
  30. data/app/models/refinery/products/digidownload.rb +181 -0
  31. data/app/models/refinery/products/product.rb +21 -1
  32. data/app/views/refinery/customers/customers/edit.html.haml +54 -0
  33. data/app/views/refinery/customers/{new.html.haml → customers/new.html.haml} +10 -3
  34. data/app/views/refinery/orders/admin/orders/_actions.html.haml +4 -0
  35. data/app/views/refinery/orders/admin/orders/_order.html.haml +13 -0
  36. data/app/views/refinery/orders/admin/orders/_orders.html.haml +2 -0
  37. data/app/views/refinery/orders/admin/orders/_records.html.haml +12 -0
  38. data/app/views/refinery/orders/admin/orders/_sortable_list.html.haml +4 -0
  39. data/app/views/refinery/orders/admin/orders/index.html.haml +5 -0
  40. data/app/views/refinery/orders/admin/orders/show.html.haml +80 -0
  41. data/app/views/refinery/orders/orders/edit.html.haml +2 -2
  42. data/app/views/refinery/orders/orders/index.html.haml +19 -4
  43. data/app/views/refinery/orders/orders/show.html.haml +68 -25
  44. data/app/views/refinery/products/admin/digidownloads/_actions.html.haml +19 -0
  45. data/app/views/refinery/products/admin/digidownloads/_digidownload.html.haml +13 -0
  46. data/app/views/refinery/products/admin/digidownloads/_digidownloads.html.haml +2 -0
  47. data/app/views/refinery/products/admin/digidownloads/_form.html.haml +41 -0
  48. data/app/views/refinery/products/admin/digidownloads/_records.html.haml +12 -0
  49. data/app/views/refinery/products/admin/digidownloads/_sortable_list.html.haml +4 -0
  50. data/app/views/refinery/products/admin/digidownloads/edit.html.haml +2 -0
  51. data/app/views/refinery/products/admin/digidownloads/index.html.haml +6 -0
  52. data/app/views/refinery/products/admin/digidownloads/new.html.haml +2 -0
  53. data/app/views/refinery/products/admin/products/_form.html.haml +98 -0
  54. data/app/views/refinery/products/digidownloads/index.html.haml +28 -0
  55. data/app/views/refinery/products/digidownloads/show.html.haml +39 -0
  56. data/app/views/refinery/products/products/show.html.haml +10 -9
  57. data/app/views/refinery/shared/_address.html.haml +18 -0
  58. data/app/views/refinery/{orders/orders → shared}/_address_form.html.haml +0 -0
  59. data/app/views/refinery/{stores/stores → shared}/_cart.html.haml +2 -2
  60. data/app/views/refinery/{stores/stores → shared}/_cart_item.html.haml +0 -0
  61. data/app/views/refinery/shared/_customer_head.html.haml +20 -0
  62. data/app/views/refinery/stores/admin/stores/_actions.html.haml +46 -0
  63. data/app/views/refinery/stores/stores/show.html.haml +1 -1
  64. data/config/locales/en.yml +17 -0
  65. data/config/routes.rb +24 -9
  66. data/db/migrate/3_create_orders_orders.rb +2 -0
  67. data/db/migrate/7_create_products_digidownloads.rb +33 -0
  68. data/lib/refinery/addresses.rb +11 -11
  69. data/lib/refinery/addresses/engine.rb +3 -3
  70. data/lib/refinery/auth_key.rb +44 -0
  71. data/lib/refinery/customers.rb +11 -11
  72. data/lib/refinery/customers/engine.rb +3 -3
  73. data/lib/refinery/orders.rb +1 -1
  74. data/lib/refinery/products.rb +2 -2
  75. data/lib/refinery/products/engine.rb +2 -2
  76. data/lib/refinery/stores.rb +1 -0
  77. data/lib/refinery/stores/authenticated_system.rb +25 -0
  78. data/lib/refinery/stores/engine.rb +19 -0
  79. data/lib/refinerycms-stores.rb +5 -2
  80. data/readme.md +32 -1
  81. data/refinerycms-stores.gemspec +54 -20
  82. metadata +87 -37
  83. data/app/views/refinery/customers/edit.html.haml +0 -17
  84. data/app/views/refinery/orders/admin/orders/_actions.html.erb +0 -25
  85. data/app/views/refinery/orders/admin/orders/_form.html.erb +0 -122
  86. data/app/views/refinery/orders/admin/orders/_order.html.erb +0 -20
  87. data/app/views/refinery/orders/admin/orders/_orders.html.erb +0 -2
  88. data/app/views/refinery/orders/admin/orders/_records.html.erb +0 -18
  89. data/app/views/refinery/orders/admin/orders/_sortable_list.html.erb +0 -5
  90. data/app/views/refinery/orders/admin/orders/edit.html.erb +0 -1
  91. data/app/views/refinery/orders/admin/orders/index.html.erb +0 -7
  92. data/app/views/refinery/orders/admin/orders/new.html.erb +0 -1
  93. data/app/views/refinery/products/admin/products/_form.html.erb +0 -127
  94. data/app/views/refinery/stores/admin/stores/_actions.html.erb +0 -57
  95. 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
@@ -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
- require 'refinery/addresses/engine'
7
+ # require 'refinery/addresses/engine'
8
8
 
9
- class << self
10
- attr_writer :root
9
+ # class << self
10
+ # attr_writer :root
11
11
 
12
- def root
13
- @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
14
- end
12
+ # def root
13
+ # @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
14
+ # end
15
15
 
16
- def factory_paths
17
- @factory_paths ||= [ root.join('spec', 'factories').to_s ]
18
- end
19
- end
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
- engine_name :refinery_stores
7
+ # engine_name :refinery_stores
8
8
 
9
- initializer "register refinerycms_addresses plugin" do |app|
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
- end
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
@@ -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
- require 'refinery/customers/engine'
7
+ # require 'refinery/customers/engine'
8
8
 
9
- class << self
10
- attr_writer :root
9
+ # class << self
10
+ # attr_writer :root
11
11
 
12
- def root
13
- @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
14
- end
12
+ # def root
13
+ # @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
14
+ # end
15
15
 
16
- def factory_paths
17
- @factory_paths ||= [ root.join('spec', 'factories').to_s ]
18
- end
19
- end
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
- engine_name :refinery_stores
7
+ # engine_name :refinery_stores
8
8
 
9
- initializer "register refinerycms_customers plugin" do |app|
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
- end
24
+ # end
25
25
 
26
26
  config.after_initialize do
27
27
  Refinery.register_engine(Refinery::Customers)
@@ -1,7 +1,7 @@
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 Orders
7
7
  require 'refinery/orders/engine'
@@ -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
- require 'refinery/products/engine'
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
- initializer "register refinerycms_products plugin" do |app|
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
- end
24
+ # end
25
25
 
26
26
  config.after_initialize do
27
27
  Refinery.register_engine(Refinery::Products)
@@ -2,6 +2,7 @@ require 'refinerycms-core'
2
2
 
3
3
  module Refinery
4
4
  autoload :StoresGenerator, 'generators/refinery/stores_generator'
5
+ require 'refinery/stores/authenticated_system'
5
6
 
6
7
  module Stores
7
8
  require 'refinery/stores/engine'
@@ -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
@@ -1,8 +1,11 @@
1
1
  require 'refinery/stores'
2
- require 'refinery/products'
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "refinerycms-stores"
8
- s.version = "0.0.16"
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-03-20"
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.erb",
54
- "app/views/refinery/orders/admin/orders/_form.html.erb",
55
- "app/views/refinery/orders/admin/orders/_order.html.erb",
56
- "app/views/refinery/orders/admin/orders/_orders.html.erb",
57
- "app/views/refinery/orders/admin/orders/_records.html.erb",
58
- "app/views/refinery/orders/admin/orders/_sortable_list.html.erb",
59
- "app/views/refinery/orders/admin/orders/edit.html.erb",
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.erb",
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/stores/admin/stores/_actions.html.erb",
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.10"
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