kylekthompson-shoppe 1.0.7

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 (239) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +55 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/images/shoppe/chosen-sprite.png +0 -0
  6. data/app/assets/images/shoppe/chosen-sprite@2x.png +0 -0
  7. data/app/assets/images/shoppe/document.svg +1 -0
  8. data/app/assets/images/shoppe/icons/bag.svg +1 -0
  9. data/app/assets/images/shoppe/icons/balance.svg +1 -0
  10. data/app/assets/images/shoppe/icons/box.svg +1 -0
  11. data/app/assets/images/shoppe/icons/building.svg +1 -0
  12. data/app/assets/images/shoppe/icons/chart.svg +1 -0
  13. data/app/assets/images/shoppe/icons/chat.svg +1 -0
  14. data/app/assets/images/shoppe/icons/checkbox.svg +1 -0
  15. data/app/assets/images/shoppe/icons/checkbox2.svg +1 -0
  16. data/app/assets/images/shoppe/icons/cloud.svg +1 -0
  17. data/app/assets/images/shoppe/icons/cone.svg +1 -0
  18. data/app/assets/images/shoppe/icons/credit_card.svg +1 -0
  19. data/app/assets/images/shoppe/icons/currency.svg +1 -0
  20. data/app/assets/images/shoppe/icons/edit.svg +14 -0
  21. data/app/assets/images/shoppe/icons/flowchart.svg +1 -0
  22. data/app/assets/images/shoppe/icons/gift.svg +1 -0
  23. data/app/assets/images/shoppe/icons/globe.svg +1 -0
  24. data/app/assets/images/shoppe/icons/id.svg +1 -0
  25. data/app/assets/images/shoppe/icons/id2.svg +1 -0
  26. data/app/assets/images/shoppe/icons/locked.svg +1 -0
  27. data/app/assets/images/shoppe/icons/report.svg +1 -0
  28. data/app/assets/images/shoppe/icons/search.svg +1 -0
  29. data/app/assets/images/shoppe/icons/support.svg +1 -0
  30. data/app/assets/images/shoppe/icons/tags.svg +1 -0
  31. data/app/assets/images/shoppe/icons/toolbox.svg +1 -0
  32. data/app/assets/images/shoppe/icons/unlocked.svg +1 -0
  33. data/app/assets/images/shoppe/icons/wallet.svg +1 -0
  34. data/app/assets/images/shoppe/logo.svg +47 -0
  35. data/app/assets/images/shoppe/move.svg +1 -0
  36. data/app/assets/images/shoppe/shoppe.svg +25 -0
  37. data/app/assets/images/shoppe/square.svg +9 -0
  38. data/app/assets/images/shoppe/statuses/accepted.svg +14 -0
  39. data/app/assets/images/shoppe/statuses/paid.svg +16 -0
  40. data/app/assets/images/shoppe/statuses/received.svg +15 -0
  41. data/app/assets/images/shoppe/statuses/rejected.svg +14 -0
  42. data/app/assets/images/shoppe/statuses/shipped.svg +14 -0
  43. data/app/assets/images/shoppe/table-tear-off.png +0 -0
  44. data/app/assets/javascripts/shoppe/application.coffee +123 -0
  45. data/app/assets/javascripts/shoppe/chosen.jquery.js +1166 -0
  46. data/app/assets/javascripts/shoppe/jquery_ui.js +6 -0
  47. data/app/assets/javascripts/shoppe/mousetrap.js +9 -0
  48. data/app/assets/javascripts/shoppe/order_form.coffee +47 -0
  49. data/app/assets/stylesheets/shoppe/application.scss +601 -0
  50. data/app/assets/stylesheets/shoppe/chosen.scss +424 -0
  51. data/app/assets/stylesheets/shoppe/dialog.scss +25 -0
  52. data/app/assets/stylesheets/shoppe/elements.scss +79 -0
  53. data/app/assets/stylesheets/shoppe/printable.scss +67 -0
  54. data/app/assets/stylesheets/shoppe/reset.scss +93 -0
  55. data/app/assets/stylesheets/shoppe/sub.scss +106 -0
  56. data/app/assets/stylesheets/shoppe/variables.scss +1 -0
  57. data/app/controllers/shoppe/addresses_controller.rb +47 -0
  58. data/app/controllers/shoppe/application_controller.rb +46 -0
  59. data/app/controllers/shoppe/attachments_controller.rb +14 -0
  60. data/app/controllers/shoppe/countries_controller.rb +47 -0
  61. data/app/controllers/shoppe/customers_controller.rb +55 -0
  62. data/app/controllers/shoppe/dashboard_controller.rb +9 -0
  63. data/app/controllers/shoppe/delivery_service_prices_controller.rb +45 -0
  64. data/app/controllers/shoppe/delivery_services_controller.rb +47 -0
  65. data/app/controllers/shoppe/orders_controller.rb +119 -0
  66. data/app/controllers/shoppe/payments_controller.rb +33 -0
  67. data/app/controllers/shoppe/product_categories_controller.rb +47 -0
  68. data/app/controllers/shoppe/product_category_localisations_controller.rb +58 -0
  69. data/app/controllers/shoppe/product_localisations_controller.rb +58 -0
  70. data/app/controllers/shoppe/products_controller.rb +58 -0
  71. data/app/controllers/shoppe/sessions_controller.rb +34 -0
  72. data/app/controllers/shoppe/settings_controller.rb +16 -0
  73. data/app/controllers/shoppe/stock_level_adjustments_controller.rb +40 -0
  74. data/app/controllers/shoppe/tax_rates_controller.rb +49 -0
  75. data/app/controllers/shoppe/users_controller.rb +53 -0
  76. data/app/controllers/shoppe/variants_controller.rb +50 -0
  77. data/app/helpers/shoppe/application_helper.rb +60 -0
  78. data/app/helpers/shoppe/product_category_helper.rb +36 -0
  79. data/app/mailers/shoppe/order_mailer.rb +25 -0
  80. data/app/mailers/shoppe/user_mailer.rb +10 -0
  81. data/app/models/shoppe/address.rb +44 -0
  82. data/app/models/shoppe/country.rb +27 -0
  83. data/app/models/shoppe/customer.rb +41 -0
  84. data/app/models/shoppe/delivery_service.rb +33 -0
  85. data/app/models/shoppe/delivery_service_price.rb +31 -0
  86. data/app/models/shoppe/order.rb +100 -0
  87. data/app/models/shoppe/order/actions.rb +94 -0
  88. data/app/models/shoppe/order/billing.rb +105 -0
  89. data/app/models/shoppe/order/delivery.rb +229 -0
  90. data/app/models/shoppe/order/states.rb +69 -0
  91. data/app/models/shoppe/order_item.rb +239 -0
  92. data/app/models/shoppe/payment.rb +86 -0
  93. data/app/models/shoppe/product.rb +189 -0
  94. data/app/models/shoppe/product/product_attributes.rb +20 -0
  95. data/app/models/shoppe/product/variants.rb +51 -0
  96. data/app/models/shoppe/product_attribute.rb +66 -0
  97. data/app/models/shoppe/product_categorization.rb +14 -0
  98. data/app/models/shoppe/product_category.rb +75 -0
  99. data/app/models/shoppe/setting.rb +68 -0
  100. data/app/models/shoppe/stock_level_adjustment.rb +19 -0
  101. data/app/models/shoppe/tax_rate.rb +46 -0
  102. data/app/models/shoppe/user.rb +49 -0
  103. data/app/validators/permalink_validator.rb +7 -0
  104. data/app/views/layouts/shoppe/application.html.haml +34 -0
  105. data/app/views/layouts/shoppe/printable.html.haml +11 -0
  106. data/app/views/layouts/shoppe/sub.html.haml +10 -0
  107. data/app/views/shoppe/addresses/_form.html.haml +33 -0
  108. data/app/views/shoppe/addresses/edit.html.haml +5 -0
  109. data/app/views/shoppe/addresses/new.html.haml +5 -0
  110. data/app/views/shoppe/countries/_form.html.haml +35 -0
  111. data/app/views/shoppe/countries/edit.html.haml +6 -0
  112. data/app/views/shoppe/countries/index.html.haml +25 -0
  113. data/app/views/shoppe/countries/new.html.haml +7 -0
  114. data/app/views/shoppe/customers/_addresses.html.haml +20 -0
  115. data/app/views/shoppe/customers/_form.html.haml +30 -0
  116. data/app/views/shoppe/customers/_search_form.html.haml +13 -0
  117. data/app/views/shoppe/customers/edit.html.haml +5 -0
  118. data/app/views/shoppe/customers/index.html.haml +32 -0
  119. data/app/views/shoppe/customers/new.html.haml +5 -0
  120. data/app/views/shoppe/customers/show.html.haml +53 -0
  121. data/app/views/shoppe/delivery_service_prices/_form.html.haml +44 -0
  122. data/app/views/shoppe/delivery_service_prices/edit.html.haml +6 -0
  123. data/app/views/shoppe/delivery_service_prices/index.html.haml +23 -0
  124. data/app/views/shoppe/delivery_service_prices/new.html.haml +6 -0
  125. data/app/views/shoppe/delivery_services/_form.html.haml +38 -0
  126. data/app/views/shoppe/delivery_services/edit.html.haml +9 -0
  127. data/app/views/shoppe/delivery_services/index.html.haml +27 -0
  128. data/app/views/shoppe/delivery_services/new.html.haml +6 -0
  129. data/app/views/shoppe/order_mailer/accepted.text.erb +12 -0
  130. data/app/views/shoppe/order_mailer/received.text.erb +9 -0
  131. data/app/views/shoppe/order_mailer/rejected.text.erb +10 -0
  132. data/app/views/shoppe/order_mailer/shipped.text.erb +16 -0
  133. data/app/views/shoppe/orders/_form.html.haml +58 -0
  134. data/app/views/shoppe/orders/_order_details.html.haml +57 -0
  135. data/app/views/shoppe/orders/_order_items.html.haml +38 -0
  136. data/app/views/shoppe/orders/_order_items_form.html.haml +61 -0
  137. data/app/views/shoppe/orders/_payments_form.html.haml +15 -0
  138. data/app/views/shoppe/orders/_payments_table.html.haml +37 -0
  139. data/app/views/shoppe/orders/_search_form.html.haml +24 -0
  140. data/app/views/shoppe/orders/_status_bar.html.haml +35 -0
  141. data/app/views/shoppe/orders/despatch_note.html.haml +45 -0
  142. data/app/views/shoppe/orders/edit.html.haml +21 -0
  143. data/app/views/shoppe/orders/index.html.haml +39 -0
  144. data/app/views/shoppe/orders/new.html.haml +14 -0
  145. data/app/views/shoppe/orders/show.html.haml +25 -0
  146. data/app/views/shoppe/payments/refund.html.haml +13 -0
  147. data/app/views/shoppe/product_categories/_form.html.haml +50 -0
  148. data/app/views/shoppe/product_categories/edit.html.haml +8 -0
  149. data/app/views/shoppe/product_categories/index.html.haml +27 -0
  150. data/app/views/shoppe/product_categories/new.html.haml +6 -0
  151. data/app/views/shoppe/product_category_localisations/form.html.haml +29 -0
  152. data/app/views/shoppe/product_category_localisations/index.html.haml +26 -0
  153. data/app/views/shoppe/product_localisations/form.html.haml +32 -0
  154. data/app/views/shoppe/product_localisations/index.html.haml +26 -0
  155. data/app/views/shoppe/products/_form.html.haml +118 -0
  156. data/app/views/shoppe/products/_table.html.haml +42 -0
  157. data/app/views/shoppe/products/edit.html.haml +9 -0
  158. data/app/views/shoppe/products/import.html.haml +67 -0
  159. data/app/views/shoppe/products/index.html.haml +9 -0
  160. data/app/views/shoppe/products/new.html.haml +7 -0
  161. data/app/views/shoppe/sessions/new.html.haml +12 -0
  162. data/app/views/shoppe/sessions/reset.html.haml +12 -0
  163. data/app/views/shoppe/settings/edit.html.haml +19 -0
  164. data/app/views/shoppe/shared/error.html.haml +6 -0
  165. data/app/views/shoppe/stock_level_adjustments/index.html.haml +40 -0
  166. data/app/views/shoppe/tax_rates/form.html.haml +28 -0
  167. data/app/views/shoppe/tax_rates/index.html.haml +17 -0
  168. data/app/views/shoppe/user_mailer/new_password.text.erb +9 -0
  169. data/app/views/shoppe/users/_form.html.haml +27 -0
  170. data/app/views/shoppe/users/edit.html.haml +5 -0
  171. data/app/views/shoppe/users/index.html.haml +17 -0
  172. data/app/views/shoppe/users/new.html.haml +7 -0
  173. data/app/views/shoppe/variants/form.html.haml +68 -0
  174. data/app/views/shoppe/variants/index.html.haml +33 -0
  175. data/config/locales/de.yml +653 -0
  176. data/config/locales/en.yml +744 -0
  177. data/config/locales/es.yml +653 -0
  178. data/config/locales/pl.yml +662 -0
  179. data/config/locales/pt-BR.yml +655 -0
  180. data/config/routes.rb +53 -0
  181. data/db/countries.txt +252 -0
  182. data/db/migrate/20130926094549_create_shoppe_initial_schema.rb +175 -0
  183. data/db/migrate/20131024201501_add_address_type_to_shoppe_tax_rates.rb +5 -0
  184. data/db/migrate/20131024204815_create_shoppe_payments.rb +32 -0
  185. data/db/migrate/20131102143930_remove_default_on_order_item_weight.rb +9 -0
  186. data/db/migrate/20141013192427_create_shoppe_customers.rb +14 -0
  187. data/db/migrate/20141026175622_add_indexes_to_shoppe_order_items.rb +6 -0
  188. data/db/migrate/20141026175943_add_indexes_to_shoppe_orders.rb +7 -0
  189. data/db/migrate/20141026180333_add_indexes_to_shoppe_payments.rb +6 -0
  190. data/db/migrate/20141026180835_add_indexes_to_shoppe_product_attributes.rb +7 -0
  191. data/db/migrate/20141026180952_add_indexes_to_shoppe_product_categories.rb +5 -0
  192. data/db/migrate/20141026181040_add_indexes_to_shoppe_products.rb +8 -0
  193. data/db/migrate/20141026181312_add_indexes_to_shoppe_settings.rb +5 -0
  194. data/db/migrate/20141026181354_add_indexes_to_shoppe_stock_level_adjustments.rb +6 -0
  195. data/db/migrate/20141026181559_add_indexes_to_shoppe_users.rb +5 -0
  196. data/db/migrate/20141026181716_add_indexes_to_shoppe_delivery_services.rb +9 -0
  197. data/db/migrate/20141026181717_allow_multiple_shoppe_products_per_shoppe_product_category.rb +46 -0
  198. data/db/migrate/20141026181718_add_nested_to_product_categories.rb +30 -0
  199. data/db/migrate/20141027215005_create_shoppe_addresses.rb +17 -0
  200. data/db/migrate/20150315215633_add_customer_to_shoppe_orders.rb +5 -0
  201. data/db/migrate/20150513171350_create_shoppe_product_category_translation_table.rb +17 -0
  202. data/db/migrate/20150519173350_create_shoppe_product_translation_table.rb +18 -0
  203. data/db/schema.rb +308 -0
  204. data/db/seeds.rb +137 -0
  205. data/db/seeds_data/poe400.jpg +0 -0
  206. data/db/seeds_data/snom-870-blk.jpg +0 -0
  207. data/db/seeds_data/snom-870-grey.jpg +0 -0
  208. data/db/seeds_data/snom-mm2.jpg +0 -0
  209. data/db/seeds_data/spa303.jpg +0 -0
  210. data/db/seeds_data/t18p.jpg +0 -0
  211. data/db/seeds_data/t20p.jpg +0 -0
  212. data/db/seeds_data/t22p.jpg +0 -0
  213. data/db/seeds_data/t26p.jpg +0 -0
  214. data/db/seeds_data/t41pn.jpg +0 -0
  215. data/db/seeds_data/t46gn.jpg +0 -0
  216. data/db/seeds_data/w52p.jpg +0 -0
  217. data/db/seeds_data/yhs32.jpg +0 -0
  218. data/lib/shoppe.rb +60 -0
  219. data/lib/shoppe/associated_countries.rb +20 -0
  220. data/lib/shoppe/country_importer.rb +15 -0
  221. data/lib/shoppe/default_navigation.rb +21 -0
  222. data/lib/shoppe/engine.rb +55 -0
  223. data/lib/shoppe/error.rb +21 -0
  224. data/lib/shoppe/errors/inappropriate_delivery_service.rb +6 -0
  225. data/lib/shoppe/errors/insufficient_stock_to_fulfil.rb +15 -0
  226. data/lib/shoppe/errors/invalid_configuration.rb +6 -0
  227. data/lib/shoppe/errors/not_enough_stock.rb +15 -0
  228. data/lib/shoppe/errors/payment_declined.rb +6 -0
  229. data/lib/shoppe/errors/refund_failed.rb +6 -0
  230. data/lib/shoppe/errors/unorderable_item.rb +6 -0
  231. data/lib/shoppe/navigation_manager.rb +81 -0
  232. data/lib/shoppe/orderable_item.rb +39 -0
  233. data/lib/shoppe/settings.rb +26 -0
  234. data/lib/shoppe/settings_loader.rb +16 -0
  235. data/lib/shoppe/setup_generator.rb +10 -0
  236. data/lib/shoppe/version.rb +3 -0
  237. data/lib/shoppe/view_helpers.rb +16 -0
  238. data/lib/tasks/shoppe.rake +29 -0
  239. metadata +662 -0
