spree_flat_in_range 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. data/LICENSE +26 -0
  2. data/README.md +39 -0
  3. data/app/models/spree/calculator/flat_in_range.rb +21 -0
  4. data/config/locales/en.yml +5 -0
  5. data/lib/spree_flat_in_range.rb +21 -0
  6. data/spec/dummy/Rakefile +7 -0
  7. data/spec/dummy/app/assets/javascripts/admin/all.js +10 -0
  8. data/spec/dummy/app/assets/javascripts/application.js +9 -0
  9. data/spec/dummy/app/assets/javascripts/store/all.js +10 -0
  10. data/spec/dummy/app/assets/stylesheets/admin/all.css +11 -0
  11. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  12. data/spec/dummy/app/assets/stylesheets/store/all.css +11 -0
  13. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  14. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  15. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  16. data/spec/dummy/config.ru +4 -0
  17. data/spec/dummy/config/application.rb +60 -0
  18. data/spec/dummy/config/boot.rb +6 -0
  19. data/spec/dummy/config/database.yml +18 -0
  20. data/spec/dummy/config/environment.rb +7 -0
  21. data/spec/dummy/config/environments/development.rb +30 -0
  22. data/spec/dummy/config/environments/production.rb +60 -0
  23. data/spec/dummy/config/environments/test.rb +39 -0
  24. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  25. data/spec/dummy/config/initializers/inflections.rb +10 -0
  26. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  27. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  28. data/spec/dummy/config/initializers/session_store.rb +8 -0
  29. data/spec/dummy/config/initializers/spree.rb +12 -0
  30. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  31. data/spec/dummy/config/locales/en.yml +5 -0
  32. data/spec/dummy/config/routes.rb +3 -0
  33. data/spec/dummy/config/spree.yml +2 -0
  34. data/spec/dummy/db/dummy_test +0 -0
  35. data/spec/dummy/db/migrate/20120218160357_spree_zero_nine_zero.rb +389 -0
  36. data/spec/dummy/db/migrate/20120218160358_create_indexes_for_inventory_units.rb +6 -0
  37. data/spec/dummy/db/migrate/20120218160359_add_count_on_hand_to_variants_and_products.rb +49 -0
  38. data/spec/dummy/db/migrate/20120218160360_change_taxons_to_nested_set.rb +46 -0
  39. data/spec/dummy/db/migrate/20120218160361_move_to_configurable_gateways.rb +54 -0
  40. data/spec/dummy/db/migrate/20120218160362_product_groups_and_scopes.rb +18 -0
  41. data/spec/dummy/db/migrate/20120218160363_add_open_id_authentication_tables.rb +15 -0
  42. data/spec/dummy/db/migrate/20120218160364_add_openid_field_to_users.rb +24 -0
  43. data/spec/dummy/db/migrate/20120218160365_change_preference_value_type.rb +10 -0
  44. data/spec/dummy/db/migrate/20120218160366_create_billing_integrations.rb +12 -0
  45. data/spec/dummy/db/migrate/20120218160367_charge_refactoring.rb +39 -0
  46. data/spec/dummy/db/migrate/20120218160368_add_some_indexes.rb +11 -0
  47. data/spec/dummy/db/migrate/20120218160369_checkout_state_machine.rb +5 -0
  48. data/spec/dummy/db/migrate/20120218160370_state_for_shipments.rb +5 -0
  49. data/spec/dummy/db/migrate/20120218160371_make_state_events_polymorphic.rb +12 -0
  50. data/spec/dummy/db/migrate/20120218160372_ship_address_id_for_checkouts.rb +5 -0
  51. data/spec/dummy/db/migrate/20120218160373_shipping_method_id_for_checkouts.rb +5 -0
  52. data/spec/dummy/db/migrate/20120218160374_creditcard_last_four_digits.rb +14 -0
  53. data/spec/dummy/db/migrate/20120218160375_populate_legacy_shipment_state.rb +15 -0
  54. data/spec/dummy/db/migrate/20120218160376_add_cost_price.rb +5 -0
  55. data/spec/dummy/db/migrate/20120218160377_shipment_id_for_inventory_units.rb +25 -0
  56. data/spec/dummy/db/migrate/20120218160378_cim_fields_for_creditcards.rb +6 -0
  57. data/spec/dummy/db/migrate/20120218160379_create_return_authorizations.rb +12 -0
  58. data/spec/dummy/db/migrate/20120218160380_add_return_authorization_to_inventory_units.rb +5 -0
  59. data/spec/dummy/db/migrate/20120218160381_create_trackers.rb +10 -0
  60. data/spec/dummy/db/migrate/20120218160382_creditcard_id_for_creditcard_txns.rb +5 -0
  61. data/spec/dummy/db/migrate/20120218160383_original_creditcard_txn_id_for_creditcard_txns.rb +5 -0
  62. data/spec/dummy/db/migrate/20120218160384_add_test_mode_to_billing_integration.rb +6 -0
  63. data/spec/dummy/db/migrate/20120218160385_create_products_product_groups.rb +8 -0
  64. data/spec/dummy/db/migrate/20120218160386_create_payment_methods.rb +16 -0
  65. data/spec/dummy/db/migrate/20120218160387_polymorphic_payments.rb +42 -0
  66. data/spec/dummy/db/migrate/20120218160388_change_payments_payment_method_to_belongs_to.rb +11 -0
  67. data/spec/dummy/db/migrate/20120218160389_assign_creditcard_txns_to_payment.rb +23 -0
  68. data/spec/dummy/db/migrate/20120218160390_sti_for_transactions.rb +15 -0
  69. data/spec/dummy/db/migrate/20120218160391_drop_billing_integrations.rb +16 -0
  70. data/spec/dummy/db/migrate/20120218160392_deleted_at_for_payment_methods.rb +14 -0
  71. data/spec/dummy/db/migrate/20120218160393_add_adjustments_index.rb +6 -0
  72. data/spec/dummy/db/migrate/20120218160394_fix_by_popularity.rb +9 -0
  73. data/spec/dummy/db/migrate/20120218160395_add_alt_text_to_images.rb +5 -0
  74. data/spec/dummy/db/migrate/20120218160396_fix_existing_coupon_credits.rb +13 -0
  75. data/spec/dummy/db/migrate/20120218160397_add_display_to_payment_methods.rb +5 -0
  76. data/spec/dummy/db/migrate/20120218160398_add_addresses_checkouts_indexes.rb +8 -0
  77. data/spec/dummy/db/migrate/20120218160399_add_icon_to_taxons.rb +17 -0
  78. data/spec/dummy/db/migrate/20120218160400_add_description_to_taxons.rb +11 -0
  79. data/spec/dummy/db/migrate/20120218160401_index_for_shipments_number.rb +5 -0
  80. data/spec/dummy/db/migrate/20120218160402_add_index_on_users_persistence_token.rb +5 -0
  81. data/spec/dummy/db/migrate/20120218160403_add_default_to_tax_categories.rb +5 -0
  82. data/spec/dummy/db/migrate/20120218160404_add_display_to_shipping_methods.rb +5 -0
  83. data/spec/dummy/db/migrate/20120218160405_rename_payment_method_display.rb +5 -0
  84. data/spec/dummy/db/migrate/20120218160406_rename_preferences_field.rb +5 -0
  85. data/spec/dummy/db/migrate/20120218160407_add_guest_flag.rb +5 -0
  86. data/spec/dummy/db/migrate/20120218160408_drop_order_token.rb +9 -0
  87. data/spec/dummy/db/migrate/20120218160409_payments_state_and_assigned_to_order_only.rb +14 -0
  88. data/spec/dummy/db/migrate/20120218160410_create_address_keys_for_order.rb +6 -0
  89. data/spec/dummy/db/migrate/20120218160411_payment_total_for_orders.rb +5 -0
  90. data/spec/dummy/db/migrate/20120218160412_shipping_method_id_for_orders.rb +5 -0
  91. data/spec/dummy/db/migrate/20120218160413_add_shipment_and_payment_state.rb +6 -0
  92. data/spec/dummy/db/migrate/20120218160414_refactor_adjustments.rb +29 -0
  93. data/spec/dummy/db/migrate/20120218160415_response_code_and_avs_response_for_payments.rb +6 -0
  94. data/spec/dummy/db/migrate/20120218160416_change_guest_flag_to_anonymous.rb +5 -0
  95. data/spec/dummy/db/migrate/20120218160417_email_for_orders.rb +5 -0
  96. data/spec/dummy/db/migrate/20120218160418_create_mail_methods.rb +10 -0
  97. data/spec/dummy/db/migrate/20120218160419_rename_frozen_to_locked.rb +5 -0
  98. data/spec/dummy/db/migrate/20120218160420_move_special_instructions_to_orders.rb +10 -0
  99. data/spec/dummy/db/migrate/20120218160421_create_log_entries.rb +11 -0
  100. data/spec/dummy/db/migrate/20120218160422_migrate_transactions_to_payment_state.rb +98 -0
  101. data/spec/dummy/db/migrate/20120218160423_delete_in_progress_orders.rb +19 -0
  102. data/spec/dummy/db/migrate/20120218160424_migrate_checkout_to_orders.rb +23 -0
  103. data/spec/dummy/db/migrate/20120218160425_remove_shipped_state.rb +12 -0
  104. data/spec/dummy/db/migrate/20120218160426_prevent_nil_payment_total.rb +8 -0
  105. data/spec/dummy/db/migrate/20120218160427_prevent_nil_email.rb +9 -0
  106. data/spec/dummy/db/migrate/20120218160428_generate_anonymous_users.rb +20 -0
  107. data/spec/dummy/db/migrate/20120218160429_update_order_state.rb +12 -0
  108. data/spec/dummy/db/migrate/20120218160430_cleanup_legacy_tables.rb +11 -0
  109. data/spec/dummy/db/migrate/20120218160431_remove_number_and_cvv_from_credicard.rb +11 -0
  110. data/spec/dummy/db/migrate/20120218160432_drop_anonymous_field_for_user.rb +9 -0
  111. data/spec/dummy/db/migrate/20120218160433_renamed_rma_cancelled_state.rb +9 -0
  112. data/spec/dummy/db/migrate/20120218160434_fix_problematic_index_names.rb +13 -0
  113. data/spec/dummy/db/migrate/20120218160435_add_position_to_variants.rb +5 -0
  114. data/spec/dummy/db/migrate/20120218160436_add_next_state_to_state_events.rb +5 -0
  115. data/spec/dummy/db/migrate/20120218160437_add_position_to_option_types.rb +5 -0
  116. data/spec/dummy/db/migrate/20120218160438_remove_trailing_slashes_in_taxon_permalinks.rb +19 -0
  117. data/spec/dummy/db/migrate/20120218160439_create_activators.rb +14 -0
  118. data/spec/dummy/db/migrate/20120218160440_eligible_for_adjustments.rb +5 -0
  119. data/spec/dummy/db/migrate/20120218160441_namespace_top_level_models.rb +52 -0
  120. data/spec/dummy/db/migrate/20120218160442_migrate_namespaced_polymorphic_models.rb +52 -0
  121. data/spec/dummy/db/migrate/20120218160443_make_adjustments_polymorphic.rb +9 -0
  122. data/spec/dummy/db/migrate/20120218160444_add_company_to_addresses.rb +5 -0
  123. data/spec/dummy/db/migrate/20120218160445_add_inc_tax_to_tax_rates.rb +5 -0
  124. data/spec/dummy/db/migrate/20120218160446_rename_inc_price_attribute.rb +5 -0
  125. data/spec/dummy/db/migrate/20120218160447_add_default_tax_zone.rb +5 -0
  126. data/spec/dummy/db/migrate/20120218160448_associate_shipping_methods_and_shipping_categories.rb +7 -0
  127. data/spec/dummy/db/migrate/20120218160449_add_match_rules_to_shipping_methods.rb +7 -0
  128. data/spec/dummy/db/migrate/20120218160450_new_preferences.rb +48 -0
  129. data/spec/dummy/db/migrate/20120218160451_add_deleted_at_to_tax_category.rb +5 -0
  130. data/spec/dummy/db/schema.rb +553 -0
  131. data/spec/dummy/db/seeds.rb +11 -0
  132. data/spec/dummy/log/test.log +1136 -0
  133. data/spec/dummy/public/404.html +26 -0
  134. data/spec/dummy/public/422.html +26 -0
  135. data/spec/dummy/public/500.html +26 -0
  136. data/spec/dummy/public/favicon.ico +0 -0
  137. data/spec/dummy/script/rails +6 -0
  138. data/spec/dummy/spec/dummy/script/rails +6 -0
  139. data/spec/flat_in_range_spec.rb +56 -0
  140. data/spec/spec_helper.rb +32 -0
  141. metadata +428 -0
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,10 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # ActiveSupport::Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+ # Make sure the secret is at least 30 characters and all random,
6
+ # no regular words or you'll be exposed to dictionary attacks.
7
+ Dummy::Application.config.secret_token = 'ef05d3fb2974c1df6ffc50c780064f9b5254c75df47b1e72a2f0a8fd7bff4d67271ac5c5cdc84fa3ddc54b8b3b8e415dd51fd02b72ba90b72cd3c4463b48446c'
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Dummy::Application.config.session_store :cookie_store, :key => '_dummy_session'
4
+
5
+ # Use the database for sessions instead of the cookie-based default,
6
+ # which shouldn't be used to store highly confidential information
7
+ # (create the session table with "rails generate session_migration")
8
+ # Dummy::Application.config.session_store :active_record_store
@@ -0,0 +1,12 @@
1
+ # Configure Spree Preferences
2
+ #
3
+ # Note: Initializing preferences available within the Admin will overwrite any changes that were made through the user interface when you restart.
4
+ # If you would like users to be able to update a setting with the Admin it should NOT be set here.
5
+ #
6
+ # In order to initialize a setting do:
7
+ # config.setting_name = 'new value'
8
+ Spree.config do |config|
9
+ # Example:
10
+ # Uncomment to override the default site name.
11
+ # config.site_name = "Spree Demo Site"
12
+ end
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+ #
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters :format => [:json]
9
+ end
10
+
11
+ # Disable root element in JSON by default.
12
+ ActiveSupport.on_load(:active_record) do
13
+ self.include_root_in_json = false
14
+ end
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ mount Spree::Core::Engine => "/"
3
+ end
@@ -0,0 +1,2 @@
1
+ ---
2
+ version: 1.0.0
Binary file
@@ -0,0 +1,389 @@
1
+ class SpreeZeroNineZero < ActiveRecord::Migration
2
+ # This is a legacy migration consolidating all of the database changes needed as of Spree 0.9.0
3
+ # (See http://railsdog.lighthouseapp.com/projects/31096-spree/tickets/772)
4
+
5
+ def change
6
+ create_table :addresses, :force => true do |t|
7
+ t.string :firstname, :lastname, :address1, :address2, :city,
8
+ :zipcode, :phone, :state_name, :alternative_phone
9
+ t.references :state
10
+ t.references :country
11
+
12
+ t.timestamps
13
+ end
14
+
15
+ create_table :adjustments, :force => true do |t|
16
+ t.integer :position, :adjustment_source_id
17
+ t.decimal :amount, :precision => 8, :scale => 2, :default => 0.0, :null => false
18
+ t.string :type, :description, :adjustment_source_type, :secondary_type
19
+ t.references :order
20
+
21
+ t.timestamps
22
+ end
23
+
24
+ create_table :assets, :force => true do |t|
25
+ t.integer :viewable_id, :attachment_width, :attachment_height,
26
+ :attachment_size, :position
27
+ t.string :viewable_type, :limit => 50
28
+ t.string :attachment_content_type, :attachment_file_name
29
+ t.string :type, :limit => 75
30
+ t.datetime :attachment_updated_at
31
+ end
32
+
33
+ create_table :calculators, :force => true do |t|
34
+ t.string :type
35
+ t.integer :calculable_id, :null => false
36
+ t.string :calculable_type, :null => false
37
+
38
+ t.timestamps
39
+ end
40
+
41
+ create_table :checkouts, :force => true do |t|
42
+ t.references :order
43
+ t.string :email, :ip_address
44
+ t.text :special_instructions
45
+ t.integer :bill_address_id
46
+ t.datetime :completed_at
47
+
48
+ t.timestamps
49
+ end
50
+
51
+ create_table :configurations, :force => true do |t|
52
+ t.string :name
53
+ t.string :type, :limit => 50
54
+
55
+ t.timestamps
56
+ end
57
+
58
+ add_index :configurations, [:name, :type], :name => 'index_configurations_on_name_and_type'
59
+
60
+ create_table :countries, :force => true do |t|
61
+ t.string :iso_name, :iso, :iso3, :name
62
+ t.integer :numcode
63
+ end
64
+
65
+ create_table :coupons, :force => true do |t|
66
+ t.string :code, :description
67
+ t.integer :usage_limit
68
+ t.boolean :combine
69
+ t.datetime :expires_at, :starts_at
70
+
71
+ t.timestamps
72
+ end
73
+
74
+ create_table :creditcard_txns, :force => true do |t|
75
+ t.integer :creditcard_payment_id, :txn_type
76
+ t.decimal :amount, :precision => 8, :scale => 2, :default => 0.0, :null => false
77
+ t.string :response_code
78
+ t.text :avs_response, :cvv_response
79
+
80
+ t.timestamps
81
+ end
82
+
83
+ create_table :creditcards, :force => true do |t|
84
+ t.text :number, :verification_value
85
+ t.string :month, :year, :cc_type, :display_number, :first_name,
86
+ :last_name, :start_month, :start_year, :issue_number
87
+ t.references :address
88
+ t.references :checkout
89
+
90
+ t.timestamps
91
+ end
92
+
93
+ create_table :gateway_configurations, :force => true do |t|
94
+ t.references :gateway
95
+
96
+ t.timestamps
97
+ end
98
+
99
+ create_table :gateway_option_values, :force => true do |t|
100
+ t.references :gateway_configuration
101
+ t.references :gateway_option
102
+ t.text :value
103
+
104
+ t.timestamps
105
+ end
106
+
107
+ create_table :gateway_options, :force => true do |t|
108
+ t.string :name
109
+ t.text :description
110
+ t.boolean :textarea, :default => false
111
+ t.references :gateway
112
+
113
+ t.timestamps
114
+ end
115
+
116
+ create_table :gateways, :force => true do |t|
117
+ t.string :clazz, :name
118
+ t.text :description
119
+ t.boolean :active
120
+
121
+ t.timestamps
122
+ end
123
+
124
+ create_table :inventory_units, :force => true do |t|
125
+ t.integer :lock_version, :default => 0
126
+ t.string :state
127
+ t.references :variant
128
+ t.references :order
129
+
130
+ t.timestamps
131
+ end
132
+
133
+ create_table :line_items, :force => true do |t|
134
+ t.references :order
135
+ t.references :variant
136
+ t.integer :quantity, :null => false
137
+ t.decimal :price, :precision => 8, :scale => 2, :null => false
138
+
139
+ t.timestamps
140
+ end
141
+
142
+ add_index :line_items, :order_id, :name => 'index_line_items_on_order_id'
143
+ add_index :line_items, :variant_id, :name => 'index_line_items_on_variant_id'
144
+
145
+ create_table :option_types, :force => true do |t|
146
+ t.string :name, :limit => 100
147
+ t.string :presentation, :limit => 100
148
+
149
+ t.timestamps
150
+ end
151
+
152
+ create_table :option_types_prototypes, :id => false, :force => true do |t|
153
+ t.references :prototype
154
+ t.references :option_type
155
+ end
156
+
157
+ create_table :option_values, :force => true do |t|
158
+ t.integer :position
159
+ t.string :name, :presentation
160
+ t.references :option_type
161
+
162
+ t.timestamps
163
+ end
164
+
165
+ create_table :option_values_variants, :id => false, :force => true do |t|
166
+ t.integer :variant_id
167
+ t.integer :option_value_id
168
+ end
169
+
170
+ add_index :option_values_variants, :variant_id, :name => 'index_option_values_variants_on_variant_id'
171
+
172
+ create_table :orders, :force => true do |t|
173
+ t.string :number, :limit => 15
174
+ t.decimal :item_total, :precision => 8, :scale => 2, :default => 0.0, :null => false
175
+ t.decimal :total, :precision => 8, :scale => 2, :default => 0.0, :null => false
176
+ t.string :state
177
+ t.string :token
178
+ t.decimal :adjustment_total, :precision => 8, :scale => 2, :default => 0.0, :null => false
179
+ t.decimal :credit_total, :precision => 8, :scale => 2, :default => 0.0, :null => false
180
+ t.references :user
181
+
182
+ t.timestamps
183
+ end
184
+
185
+ add_index :orders, :number, :name => 'index_orders_on_number'
186
+
187
+ create_table :payments, :force => true do |t|
188
+ t.decimal :amount, :precision => 8, :scale => 2, :default => 0.0, :null => false
189
+ t.string :type
190
+ t.references :order
191
+ t.references :creditcard
192
+
193
+ t.timestamps
194
+ end
195
+
196
+ create_table :preferences, :force => true do |t|
197
+ t.string :attribute, :null => false, :limit => 100
198
+ t.integer :owner_id, :null => false, :limit => 30
199
+ t.string :owner_type, :null => false, :limit => 50
200
+ t.integer :group_id
201
+ t.string :group_type, :limit => 50
202
+ t.string :value
203
+
204
+ t.timestamps
205
+ end
206
+
207
+ add_index :preferences, [:owner_id, :owner_type, :attribute, :group_id, :group_type], :name => 'index_preferences_on_owner_and_attribute_and_preference', :unique => true
208
+
209
+ create_table :product_option_types, :force => true do |t|
210
+ t.integer :position
211
+ t.references :product
212
+ t.references :option_type
213
+
214
+ t.timestamps
215
+ end
216
+
217
+ create_table :product_properties, :force => true do |t|
218
+ t.string :value
219
+ t.references :product
220
+ t.references :property
221
+
222
+ t.timestamps
223
+ end
224
+
225
+ create_table :products, :force => true do |t|
226
+ t.string :name, :default => '', :null => false
227
+ t.text :description
228
+ t.datetime :available_on, :deleted_at
229
+ t.string :permalink, :meta_description, :meta_keywords
230
+ t.references :tax_category
231
+ t.references :shipping_category
232
+
233
+ t.timestamps
234
+ end
235
+
236
+ add_index :products, :available_on, :name => 'index_products_on_available_on'
237
+ add_index :products, :deleted_at, :name => 'index_products_on_deleted_at'
238
+ add_index :products, :name, :name => 'index_products_on_name'
239
+ add_index :products, :permalink, :name => 'index_products_on_permalink'
240
+
241
+ create_table :products_taxons, :id => false, :force => true do |t|
242
+ t.references :product
243
+ t.references :taxon
244
+ end
245
+
246
+ add_index :products_taxons, :product_id, :name => 'index_products_taxons_on_product_id'
247
+ add_index :products_taxons, :taxon_id, :name => 'index_products_taxons_on_taxon_id'
248
+
249
+ create_table :properties, :force => true do |t|
250
+ t.string :name
251
+ t.string :presentation, :null => false
252
+
253
+ t.timestamps
254
+ end
255
+
256
+ create_table :properties_prototypes, :id => false, :force => true do |t|
257
+ t.references :prototype
258
+ t.references :property
259
+ end
260
+
261
+ create_table :prototypes, :force => true do |t|
262
+ t.string :name
263
+
264
+ t.timestamps
265
+ end
266
+
267
+ create_table :roles, :force => true do |t|
268
+ t.string :name
269
+ end
270
+
271
+ create_table :roles_users, :id => false, :force => true do |t|
272
+ t.references :role
273
+ t.references :user
274
+ end
275
+
276
+ add_index :roles_users, :role_id, :name => 'index_roles_users_on_role_id'
277
+ add_index :roles_users, :user_id, :name => 'index_roles_users_on_user_id'
278
+
279
+ create_table :shipments, :force => true do |t|
280
+ t.string :tracking, :number
281
+ t.decimal :cost, :precision => 8, :scale => 2
282
+ t.datetime :shipped_at
283
+ t.references :order
284
+ t.references :shipping_method
285
+ t.references :address
286
+
287
+ t.timestamps
288
+ end
289
+
290
+ create_table :shipping_categories, :force => true do |t|
291
+ t.string :name
292
+
293
+ t.timestamps
294
+ end
295
+
296
+ create_table :shipping_methods, :force => true do |t|
297
+ t.string :name
298
+ t.references :zone
299
+
300
+ t.timestamps
301
+ end
302
+
303
+ create_table :state_events, :force => true do |t|
304
+ t.string :name, :previous_state
305
+ t.references :order
306
+ t.references :user
307
+
308
+ t.timestamps
309
+ end
310
+
311
+ create_table :states, :force => true do |t|
312
+ t.string :name
313
+ t.string :abbr
314
+ t.references :country
315
+ end
316
+
317
+ create_table :tax_categories, :force => true do |t|
318
+ t.string :name, :description
319
+
320
+ t.timestamps
321
+ end
322
+
323
+ create_table :tax_rates, :force => true do |t|
324
+ t.decimal :amount, :precision => 8, :scale => 4
325
+ t.references :zone
326
+ t.references :tax_category
327
+
328
+ t.timestamps
329
+ end
330
+
331
+ create_table :taxonomies, :force => true do |t|
332
+ t.string :name, :null => false
333
+
334
+ t.timestamps
335
+ end
336
+
337
+ create_table :taxons, :force => true do |t|
338
+ t.integer :parent_id
339
+ t.integer :position, :default => 0
340
+ t.string :name, :null => false
341
+ t.string :permalink
342
+ t.references :taxonomy
343
+
344
+ t.timestamps
345
+ end
346
+
347
+ create_table :users, :force => true do |t|
348
+ t.string :crypted_password, :limit => 128, :default => '', :null => false
349
+ t.string :salt, :limit => 128, :default => '', :null => false
350
+ t.string :email, :remember_token, :remember_token_expires_at,
351
+ :persistence_token, :single_access_token, :perishable_token
352
+ t.integer :login_count, :default => 0, :null => false
353
+ t.integer :failed_login_count, :default => 0, :null => false
354
+ t.datetime :last_request_at, :current_login_at, :last_login_at
355
+ t.string :current_login_ip, :last_login_ip, :login
356
+ t.integer :ship_address_id, :bill_address_id
357
+
358
+ t.timestamps
359
+ end
360
+
361
+ create_table :variants, :force => true do |t|
362
+ t.string :sku, :default => '', :null => false
363
+ t.decimal :price, :precision => 8, :scale => 2, :null => false
364
+ t.decimal :weight, :precision => 8, :scale => 2
365
+ t.decimal :height, :precision => 8, :scale => 2
366
+ t.decimal :width, :precision => 8, :scale => 2
367
+ t.decimal :depth, :precision => 8, :scale => 2
368
+ t.datetime :deleted_at
369
+ t.boolean :is_master, :default => false
370
+ t.references :product
371
+ end
372
+
373
+ add_index :variants, :product_id, :name => 'index_variants_on_product_id'
374
+
375
+ create_table :zone_members, :force => true do |t|
376
+ t.integer :zoneable_id
377
+ t.string :zoneable_type
378
+ t.references :zone
379
+
380
+ t.timestamps
381
+ end
382
+
383
+ create_table :zones, :force => true do |t|
384
+ t.string :name, :description
385
+
386
+ t.timestamps
387
+ end
388
+ end
389
+ end