spree_china_sample 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +26 -0
- data/db/samples/addresses.rb +26 -0
- data/db/samples/adjustments.rb +20 -0
- data/db/samples/assets.rb +159 -0
- data/db/samples/images/apache_baseball.png +0 -0
- data/db/samples/images/ror_bag.jpeg +0 -0
- data/db/samples/images/ror_baseball.jpeg +0 -0
- data/db/samples/images/ror_baseball_back.jpeg +0 -0
- data/db/samples/images/ror_baseball_jersey_back_blue.png +0 -0
- data/db/samples/images/ror_baseball_jersey_back_green.png +0 -0
- data/db/samples/images/ror_baseball_jersey_back_red.png +0 -0
- data/db/samples/images/ror_baseball_jersey_blue.png +0 -0
- data/db/samples/images/ror_baseball_jersey_green.png +0 -0
- data/db/samples/images/ror_baseball_jersey_red.png +0 -0
- data/db/samples/images/ror_jr_spaghetti.jpeg +0 -0
- data/db/samples/images/ror_mug.jpeg +0 -0
- data/db/samples/images/ror_mug_back.jpeg +0 -0
- data/db/samples/images/ror_ringer.jpeg +0 -0
- data/db/samples/images/ror_ringer_back.jpeg +0 -0
- data/db/samples/images/ror_stein.jpeg +0 -0
- data/db/samples/images/ror_stein_back.jpeg +0 -0
- data/db/samples/images/ror_tote.jpeg +0 -0
- data/db/samples/images/ror_tote_back.jpeg +0 -0
- data/db/samples/images/ruby_baseball.png +0 -0
- data/db/samples/images/spree_bag.jpeg +0 -0
- data/db/samples/images/spree_jersey.jpeg +0 -0
- data/db/samples/images/spree_jersey_back.jpeg +0 -0
- data/db/samples/images/spree_mug.jpeg +0 -0
- data/db/samples/images/spree_mug_back.jpeg +0 -0
- data/db/samples/images/spree_ringer_t.jpeg +0 -0
- data/db/samples/images/spree_ringer_t_back.jpeg +0 -0
- data/db/samples/images/spree_spaghetti.jpeg +0 -0
- data/db/samples/images/spree_stein.jpeg +0 -0
- data/db/samples/images/spree_stein_back.jpeg +0 -0
- data/db/samples/images/spree_tote_back.jpeg +0 -0
- data/db/samples/images/spree_tote_front.jpeg +0 -0
- data/db/samples/option_types.rb +12 -0
- data/db/samples/option_values.rb +49 -0
- data/db/samples/orders.rb +38 -0
- data/db/samples/payment_methods.rb +15 -0
- data/db/samples/payments.rb +22 -0
- data/db/samples/product_option_types.rb +12 -0
- data/db/samples/product_properties.rb +118 -0
- data/db/samples/products.rb +137 -0
- data/db/samples/prototypes.rb +21 -0
- data/db/samples/shipping_categories.rb +1 -0
- data/db/samples/shipping_methods.rb +60 -0
- data/db/samples/stock.rb +12 -0
- data/db/samples/tax_categories.rb +2 -0
- data/db/samples/tax_rates.rb +9 -0
- data/db/samples/taxonomies.rb +8 -0
- data/db/samples/taxons.rb +145 -0
- data/db/samples/variants.rb +164 -0
- data/db/samples.rb +2 -0
- data/lib/spree/sample.rb +23 -0
- data/lib/spree_sample.rb +31 -0
- data/lib/tasks/sample.rake +24 -0
- metadata +115 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
Spree::Sample.load_sample("products")
|
2
|
+
|
3
|
+
size = Spree::OptionType.find_by_presentation!("Size")
|
4
|
+
color = Spree::OptionType.find_by_presentation!("Color")
|
5
|
+
|
6
|
+
ror_baseball_jersey = Spree::Product.find_by_name!("Ruby on Rails Baseball Jersey")
|
7
|
+
ror_baseball_jersey.option_types = [size, color]
|
8
|
+
ror_baseball_jersey.save!
|
9
|
+
|
10
|
+
spree_baseball_jersey = Spree::Product.find_by_name!("Spree Baseball Jersey")
|
11
|
+
spree_baseball_jersey.option_types = [size, color]
|
12
|
+
spree_baseball_jersey.save!
|
@@ -0,0 +1,118 @@
|
|
1
|
+
products =
|
2
|
+
{
|
3
|
+
"Ruby on Rails Baseball Jersey" =>
|
4
|
+
{
|
5
|
+
"Manufacturer" => "Wilson",
|
6
|
+
"Brand" => "Wannabe Sports",
|
7
|
+
"Model" => "JK1002",
|
8
|
+
"Shirt Type" => "Baseball Jersey",
|
9
|
+
"Sleeve Type" => "Long",
|
10
|
+
"Made from" => "100% cotton",
|
11
|
+
"Fit" => "Loose",
|
12
|
+
"Gender" => "Men's"
|
13
|
+
},
|
14
|
+
"Ruby on Rails Jr. Spaghetti" =>
|
15
|
+
{
|
16
|
+
"Manufacturer" => "Jerseys",
|
17
|
+
"Brand" => "Resiliance",
|
18
|
+
"Model" => "TL174",
|
19
|
+
"Shirt Type" => "Jr. Spaghetti T",
|
20
|
+
"Sleeve Type" => "None",
|
21
|
+
"Made from" => "90% Cotton, 10% Nylon",
|
22
|
+
"Fit" => "Form",
|
23
|
+
"Gender" => "Women's"
|
24
|
+
},
|
25
|
+
"Ruby on Rails Ringer T-Shirt" =>
|
26
|
+
{
|
27
|
+
"Manufacturer" => "Jerseys",
|
28
|
+
"Brand" => "Conditioned",
|
29
|
+
"Model" => "TL9002",
|
30
|
+
"Shirt Type" => "Ringer T",
|
31
|
+
"Sleeve Type" => "Short",
|
32
|
+
"Made from" => "100% Vellum",
|
33
|
+
"Fit" => "Loose",
|
34
|
+
"Gender" => "Men's"
|
35
|
+
},
|
36
|
+
"Ruby on Rails Tote" =>
|
37
|
+
{
|
38
|
+
"Type" => "Tote",
|
39
|
+
"Size" => %Q{15" x 18" x 6"},
|
40
|
+
"Material" => "Canvas"
|
41
|
+
},
|
42
|
+
"Ruby on Rails Bag" =>
|
43
|
+
{
|
44
|
+
"Type" => "Messenger",
|
45
|
+
"Size" => %Q{14 1/2" x 12" x 5"},
|
46
|
+
"Material" => "600 Denier Polyester"
|
47
|
+
},
|
48
|
+
"Ruby on Rails Mug" =>
|
49
|
+
{
|
50
|
+
"Type" => "Mug",
|
51
|
+
"Size" => %Q{4.5" tall, 3.25" dia.}
|
52
|
+
},
|
53
|
+
"Ruby on Rails Stein" =>
|
54
|
+
{
|
55
|
+
"Type" => "Stein",
|
56
|
+
"Size" => %Q{6.75" tall, 3.75" dia. base, 3" dia. rim}
|
57
|
+
},
|
58
|
+
"Spree Stein" =>
|
59
|
+
{
|
60
|
+
"Type" => "Stein",
|
61
|
+
"Size" => %Q{6.75" tall, 3.75" dia. base, 3" dia. rim}
|
62
|
+
},
|
63
|
+
"Spree Mug" =>
|
64
|
+
{
|
65
|
+
"Type" => "Mug",
|
66
|
+
"Size" => %Q{4.5" tall, 3.25" dia.}
|
67
|
+
},
|
68
|
+
"Spree Tote" =>
|
69
|
+
{
|
70
|
+
"Type" => "Tote",
|
71
|
+
"Size" => %Q{15" x 18" x 6"}
|
72
|
+
},
|
73
|
+
"Spree Bag" =>
|
74
|
+
{
|
75
|
+
"Type" => "Messenger",
|
76
|
+
"Size" => %Q{14 1/2" x 12" x 5"}
|
77
|
+
},
|
78
|
+
"Spree Baseball Jersey" =>
|
79
|
+
{
|
80
|
+
"Manufacturer" => "Wilson",
|
81
|
+
"Brand" => "Wannabe Sports",
|
82
|
+
"Model" => "JK1002",
|
83
|
+
"Shirt Type" => "Baseball Jersey",
|
84
|
+
"Sleeve Type" => "Long",
|
85
|
+
"Made from" => "100% cotton",
|
86
|
+
"Fit" => "Loose",
|
87
|
+
"Gender" => "Men's"
|
88
|
+
},
|
89
|
+
"Spree Jr. Spaghetti" =>
|
90
|
+
{
|
91
|
+
"Manufacturer" => "Jerseys",
|
92
|
+
"Brand" => "Resiliance",
|
93
|
+
"Model" => "TL174",
|
94
|
+
"Shirt Type" => "Jr. Spaghetti T",
|
95
|
+
"Sleeve Type" => "None",
|
96
|
+
"Made from" => "90% Cotton, 10% Nylon",
|
97
|
+
"Fit" => "Form",
|
98
|
+
"Gender" => "Women's"
|
99
|
+
},
|
100
|
+
"Spree Ringer T-Shirt" =>
|
101
|
+
{
|
102
|
+
"Manufacturer" => "Jerseys",
|
103
|
+
"Brand" => "Conditioned",
|
104
|
+
"Model" => "TL9002",
|
105
|
+
"Shirt Type" => "Ringer T",
|
106
|
+
"Sleeve Type" => "Short",
|
107
|
+
"Made from" => "100% Vellum",
|
108
|
+
"Fit" => "Loose",
|
109
|
+
"Gender" => "Men's"
|
110
|
+
},
|
111
|
+
}
|
112
|
+
|
113
|
+
products.each do |name, properties|
|
114
|
+
product = Spree::Product.find_by_name(name)
|
115
|
+
properties.each do |prop_name, prop_value|
|
116
|
+
product.set_property(prop_name, prop_value)
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,137 @@
|
|
1
|
+
Spree::Sample.load_sample("tax_categories")
|
2
|
+
Spree::Sample.load_sample("shipping_categories")
|
3
|
+
|
4
|
+
clothing = Spree::TaxCategory.find_by_name!("Clothing")
|
5
|
+
shipping_category = Spree::ShippingCategory.find_by_name!("Default")
|
6
|
+
|
7
|
+
default_attrs = {
|
8
|
+
:description => Faker::Lorem.paragraph,
|
9
|
+
:available_on => Time.zone.now
|
10
|
+
}
|
11
|
+
|
12
|
+
products = [
|
13
|
+
{
|
14
|
+
:name => "Ruby on Rails Tote",
|
15
|
+
:tax_category => clothing,
|
16
|
+
:shipping_category => shipping_category,
|
17
|
+
:price => 15.99,
|
18
|
+
:eur_price => 14,
|
19
|
+
},
|
20
|
+
{
|
21
|
+
:name => "Ruby on Rails Bag",
|
22
|
+
:tax_category => clothing,
|
23
|
+
:shipping_category => shipping_category,
|
24
|
+
:price => 22.99,
|
25
|
+
:eur_price => 19,
|
26
|
+
},
|
27
|
+
{
|
28
|
+
:name => "Ruby on Rails Baseball Jersey",
|
29
|
+
:tax_category => clothing,
|
30
|
+
:shipping_category => shipping_category,
|
31
|
+
:price => 19.99,
|
32
|
+
:eur_price => 16
|
33
|
+
},
|
34
|
+
{
|
35
|
+
:name => "Ruby on Rails Jr. Spaghetti",
|
36
|
+
:tax_category => clothing,
|
37
|
+
:shipping_category => shipping_category,
|
38
|
+
:price => 19.99,
|
39
|
+
:eur_price => 16
|
40
|
+
|
41
|
+
},
|
42
|
+
{
|
43
|
+
:name => "Ruby on Rails Ringer T-Shirt",
|
44
|
+
:shipping_category => shipping_category,
|
45
|
+
:tax_category => clothing,
|
46
|
+
:price => 19.99,
|
47
|
+
:eur_price => 16
|
48
|
+
},
|
49
|
+
{
|
50
|
+
:name => "Ruby Baseball Jersey",
|
51
|
+
:tax_category => clothing,
|
52
|
+
:shipping_category => shipping_category,
|
53
|
+
:price => 19.99,
|
54
|
+
:eur_price => 16
|
55
|
+
},
|
56
|
+
{
|
57
|
+
:name => "Apache Baseball Jersey",
|
58
|
+
:tax_category => clothing,
|
59
|
+
:shipping_category => shipping_category,
|
60
|
+
:price => 19.99,
|
61
|
+
:eur_price => 16
|
62
|
+
},
|
63
|
+
{
|
64
|
+
:name => "Spree Baseball Jersey",
|
65
|
+
:tax_category => clothing,
|
66
|
+
:shipping_category => shipping_category,
|
67
|
+
:price => 19.99,
|
68
|
+
:eur_price => 16
|
69
|
+
},
|
70
|
+
{
|
71
|
+
:name => "Spree Jr. Spaghetti",
|
72
|
+
:tax_category => clothing,
|
73
|
+
:shipping_category => shipping_category,
|
74
|
+
:price => 19.99,
|
75
|
+
:eur_price => 16
|
76
|
+
},
|
77
|
+
{
|
78
|
+
:name => "Spree Ringer T-Shirt",
|
79
|
+
:tax_category => clothing,
|
80
|
+
:shipping_category => shipping_category,
|
81
|
+
:price => 19.99,
|
82
|
+
:eur_price => 16
|
83
|
+
},
|
84
|
+
{
|
85
|
+
:name => "Spree Tote",
|
86
|
+
:tax_category => clothing,
|
87
|
+
:shipping_category => shipping_category,
|
88
|
+
:price => 15.99,
|
89
|
+
:eur_price => 14,
|
90
|
+
},
|
91
|
+
{
|
92
|
+
:name => "Spree Bag",
|
93
|
+
:tax_category => clothing,
|
94
|
+
:shipping_category => shipping_category,
|
95
|
+
:price => 22.99,
|
96
|
+
:eur_price => 19
|
97
|
+
},
|
98
|
+
{
|
99
|
+
:name => "Ruby on Rails Mug",
|
100
|
+
:shipping_category => shipping_category,
|
101
|
+
:price => 13.99,
|
102
|
+
:eur_price => 12
|
103
|
+
},
|
104
|
+
{
|
105
|
+
:name => "Ruby on Rails Stein",
|
106
|
+
:shipping_category => shipping_category,
|
107
|
+
:price => 16.99,
|
108
|
+
:eur_price => 14
|
109
|
+
},
|
110
|
+
{
|
111
|
+
:name => "Spree Stein",
|
112
|
+
:shipping_category => shipping_category,
|
113
|
+
:price => 16.99,
|
114
|
+
:eur_price => 14,
|
115
|
+
},
|
116
|
+
{
|
117
|
+
:name => "Spree Mug",
|
118
|
+
:shipping_category => shipping_category,
|
119
|
+
:price => 13.99,
|
120
|
+
:eur_price => 12
|
121
|
+
}
|
122
|
+
]
|
123
|
+
|
124
|
+
products.each do |product_attrs|
|
125
|
+
eur_price = product_attrs.delete(:eur_price)
|
126
|
+
Spree::Config[:currency] = "USD"
|
127
|
+
|
128
|
+
default_shipping_category = Spree::ShippingCategory.find_by_name!("Default")
|
129
|
+
product = Spree::Product.create!(default_attrs.merge(product_attrs))
|
130
|
+
Spree::Config[:currency] = "EUR"
|
131
|
+
product.reload
|
132
|
+
product.price = eur_price
|
133
|
+
product.shipping_category = default_shipping_category
|
134
|
+
product.save!
|
135
|
+
end
|
136
|
+
|
137
|
+
Spree::Config[:currency] = "USD"
|
@@ -0,0 +1,21 @@
|
|
1
|
+
prototypes = [
|
2
|
+
{
|
3
|
+
:name => "Shirt",
|
4
|
+
:properties => ["Manufacturer", "Brand", "Model", "Shirt Type", "Sleeve Type", "Material", "Fit", "Gender"]
|
5
|
+
},
|
6
|
+
{
|
7
|
+
:name => "Bag",
|
8
|
+
:properties => ["Type", "Size", "Material"]
|
9
|
+
},
|
10
|
+
{
|
11
|
+
:name => "Mugs",
|
12
|
+
:properties => ["Size", "Type"]
|
13
|
+
}
|
14
|
+
]
|
15
|
+
|
16
|
+
prototypes.each do |prototype_attrs|
|
17
|
+
prototype = Spree::Prototype.create!(:name => prototype_attrs[:name])
|
18
|
+
prototype_attrs[:properties].each do |property|
|
19
|
+
prototype.properties << Spree::Property.where(name: property).first
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Spree::ShippingCategory.find_or_create_by!(:name => "Default")
|
@@ -0,0 +1,60 @@
|
|
1
|
+
begin
|
2
|
+
north_america = Spree::Zone.find_by_name!("North America")
|
3
|
+
rescue ActiveRecord::RecordNotFound
|
4
|
+
puts "Couldn't find 'North America' zone. Did you run `rake db:seed` first?"
|
5
|
+
puts "That task will set up the countries, states and zones required for Spree."
|
6
|
+
exit
|
7
|
+
end
|
8
|
+
|
9
|
+
europe_vat = Spree::Zone.find_by_name!("EU_VAT")
|
10
|
+
shipping_category = Spree::ShippingCategory.find_or_create_by!(name: 'Default')
|
11
|
+
|
12
|
+
Spree::ShippingMethod.create!([
|
13
|
+
{
|
14
|
+
:name => "UPS Ground (USD)",
|
15
|
+
:zones => [north_america],
|
16
|
+
:calculator => Spree::Calculator::Shipping::FlatRate.create!,
|
17
|
+
:shipping_categories => [shipping_category]
|
18
|
+
},
|
19
|
+
{
|
20
|
+
:name => "UPS Two Day (USD)",
|
21
|
+
:zones => [north_america],
|
22
|
+
:calculator => Spree::Calculator::Shipping::FlatRate.create!,
|
23
|
+
:shipping_categories => [shipping_category]
|
24
|
+
},
|
25
|
+
{
|
26
|
+
:name => "UPS One Day (USD)",
|
27
|
+
:zones => [north_america],
|
28
|
+
:calculator => Spree::Calculator::Shipping::FlatRate.create!,
|
29
|
+
:shipping_categories => [shipping_category]
|
30
|
+
},
|
31
|
+
{
|
32
|
+
:name => "UPS Ground (EU)",
|
33
|
+
:zones => [europe_vat],
|
34
|
+
:calculator => Spree::Calculator::Shipping::FlatRate.create!,
|
35
|
+
:shipping_categories => [shipping_category]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
:name => "UPS Ground (EUR)",
|
39
|
+
:zones => [europe_vat],
|
40
|
+
:calculator => Spree::Calculator::Shipping::FlatRate.create!,
|
41
|
+
:shipping_categories => [shipping_category]
|
42
|
+
}
|
43
|
+
])
|
44
|
+
|
45
|
+
{
|
46
|
+
"UPS Ground (USD)" => [5, "USD"],
|
47
|
+
"UPS Ground (EU)" => [5, "USD"],
|
48
|
+
"UPS One Day (USD)" => [15, "USD"],
|
49
|
+
"UPS Two Day (USD)" => [10, "USD"],
|
50
|
+
"UPS Ground (EUR)" => [8, "EUR"]
|
51
|
+
}.each do |shipping_method_name, (price, currency)|
|
52
|
+
shipping_method = Spree::ShippingMethod.find_by_name!(shipping_method_name)
|
53
|
+
shipping_method.calculator.preferences = {
|
54
|
+
amount: price,
|
55
|
+
currency: currency
|
56
|
+
}
|
57
|
+
shipping_method.calculator.save!
|
58
|
+
shipping_method.save!
|
59
|
+
end
|
60
|
+
|
data/db/samples/stock.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Spree::Sample.load_sample("variants")
|
2
|
+
|
3
|
+
country = Spree::Country.find_by(iso: 'US')
|
4
|
+
location = Spree::StockLocation.first_or_create! name: 'default', address1: 'Example Street', city: 'City', zipcode: '12345', country: country, state: country.states.first
|
5
|
+
location.active = true
|
6
|
+
location.save!
|
7
|
+
|
8
|
+
Spree::Variant.all.each do |variant|
|
9
|
+
variant.stock_items.each do |stock_item|
|
10
|
+
Spree::StockMovement.create(:quantity => 10, :stock_item => stock_item)
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
north_america = Spree::Zone.find_by_name!("North America")
|
2
|
+
clothing = Spree::TaxCategory.find_by_name!("Clothing")
|
3
|
+
tax_rate = Spree::TaxRate.create(
|
4
|
+
:name => "North America",
|
5
|
+
:zone => north_america,
|
6
|
+
:amount => 0.05,
|
7
|
+
:tax_category => clothing)
|
8
|
+
tax_rate.calculator = Spree::Calculator::DefaultTax.create!
|
9
|
+
tax_rate.save!
|
@@ -0,0 +1,145 @@
|
|
1
|
+
Spree::Sample.load_sample("taxonomies")
|
2
|
+
Spree::Sample.load_sample("products")
|
3
|
+
|
4
|
+
categories = Spree::Taxonomy.find_by_name!("Categories")
|
5
|
+
brands = Spree::Taxonomy.find_by_name!("Brand")
|
6
|
+
|
7
|
+
products = {
|
8
|
+
:ror_tote => "Ruby on Rails Tote",
|
9
|
+
:ror_bag => "Ruby on Rails Bag",
|
10
|
+
:ror_mug => "Ruby on Rails Mug",
|
11
|
+
:ror_stein => "Ruby on Rails Stein",
|
12
|
+
:ror_baseball_jersey => "Ruby on Rails Baseball Jersey",
|
13
|
+
:ror_jr_spaghetti => "Ruby on Rails Jr. Spaghetti",
|
14
|
+
:ror_ringer => "Ruby on Rails Ringer T-Shirt",
|
15
|
+
:spree_stein => "Spree Stein",
|
16
|
+
:spree_mug => "Spree Mug",
|
17
|
+
:spree_ringer => "Spree Ringer T-Shirt",
|
18
|
+
:spree_baseball_jersey => "Spree Baseball Jersey",
|
19
|
+
:spree_tote => "Spree Tote",
|
20
|
+
:spree_bag => "Spree Bag",
|
21
|
+
:spree_jr_spaghetti => "Spree Jr. Spaghetti",
|
22
|
+
:apache_baseball_jersey => "Apache Baseball Jersey",
|
23
|
+
:ruby_baseball_jersey => "Ruby Baseball Jersey",
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
products.each do |key, name|
|
28
|
+
products[key] = Spree::Product.find_by_name!(name)
|
29
|
+
end
|
30
|
+
|
31
|
+
taxons = [
|
32
|
+
{
|
33
|
+
:name => "Categories",
|
34
|
+
:taxonomy => categories,
|
35
|
+
:position => 0
|
36
|
+
},
|
37
|
+
{
|
38
|
+
:name => "Bags",
|
39
|
+
:taxonomy => categories,
|
40
|
+
:parent => "Categories",
|
41
|
+
:position => 1,
|
42
|
+
:products => [
|
43
|
+
products[:ror_tote],
|
44
|
+
products[:ror_bag],
|
45
|
+
products[:spree_tote],
|
46
|
+
products[:spree_bag]
|
47
|
+
]
|
48
|
+
},
|
49
|
+
{
|
50
|
+
:name => "Mugs",
|
51
|
+
:taxonomy => categories,
|
52
|
+
:parent => "Categories",
|
53
|
+
:position => 2,
|
54
|
+
:products => [
|
55
|
+
products[:ror_mug],
|
56
|
+
products[:ror_stein],
|
57
|
+
products[:spree_stein],
|
58
|
+
products[:spree_mug]
|
59
|
+
]
|
60
|
+
},
|
61
|
+
{
|
62
|
+
:name => "Clothing",
|
63
|
+
:taxonomy => categories,
|
64
|
+
:parent => "Categories"
|
65
|
+
},
|
66
|
+
{
|
67
|
+
:name => "Shirts",
|
68
|
+
:taxonomy => categories,
|
69
|
+
:parent => "Clothing",
|
70
|
+
:position => 0,
|
71
|
+
:products => [
|
72
|
+
products[:ror_jr_spaghetti],
|
73
|
+
products[:spree_jr_spaghetti]
|
74
|
+
]
|
75
|
+
},
|
76
|
+
{
|
77
|
+
:name => "T-Shirts",
|
78
|
+
:taxonomy => categories,
|
79
|
+
:parent => "Clothing" ,
|
80
|
+
:products => [
|
81
|
+
products[:ror_baseball_jersey],
|
82
|
+
products[:ror_ringer],
|
83
|
+
products[:apache_baseball_jersey],
|
84
|
+
products[:ruby_baseball_jersey],
|
85
|
+
products[:spree_baseball_jersey],
|
86
|
+
products[:spree_ringer]
|
87
|
+
],
|
88
|
+
:position => 0
|
89
|
+
},
|
90
|
+
{
|
91
|
+
:name => "Brands",
|
92
|
+
:taxonomy => brands
|
93
|
+
},
|
94
|
+
{
|
95
|
+
:name => "Ruby",
|
96
|
+
:taxonomy => brands,
|
97
|
+
:parent => "Brand",
|
98
|
+
:products => [
|
99
|
+
products[:ruby_baseball_jersey]
|
100
|
+
]
|
101
|
+
},
|
102
|
+
{
|
103
|
+
:name => "Apache",
|
104
|
+
:taxonomy => brands,
|
105
|
+
:parent => "Brand",
|
106
|
+
:products => [
|
107
|
+
products[:apache_baseball_jersey]
|
108
|
+
]
|
109
|
+
},
|
110
|
+
{
|
111
|
+
:name => "Spree",
|
112
|
+
:taxonomy => brands,
|
113
|
+
:parent => "Brand",
|
114
|
+
:products => [
|
115
|
+
products[:spree_stein],
|
116
|
+
products[:spree_mug],
|
117
|
+
products[:spree_ringer],
|
118
|
+
products[:spree_baseball_jersey],
|
119
|
+
products[:spree_tote],
|
120
|
+
products[:spree_bag],
|
121
|
+
products[:spree_jr_spaghetti],
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
:name => "Rails",
|
126
|
+
:taxonomy => brands,
|
127
|
+
:parent => "Brand",
|
128
|
+
:products => [
|
129
|
+
products[:ror_tote],
|
130
|
+
products[:ror_bag],
|
131
|
+
products[:ror_mug],
|
132
|
+
products[:ror_stein],
|
133
|
+
products[:ror_baseball_jersey],
|
134
|
+
products[:ror_jr_spaghetti],
|
135
|
+
products[:ror_ringer],
|
136
|
+
]
|
137
|
+
},
|
138
|
+
]
|
139
|
+
|
140
|
+
taxons.each do |taxon_attrs|
|
141
|
+
if taxon_attrs[:parent]
|
142
|
+
taxon_attrs[:parent] = Spree::Taxon.where(name: taxon_attrs[:parent]).first
|
143
|
+
Spree::Taxon.create!(taxon_attrs)
|
144
|
+
end
|
145
|
+
end
|