@@ -0,0 +1,39 @@
1
+ module Shoppe
2
+ # All items which can be ordered should include this module and ensure that all methods
3
+ # have been overridden. It's a lazy-mans protocol.
4
+ module OrderableItem
5
+
6
+ # stock_level_adjustments must be an association
7
+
8
+ def full_name
9
+ end
10
+
11
+ def orderable?
12
+ end
13
+
14
+ def sku
15
+ end
16
+
17
+ def price
18
+ end
19
+
20
+ def cost_price
21
+ end
22
+
23
+ def tax_rate
24
+ end
25
+
26
+ def stock_control?
27
+ end
28
+
29
+ def in_stock?
30
+ end
31
+
32
+ def stock
33
+ end
34
+
35
+ def weight
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,26 @@
1
+ module Shoppe
2
+ class Settings
3
+
4
+ def initialize(hash)
5
+ @hash = hash
6
+ end
7
+
8
+ def outbound_email_address
9
+ "#{store_name} <#{email_address}>"
10
+ end
11
+
12
+ def method_missing(key, _ = nil)
13
+ key = key.to_s.gsub(/\?\z/, '')
14
+ if value = @hash[key.to_s]
15
+ value
16
+ elsif I18n.translate("shoppe.settings.defaults").keys.include?(key.to_sym)
17
+ I18n.translate("shoppe.settings.defaults")[key.to_sym]
18
+ end
19
+ end
20
+
21
+ def [](value)
22
+ @hash[value]
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ module Shoppe
2
+ class SettingsLoader
3
+
4
+ def initialize(app)
5
+ @app = app
6
+ end
7
+
8
+ def call(env)
9
+ Shoppe.reset_settings
10
+ @app.call(env)
11
+ ensure
12
+ Shoppe.reset_settings
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ require 'rails/generators'
2
+ module Shoppe
3
+ class SetupGenerator < Rails::Generators::Base
4
+
5
+ def create_route
6
+ route 'mount Shoppe::Engine => "/shoppe"'
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ module Shoppe
2
+ VERSION = "1.0.7"
3
+ end
@@ -0,0 +1,16 @@
1
+ module Shoppe
2
+ module ViewHelpers
3
+
4
+ # Returns currency values with the currency unit as specified by the Shoppe settings
5
+ def number_to_currency(number, options = {})
6
+ options[:unit] ||= Shoppe.settings.currency_unit
7
+ super
8
+ end
9
+
10
+ # Returns a number of kilograms with the appropriate suffix
11
+ def number_to_weight(kg)
12
+ "#{kg}#{t('shoppe.helpers.number_to_weight.kg', :default => 'kg')}"
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,29 @@
1
+ namespace :shoppe do
2
+ desc "Load seed data for the Shoppe"
3
+ task :seed => :environment do
4
+ require File.join(Shoppe.root, 'db', 'seeds')
5
+ end
6
+
7
+ desc "Create a default admin user"
8
+ task :create_default_user => :environment do
9
+ Shoppe::User.create(:email_address => 'admin@example.com', :password => 'password', :password_confirmation => 'password', :first_name => 'Default', :last_name => 'Admin')
10
+ puts
11
+ puts " New user has been created successfully."
12
+ puts
13
+ puts " E-Mail Address..: admin@example.com"
14
+ puts " Password........: password"
15
+ puts
16
+ end
17
+
18
+ desc "Import default set of countries"
19
+ task :import_countries => :environment do
20
+ Shoppe::CountryImporter.import
21
+ end
22
+
23
+ desc "Run the key setup tasks for a new application"
24
+ task :setup => :environment do
25
+ Rake::Task["shoppe:import_countries"].invoke if Shoppe::Country.all.empty?
26
+ Rake::Task["shoppe:create_default_user"].invoke if Shoppe::User.all.empty?
27
+ end
28
+
29
+ end
metadata ADDED
@@ -0,0 +1,662 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kylekthompson-shoppe
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.7
5
+ platform: ruby
6
+ authors:
7
+ - Adam Cooke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bcrypt
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 3.1.2
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.2'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 3.1.2
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.2'
53
+ - !ruby/object:Gem::Dependency
54
+ name: ransack
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 1.2.0
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: 1.6.3
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 1.2.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: 1.6.3
73
+ - !ruby/object:Gem::Dependency
74
+ name: kaminari
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 0.14.1
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.17'
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.14.1
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '0.17'
93
+ - !ruby/object:Gem::Dependency
94
+ name: haml
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '4.0'
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '4.0'
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: '5.0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: dynamic_form
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.1'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 1.1.4
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.1'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 1.1.4
133
+ - !ruby/object:Gem::Dependency
134
+ name: jquery-rails
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '3'
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: '4.1'
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '3'
150
+ - - "<"
151
+ - !ruby/object:Gem::Version
152
+ version: '4.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: roo
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 1.13.0
160
+ - - "<"
161
+ - !ruby/object:Gem::Version
162
+ version: '1.14'
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: 1.13.0
170
+ - - "<"
171
+ - !ruby/object:Gem::Version
172
+ version: '1.14'
173
+ - !ruby/object:Gem::Dependency
174
+ name: awesome_nested_set
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: 3.0.1
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: 3.0.1
187
+ - !ruby/object:Gem::Dependency
188
+ name: globalize
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: nifty-key-value-store
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: 1.0.1
208
+ - - "<"
209
+ - !ruby/object:Gem::Version
210
+ version: 2.0.0
211
+ type: :runtime
212
+ prerelease: false
213
+ version_requirements: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: 1.0.1
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: 2.0.0
221
+ - !ruby/object:Gem::Dependency
222
+ name: nifty-utils
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '1.0'
228
+ - - "<"
229
+ - !ruby/object:Gem::Version
230
+ version: '1.1'
231
+ type: :runtime
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '1.0'
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: '1.1'
241
+ - !ruby/object:Gem::Dependency
242
+ name: nifty-attachments
243
+ requirement: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: 1.0.3
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: 2.0.0
251
+ type: :runtime
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: 1.0.3
258
+ - - "<"
259
+ - !ruby/object:Gem::Version
260
+ version: 2.0.0
261
+ - !ruby/object:Gem::Dependency
262
+ name: nifty-dialog
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: 1.0.7
268
+ - - "<"
269
+ - !ruby/object:Gem::Version
270
+ version: '1.1'
271
+ type: :runtime
272
+ prerelease: false
273
+ version_requirements: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: 1.0.7
278
+ - - "<"
279
+ - !ruby/object:Gem::Version
280
+ version: '1.1'
281
+ - !ruby/object:Gem::Dependency
282
+ name: coffee-rails
283
+ requirement: !ruby/object:Gem::Requirement
284
+ requirements:
285
+ - - "~>"
286
+ - !ruby/object:Gem::Version
287
+ version: '4'
288
+ type: :development
289
+ prerelease: false
290
+ version_requirements: !ruby/object:Gem::Requirement
291
+ requirements:
292
+ - - "~>"
293
+ - !ruby/object:Gem::Version
294
+ version: '4'
295
+ - !ruby/object:Gem::Dependency
296
+ name: sass-rails
297
+ requirement: !ruby/object:Gem::Requirement
298
+ requirements:
299
+ - - "~>"
300
+ - !ruby/object:Gem::Version
301
+ version: '4.0'
302
+ type: :development
303
+ prerelease: false
304
+ version_requirements: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - "~>"
307
+ - !ruby/object:Gem::Version
308
+ version: '4.0'
309
+ - !ruby/object:Gem::Dependency
310
+ name: sqlite3
311
+ requirement: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - "~>"
314
+ - !ruby/object:Gem::Version
315
+ version: '1.3'
316
+ type: :development
317
+ prerelease: false
318
+ version_requirements: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - "~>"
321
+ - !ruby/object:Gem::Version
322
+ version: '1.3'
323
+ - !ruby/object:Gem::Dependency
324
+ name: mysql2
325
+ requirement: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - "~>"
328
+ - !ruby/object:Gem::Version
329
+ version: '0.3'
330
+ type: :development
331
+ prerelease: false
332
+ version_requirements: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - "~>"
335
+ - !ruby/object:Gem::Version
336
+ version: '0.3'
337
+ - !ruby/object:Gem::Dependency
338
+ name: yard
339
+ requirement: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - "~>"
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ type: :development
345
+ prerelease: false
346
+ version_requirements: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - "~>"
349
+ - !ruby/object:Gem::Version
350
+ version: '0'
351
+ - !ruby/object:Gem::Dependency
352
+ name: yard-activerecord
353
+ requirement: !ruby/object:Gem::Requirement
354
+ requirements:
355
+ - - "~>"
356
+ - !ruby/object:Gem::Version
357
+ version: '0'
358
+ type: :development
359
+ prerelease: false
360
+ version_requirements: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - "~>"
363
+ - !ruby/object:Gem::Version
364
+ version: '0'
365
+ - !ruby/object:Gem::Dependency
366
+ name: markdown
367
+ requirement: !ruby/object:Gem::Requirement
368
+ requirements:
369
+ - - "~>"
370
+ - !ruby/object:Gem::Version
371
+ version: '1.0'
372
+ type: :development
373
+ prerelease: false
374
+ version_requirements: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - "~>"
377
+ - !ruby/object:Gem::Version
378
+ version: '1.0'
379
+ - !ruby/object:Gem::Dependency
380
+ name: factory_girl_rails
381
+ requirement: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - "~>"
384
+ - !ruby/object:Gem::Version
385
+ version: '4.0'
386
+ type: :development
387
+ prerelease: false
388
+ version_requirements: !ruby/object:Gem::Requirement
389
+ requirements:
390
+ - - "~>"
391
+ - !ruby/object:Gem::Version
392
+ version: '4.0'
393
+ description: A full Rails engine providing e-commerce functionality for any Rails
394
+ 4 application.
395
+ email:
396
+ - adam@atechmedia.com
397
+ executables: []
398
+ extensions: []
399
+ extra_rdoc_files: []
400
+ files:
401
+ - MIT-LICENSE
402
+ - README.md
403
+ - Rakefile
404
+ - app/assets/images/shoppe/chosen-sprite.png
405
+ - app/assets/images/shoppe/chosen-sprite@2x.png
406
+ - app/assets/images/shoppe/document.svg
407
+ - app/assets/images/shoppe/icons/bag.svg
408
+ - app/assets/images/shoppe/icons/balance.svg
409
+ - app/assets/images/shoppe/icons/box.svg
410
+ - app/assets/images/shoppe/icons/building.svg
411
+ - app/assets/images/shoppe/icons/chart.svg
412
+ - app/assets/images/shoppe/icons/chat.svg
413
+ - app/assets/images/shoppe/icons/checkbox.svg
414
+ - app/assets/images/shoppe/icons/checkbox2.svg
415
+ - app/assets/images/shoppe/icons/cloud.svg
416
+ - app/assets/images/shoppe/icons/cone.svg
417
+ - app/assets/images/shoppe/icons/credit_card.svg
418
+ - app/assets/images/shoppe/icons/currency.svg
419
+ - app/assets/images/shoppe/icons/edit.svg
420
+ - app/assets/images/shoppe/icons/flowchart.svg
421
+ - app/assets/images/shoppe/icons/gift.svg
422
+ - app/assets/images/shoppe/icons/globe.svg
423
+ - app/assets/images/shoppe/icons/id.svg
424
+ - app/assets/images/shoppe/icons/id2.svg
425
+ - app/assets/images/shoppe/icons/locked.svg
426
+ - app/assets/images/shoppe/icons/report.svg
427
+ - app/assets/images/shoppe/icons/search.svg
428
+ - app/assets/images/shoppe/icons/support.svg
429
+ - app/assets/images/shoppe/icons/tags.svg
430
+ - app/assets/images/shoppe/icons/toolbox.svg
431
+ - app/assets/images/shoppe/icons/unlocked.svg
432
+ - app/assets/images/shoppe/icons/wallet.svg
433
+ - app/assets/images/shoppe/logo.svg
434
+ - app/assets/images/shoppe/move.svg
435
+ - app/assets/images/shoppe/shoppe.svg
436
+ - app/assets/images/shoppe/square.svg
437
+ - app/assets/images/shoppe/statuses/accepted.svg
438
+ - app/assets/images/shoppe/statuses/paid.svg
439
+ - app/assets/images/shoppe/statuses/received.svg
440
+ - app/assets/images/shoppe/statuses/rejected.svg
441
+ - app/assets/images/shoppe/statuses/shipped.svg
442
+ - app/assets/images/shoppe/table-tear-off.png
443
+ - app/assets/javascripts/shoppe/application.coffee
444
+ - app/assets/javascripts/shoppe/chosen.jquery.js
445
+ - app/assets/javascripts/shoppe/jquery_ui.js
446
+ - app/assets/javascripts/shoppe/mousetrap.js
447
+ - app/assets/javascripts/shoppe/order_form.coffee
448
+ - app/assets/stylesheets/shoppe/application.scss
449
+ - app/assets/stylesheets/shoppe/chosen.scss
450
+ - app/assets/stylesheets/shoppe/dialog.scss
451
+ - app/assets/stylesheets/shoppe/elements.scss
452
+ - app/assets/stylesheets/shoppe/printable.scss
453
+ - app/assets/stylesheets/shoppe/reset.scss
454
+ - app/assets/stylesheets/shoppe/sub.scss
455
+ - app/assets/stylesheets/shoppe/variables.scss
456
+ - app/controllers/shoppe/addresses_controller.rb
457
+ - app/controllers/shoppe/application_controller.rb
458
+ - app/controllers/shoppe/attachments_controller.rb
459
+ - app/controllers/shoppe/countries_controller.rb
460
+ - app/controllers/shoppe/customers_controller.rb
461
+ - app/controllers/shoppe/dashboard_controller.rb
462
+ - app/controllers/shoppe/delivery_service_prices_controller.rb
463
+ - app/controllers/shoppe/delivery_services_controller.rb
464
+ - app/controllers/shoppe/orders_controller.rb
465
+ - app/controllers/shoppe/payments_controller.rb
466
+ - app/controllers/shoppe/product_categories_controller.rb
467
+ - app/controllers/shoppe/product_category_localisations_controller.rb
468
+ - app/controllers/shoppe/product_localisations_controller.rb
469
+ - app/controllers/shoppe/products_controller.rb
470
+ - app/controllers/shoppe/sessions_controller.rb
471
+ - app/controllers/shoppe/settings_controller.rb
472
+ - app/controllers/shoppe/stock_level_adjustments_controller.rb
473
+ - app/controllers/shoppe/tax_rates_controller.rb
474
+ - app/controllers/shoppe/users_controller.rb
475
+ - app/controllers/shoppe/variants_controller.rb
476
+ - app/helpers/shoppe/application_helper.rb
477
+ - app/helpers/shoppe/product_category_helper.rb
478
+ - app/mailers/shoppe/order_mailer.rb
479
+ - app/mailers/shoppe/user_mailer.rb
480
+ - app/models/shoppe/address.rb
481
+ - app/models/shoppe/country.rb
482
+ - app/models/shoppe/customer.rb
483
+ - app/models/shoppe/delivery_service.rb
484
+ - app/models/shoppe/delivery_service_price.rb
485
+ - app/models/shoppe/order.rb
486
+ - app/models/shoppe/order/actions.rb
487
+ - app/models/shoppe/order/billing.rb
488
+ - app/models/shoppe/order/delivery.rb
489
+ - app/models/shoppe/order/states.rb
490
+ - app/models/shoppe/order_item.rb
491
+ - app/models/shoppe/payment.rb
492
+ - app/models/shoppe/product.rb
493
+ - app/models/shoppe/product/product_attributes.rb
494
+ - app/models/shoppe/product/variants.rb
495
+ - app/models/shoppe/product_attribute.rb
496
+ - app/models/shoppe/product_categorization.rb
497
+ - app/models/shoppe/product_category.rb
498
+ - app/models/shoppe/setting.rb
499
+ - app/models/shoppe/stock_level_adjustment.rb
500
+ - app/models/shoppe/tax_rate.rb
501
+ - app/models/shoppe/user.rb
502
+ - app/validators/permalink_validator.rb
503
+ - app/views/layouts/shoppe/application.html.haml
504
+ - app/views/layouts/shoppe/printable.html.haml
505
+ - app/views/layouts/shoppe/sub.html.haml
506
+ - app/views/shoppe/addresses/_form.html.haml
507
+ - app/views/shoppe/addresses/edit.html.haml
508
+ - app/views/shoppe/addresses/new.html.haml
509
+ - app/views/shoppe/countries/_form.html.haml
510
+ - app/views/shoppe/countries/edit.html.haml
511
+ - app/views/shoppe/countries/index.html.haml
512
+ - app/views/shoppe/countries/new.html.haml
513
+ - app/views/shoppe/customers/_addresses.html.haml
514
+ - app/views/shoppe/customers/_form.html.haml
515
+ - app/views/shoppe/customers/_search_form.html.haml
516
+ - app/views/shoppe/customers/edit.html.haml
517
+ - app/views/shoppe/customers/index.html.haml
518
+ - app/views/shoppe/customers/new.html.haml
519
+ - app/views/shoppe/customers/show.html.haml
520
+ - app/views/shoppe/delivery_service_prices/_form.html.haml
521
+ - app/views/shoppe/delivery_service_prices/edit.html.haml
522
+ - app/views/shoppe/delivery_service_prices/index.html.haml
523
+ - app/views/shoppe/delivery_service_prices/new.html.haml
524
+ - app/views/shoppe/delivery_services/_form.html.haml
525
+ - app/views/shoppe/delivery_services/edit.html.haml
526
+ - app/views/shoppe/delivery_services/index.html.haml
527
+ - app/views/shoppe/delivery_services/new.html.haml
528
+ - app/views/shoppe/order_mailer/accepted.text.erb
529
+ - app/views/shoppe/order_mailer/received.text.erb
530
+ - app/views/shoppe/order_mailer/rejected.text.erb
531
+ - app/views/shoppe/order_mailer/shipped.text.erb
532
+ - app/views/shoppe/orders/_form.html.haml
533
+ - app/views/shoppe/orders/_order_details.html.haml
534
+ - app/views/shoppe/orders/_order_items.html.haml
535
+ - app/views/shoppe/orders/_order_items_form.html.haml
536
+ - app/views/shoppe/orders/_payments_form.html.haml
537
+ - app/views/shoppe/orders/_payments_table.html.haml
538
+ - app/views/shoppe/orders/_search_form.html.haml
539
+ - app/views/shoppe/orders/_status_bar.html.haml
540
+ - app/views/shoppe/orders/despatch_note.html.haml
541
+ - app/views/shoppe/orders/edit.html.haml
542
+ - app/views/shoppe/orders/index.html.haml
543
+ - app/views/shoppe/orders/new.html.haml
544
+ - app/views/shoppe/orders/show.html.haml
545
+ - app/views/shoppe/payments/refund.html.haml
546
+ - app/views/shoppe/product_categories/_form.html.haml
547
+ - app/views/shoppe/product_categories/edit.html.haml
548
+ - app/views/shoppe/product_categories/index.html.haml
549
+ - app/views/shoppe/product_categories/new.html.haml
550
+ - app/views/shoppe/product_category_localisations/form.html.haml
551
+ - app/views/shoppe/product_category_localisations/index.html.haml
552
+ - app/views/shoppe/product_localisations/form.html.haml
553
+ - app/views/shoppe/product_localisations/index.html.haml
554
+ - app/views/shoppe/products/_form.html.haml
555
+ - app/views/shoppe/products/_table.html.haml
556
+ - app/views/shoppe/products/edit.html.haml
557
+ - app/views/shoppe/products/import.html.haml
558
+ - app/views/shoppe/products/index.html.haml
559
+ - app/views/shoppe/products/new.html.haml
560
+ - app/views/shoppe/sessions/new.html.haml
561
+ - app/views/shoppe/sessions/reset.html.haml
562
+ - app/views/shoppe/settings/edit.html.haml
563
+ - app/views/shoppe/shared/error.html.haml
564
+ - app/views/shoppe/stock_level_adjustments/index.html.haml
565
+ - app/views/shoppe/tax_rates/form.html.haml
566
+ - app/views/shoppe/tax_rates/index.html.haml
567
+ - app/views/shoppe/user_mailer/new_password.text.erb
568
+ - app/views/shoppe/users/_form.html.haml
569
+ - app/views/shoppe/users/edit.html.haml
570
+ - app/views/shoppe/users/index.html.haml
571
+ - app/views/shoppe/users/new.html.haml
572
+ - app/views/shoppe/variants/form.html.haml
573
+ - app/views/shoppe/variants/index.html.haml
574
+ - config/locales/de.yml
575
+ - config/locales/en.yml
576
+ - config/locales/es.yml
577
+ - config/locales/pl.yml
578
+ - config/locales/pt-BR.yml
579
+ - config/routes.rb
580
+ - db/countries.txt
581
+ - db/migrate/20130926094549_create_shoppe_initial_schema.rb
582
+ - db/migrate/20131024201501_add_address_type_to_shoppe_tax_rates.rb
583
+ - db/migrate/20131024204815_create_shoppe_payments.rb
584
+ - db/migrate/20131102143930_remove_default_on_order_item_weight.rb
585
+ - db/migrate/20141013192427_create_shoppe_customers.rb
586
+ - db/migrate/20141026175622_add_indexes_to_shoppe_order_items.rb
587
+ - db/migrate/20141026175943_add_indexes_to_shoppe_orders.rb
588
+ - db/migrate/20141026180333_add_indexes_to_shoppe_payments.rb
589
+ - db/migrate/20141026180835_add_indexes_to_shoppe_product_attributes.rb
590
+ - db/migrate/20141026180952_add_indexes_to_shoppe_product_categories.rb
591
+ - db/migrate/20141026181040_add_indexes_to_shoppe_products.rb
592
+ - db/migrate/20141026181312_add_indexes_to_shoppe_settings.rb
593
+ - db/migrate/20141026181354_add_indexes_to_shoppe_stock_level_adjustments.rb
594
+ - db/migrate/20141026181559_add_indexes_to_shoppe_users.rb
595
+ - db/migrate/20141026181716_add_indexes_to_shoppe_delivery_services.rb
596
+ - db/migrate/20141026181717_allow_multiple_shoppe_products_per_shoppe_product_category.rb
597
+ - db/migrate/20141026181718_add_nested_to_product_categories.rb
598
+ - db/migrate/20141027215005_create_shoppe_addresses.rb
599
+ - db/migrate/20150315215633_add_customer_to_shoppe_orders.rb
600
+ - db/migrate/20150513171350_create_shoppe_product_category_translation_table.rb
601
+ - db/migrate/20150519173350_create_shoppe_product_translation_table.rb
602
+ - db/schema.rb
603
+ - db/seeds.rb
604
+ - db/seeds_data/poe400.jpg
605
+ - db/seeds_data/snom-870-blk.jpg
606
+ - db/seeds_data/snom-870-grey.jpg
607
+ - db/seeds_data/snom-mm2.jpg
608
+ - db/seeds_data/spa303.jpg
609
+ - db/seeds_data/t18p.jpg
610
+ - db/seeds_data/t20p.jpg
611
+ - db/seeds_data/t22p.jpg
612
+ - db/seeds_data/t26p.jpg
613
+ - db/seeds_data/t41pn.jpg
614
+ - db/seeds_data/t46gn.jpg
615
+ - db/seeds_data/w52p.jpg
616
+ - db/seeds_data/yhs32.jpg
617
+ - lib/shoppe.rb
618
+ - lib/shoppe/associated_countries.rb
619
+ - lib/shoppe/country_importer.rb
620
+ - lib/shoppe/default_navigation.rb
621
+ - lib/shoppe/engine.rb
622
+ - lib/shoppe/error.rb
623
+ - lib/shoppe/errors/inappropriate_delivery_service.rb
624
+ - lib/shoppe/errors/insufficient_stock_to_fulfil.rb
625
+ - lib/shoppe/errors/invalid_configuration.rb
626
+ - lib/shoppe/errors/not_enough_stock.rb
627
+ - lib/shoppe/errors/payment_declined.rb
628
+ - lib/shoppe/errors/refund_failed.rb
629
+ - lib/shoppe/errors/unorderable_item.rb
630
+ - lib/shoppe/navigation_manager.rb
631
+ - lib/shoppe/orderable_item.rb
632
+ - lib/shoppe/settings.rb
633
+ - lib/shoppe/settings_loader.rb
634
+ - lib/shoppe/setup_generator.rb
635
+ - lib/shoppe/version.rb
636
+ - lib/shoppe/view_helpers.rb
637
+ - lib/tasks/shoppe.rake
638
+ homepage: http://tryshoppe.com
639
+ licenses:
640
+ - MIT
641
+ metadata: {}
642
+ post_install_message:
643
+ rdoc_options: []
644
+ require_paths:
645
+ - lib
646
+ required_ruby_version: !ruby/object:Gem::Requirement
647
+ requirements:
648
+ - - ">="
649
+ - !ruby/object:Gem::Version
650
+ version: '0'
651
+ required_rubygems_version: !ruby/object:Gem::Requirement
652
+ requirements:
653
+ - - ">="
654
+ - !ruby/object:Gem::Version
655
+ version: '0'
656
+ requirements: []
657
+ rubyforge_project:
658
+ rubygems_version: 2.4.3
659
+ signing_key:
660
+ specification_version: 4
661
+ summary: Just an e-commerce platform.
662
+ test_files: []