rfcommerce_sample 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/LICENSE +26 -0
  2. data/db/sample/addresses.yml +27 -0
  3. data/db/sample/adjustments.yml +24 -0
  4. data/db/sample/assets.yml +320 -0
  5. data/db/sample/assets/apache_baseball.png +0 -0
  6. data/db/sample/assets/ror_bag.jpeg +0 -0
  7. data/db/sample/assets/ror_baseball.jpeg +0 -0
  8. data/db/sample/assets/ror_baseball_back.jpeg +0 -0
  9. data/db/sample/assets/ror_baseball_jersey_back_blue.png +0 -0
  10. data/db/sample/assets/ror_baseball_jersey_back_green.png +0 -0
  11. data/db/sample/assets/ror_baseball_jersey_back_red.png +0 -0
  12. data/db/sample/assets/ror_baseball_jersey_blue.png +0 -0
  13. data/db/sample/assets/ror_baseball_jersey_green.png +0 -0
  14. data/db/sample/assets/ror_baseball_jersey_red.png +0 -0
  15. data/db/sample/assets/ror_jr_spaghetti.jpeg +0 -0
  16. data/db/sample/assets/ror_mug.jpeg +0 -0
  17. data/db/sample/assets/ror_mug_back.jpeg +0 -0
  18. data/db/sample/assets/ror_ringer.jpeg +0 -0
  19. data/db/sample/assets/ror_ringer_back.jpeg +0 -0
  20. data/db/sample/assets/ror_stein.jpeg +0 -0
  21. data/db/sample/assets/ror_stein_back.jpeg +0 -0
  22. data/db/sample/assets/ror_tote.jpeg +0 -0
  23. data/db/sample/assets/ror_tote_back.jpeg +0 -0
  24. data/db/sample/assets/ruby_baseball.png +0 -0
  25. data/db/sample/calculators.yml +16 -0
  26. data/db/sample/inventory_units.rb +4 -0
  27. data/db/sample/line_items.yml +40 -0
  28. data/db/sample/option_types.yml +8 -0
  29. data/db/sample/option_values.yml +35 -0
  30. data/db/sample/orders.yml +20 -0
  31. data/db/sample/payment_methods.yml +30 -0
  32. data/db/sample/payments.rb +25 -0
  33. data/db/sample/preferences.yml +20 -0
  34. data/db/sample/product_groups.yml +9 -0
  35. data/db/sample/product_option_types.yml +8 -0
  36. data/db/sample/product_properties.yml +136 -0
  37. data/db/sample/product_scopes.yml +35 -0
  38. data/db/sample/products.rb +15 -0
  39. data/db/sample/products.yml +53 -0
  40. data/db/sample/properties.yml +39 -0
  41. data/db/sample/prototypes.yml +9 -0
  42. data/db/sample/shipments.yml +8 -0
  43. data/db/sample/shipping_categories.yml +2 -0
  44. data/db/sample/shipping_methods.yml +9 -0
  45. data/db/sample/tax_categories.yml +6 -0
  46. data/db/sample/taxonomies.yml +4 -0
  47. data/db/sample/taxons.rb +3 -0
  48. data/db/sample/taxons.yml +91 -0
  49. data/db/sample/update_memberships.rb +1 -0
  50. data/db/sample/users.yml +8 -0
  51. data/db/sample/variants.yml +133 -0
  52. data/lib/spree_sample.rb +6 -0
  53. data/lib/tasks/install.rake +24 -0
  54. metadata +175 -0
@@ -0,0 +1,4 @@
1
+ # create the inventory units associated with the line item (we need to do this after the fixture b/c quantity is random)
2
+ LineItem.all.each do |li|
3
+ li.quantity.times { li.order.inventory_units.create(:variant => li.variant, :state => "sold", :shipment => li.order.shipment) }
4
+ end
@@ -0,0 +1,40 @@
1
+ <% for i in 1..100 do%>
2
+ li_<%= i %>:
3
+ order: order_<%= i %>
4
+ variant: ror_tote_v
5
+ quantity: <%= rand(4) + 1 %>
6
+ price: 15.99
7
+ <% end %>
8
+
9
+ <% for i in 1..10 do%>
10
+ li_<%= i + 1000 %>:
11
+ order: order_<%= i %>
12
+ variant: ror_bag_v
13
+ quantity: <%= rand(2) + 1 %>
14
+ price: 22.99
15
+ <% end %>
16
+
17
+ <% for i in 10..20 do%>
18
+ li_<%= i + 2000 %>:
19
+ order: order_<%= i %>
20
+ variant: large-blue-baseball
21
+ quantity: <%= rand(3) + 1 %>
22
+ price: 19.99
23
+ <% end %>
24
+
25
+ <% for i in 10..30 do%>
26
+ li_<%= i + 3000 %>:
27
+ order: order_<%= i %>
28
+ variant: ror_stein_v
29
+ quantity: <%= rand(3) + 1 %>
30
+ price: 16.99
31
+ <% end %>
32
+
33
+ <% for i in 30..50 do%>
34
+ li_<%= i + 4000 %>:
35
+ order: order_<%= i %>
36
+ variant: ror_mug_v
37
+ quantity: <%= rand(10) + 1 %>
38
+ price: 13.99
39
+ <% end %>
40
+
@@ -0,0 +1,8 @@
1
+ size:
2
+ name: tshirt-size
3
+ presentation: Size
4
+ position: 1
5
+ color:
6
+ name: tshirt-color
7
+ presentation: Color
8
+ position: 2
@@ -0,0 +1,35 @@
1
+ s:
2
+ name: Small
3
+ presentation: S
4
+ position: 1
5
+ option_type: size
6
+ m:
7
+ name: Medium
8
+ presentation: M
9
+ position: 2
10
+ option_type: size
11
+ l:
12
+ name: Large
13
+ presentation: L
14
+ position: 3
15
+ option_type: size
16
+ xl:
17
+ name: Extra Large
18
+ presentation: XL
19
+ position: 4
20
+ option_type: size
21
+ red:
22
+ name: Red
23
+ presentation: Red
24
+ position: 1
25
+ option_type: color
26
+ green:
27
+ name: Green
28
+ presentation: Green
29
+ position: 2
30
+ option_type: color
31
+ blue:
32
+ name: Blue
33
+ presentation: Blue
34
+ position: 3
35
+ option_type: color
@@ -0,0 +1,20 @@
1
+ <%
2
+ order_date = Time.now
3
+ 1.upto(100) do |i|
4
+ order_date -= rand(12).hours
5
+ item_total = "#{1 + rand(400)}.#{rand(100)}".to_f
6
+ charges_total = "#{1 + rand(30)}.#{rand(100)}".to_f
7
+ %>
8
+ order_<%= i %>:
9
+ number: <%= "R#{Array.new(9){rand(9)}.join}" %>
10
+ user: user_<%= i %>
11
+ state: complete
12
+ email: <%= Faker::Internet.email %>
13
+ item_total: <%= item_total %>
14
+ created_at: <%=order_date.to_s(:db)%>
15
+ completed_at: <%=order_date.to_s(:db)%>
16
+ total: <%= item_total + charges_total %>
17
+ adjustment_total: <%= charges_total %>
18
+ ship_address: ship_address_<%= i %>
19
+ bill_address: bill_address_<%= i %>
20
+ <% end %>
@@ -0,0 +1,30 @@
1
+ bogus_dev:
2
+ name: Credit Card
3
+ description: Bogus payment gateway for development.
4
+ environment: development
5
+ active: true
6
+ type: Gateway::Bogus
7
+ check_method:
8
+ name: Check
9
+ description: Pay by check.
10
+ active: true
11
+ type: PaymentMethod::Check
12
+ bogus_test:
13
+ name: Credit Card
14
+ description: Bogus payment gateway for test.
15
+ environment: test
16
+ active: true
17
+ type: Gateway::Bogus
18
+ bogus_prod:
19
+ name: Credit Card
20
+ description: Bogus payment gateway for production.
21
+ environment: production
22
+ active: true
23
+ type: Gateway::Bogus
24
+ bogus_prod:
25
+ name: Credit Card
26
+ description: Bogus payment gateway for staging.
27
+ environment: staging
28
+ active: true
29
+ type: Gateway::Bogus
30
+
@@ -0,0 +1,25 @@
1
+ # create payments based on the totals since they can't be known in YAML (quantities are random)
2
+ method = PaymentMethod.find(:first, :conditions => {:name => "Credit Card", :active => true})
3
+
4
+ # Hack the current method so we're able to return a gateway without a RAILS_ENV
5
+ Gateway.class_eval do
6
+ def self.current
7
+ Gateway::Bogus.new
8
+ end
9
+ end
10
+
11
+ creditcard = Creditcard.create(:cc_type => "visa", :month => 12, :year => 2014, :last_digits => "1111",
12
+ :first_name => "Sean", :last_name => "Schofield",
13
+ :gateway_customer_profile_id => "BGS-1234")
14
+
15
+ Order.all.each_with_index do |order,index|
16
+ printf "\rProcessing order #{index}"
17
+ STDOUT.flush
18
+ order.update!
19
+ payment = order.payments.create(:amount => order.total, :source => creditcard.clone, :payment_method => method)
20
+ payment.update_attributes_without_callbacks({
21
+ :state => "pending",
22
+ :response_code => "12345"
23
+ })
24
+ end
25
+ puts
@@ -0,0 +1,20 @@
1
+ flat_rate_ground:
2
+ name: amount
3
+ owner: ups_ground
4
+ owner_type: Calculator
5
+ value: 5
6
+ flat_rate_two_day:
7
+ name: amount
8
+ owner: ups_two_day
9
+ owner_type: Calculator
10
+ value: 10
11
+ flat_rate_one_day:
12
+ name: amount
13
+ owner: ups_one_day
14
+ owner_type: Calculator
15
+ value: 15
16
+ flat_rate_five_dollars:
17
+ name: amount
18
+ owner: flat_rate_coupon_calculator
19
+ owner_type: Calculator
20
+ value: 5
@@ -0,0 +1,9 @@
1
+ ---
2
+ product_groups_001:
3
+ name: Promotions for the Apache
4
+ permalink: promotions-for-the-apache
5
+ order:
6
+ product_groups_002:
7
+ name: most popular rails items
8
+ permalink: most-popular-rails-items
9
+ order:
@@ -0,0 +1,8 @@
1
+ baseball_size:
2
+ product: ror_baseball_jersey
3
+ option_type: size
4
+ position: 1
5
+ baseball_color:
6
+ product: ror_baseball_jersey
7
+ option_type: color
8
+ position: 2
@@ -0,0 +1,136 @@
1
+ shirt_man_a:
2
+ product: ror_baseball_jersey
3
+ property: prop_manufacturer
4
+ value: Wilson
5
+ shirt_man_b:
6
+ product: ror_jr_spaghetti
7
+ property: prop_manufacturer
8
+ value: Jerseys
9
+ shirt_man_c:
10
+ product: ror_ringer
11
+ property: prop_manufacturer
12
+ value: Jerseys
13
+ shirt_brand_a:
14
+ product: ror_baseball_jersey
15
+ property: prop_brand
16
+ value: Wannabe Sports
17
+ shirt_brand_b:
18
+ product: ror_jr_spaghetti
19
+ property: prop_brand
20
+ value: Resilance
21
+ shirt_brand_c:
22
+ product: ror_ringer
23
+ property: prop_brand
24
+ value: Conditioned
25
+ shirt_model_a:
26
+ product: ror_baseball_jersey
27
+ property: prop_model
28
+ value: JK1002
29
+ shirt_model_b:
30
+ product: ror_jr_spaghetti
31
+ property: prop_model
32
+ value: TL174
33
+ shirt_model_c:
34
+ product: ror_ringer
35
+ property: prop_model
36
+ value: TL9002
37
+ shirt_type_a:
38
+ product: ror_baseball_jersey
39
+ property: prop_shirt_type
40
+ value: Baseball Jersey
41
+ shirt_type_b:
42
+ product: ror_jr_spaghetti
43
+ property: prop_shirt_type
44
+ value: Jr Spaghetti T
45
+ shirt_type_c:
46
+ product: ror_ringer
47
+ property: prop_shirt_type
48
+ value: Ringer T
49
+ shirt_sleeve_a:
50
+ product: ror_baseball_jersey
51
+ property: prop_shirt_sleeve_type
52
+ value: long
53
+ shirt_sleeve_b:
54
+ product: ror_jr_spaghetti
55
+ property: prop_shirt_sleeve_type
56
+ value: none
57
+ shirt_sleeve_c:
58
+ product: ror_ringer
59
+ property: prop_shirt_sleeve_type
60
+ value: short
61
+ shirt_fab_a:
62
+ product: ror_baseball_jersey
63
+ property: prop_shirt_fabric
64
+ value: 100% Cotton
65
+ shirt_fab_b:
66
+ product: ror_jr_spaghetti
67
+ property: prop_shirt_fabric
68
+ value: 90% Cotton, 10% Nylon
69
+ shirt_fab_c:
70
+ product: ror_ringer
71
+ property: prop_shirt_fabric
72
+ value: 100% Vellum
73
+ shirt_fit_a:
74
+ product: ror_baseball_jersey
75
+ property: prop_shirt_fit
76
+ value: loose
77
+ shirt_fit_b:
78
+ product: ror_jr_spaghetti
79
+ property: prop_shirt_fit
80
+ value: form
81
+ shirt_fit_c:
82
+ product: ror_ringer
83
+ property: prop_shirt_fit
84
+ value: loose
85
+ shirt_gender_a:
86
+ product: ror_baseball_jersey
87
+ property: prop_gender
88
+ value: Men's
89
+ shirt_gender_b:
90
+ product: ror_jr_spaghetti
91
+ property: prop_gender
92
+ value: Women's
93
+ shirt_gender_c:
94
+ product: ror_ringer
95
+ property: prop_gender
96
+ value: Men's
97
+ bag_type_a:
98
+ product: ror_tote
99
+ property: prop_bag_type
100
+ value: Tote
101
+ bag_type_b:
102
+ product: ror_bag
103
+ property: prop_bag_type
104
+ value: Messenger
105
+ bag_size_a:
106
+ product: ror_tote
107
+ property: prop_bag_size
108
+ value: 15" x 18" x 6"
109
+ bag_size_b:
110
+ product: ror_bag
111
+ property: prop_bag_size
112
+ value: 14 1/2" x 12" x 5"
113
+ bag_mats_a:
114
+ product: ror_tote
115
+ property: prop_bag_material
116
+ value: Canvas
117
+ bag_mats_b:
118
+ product: ror_bag
119
+ property: prop_bag_material
120
+ value: 600 Denier Polyester
121
+ mug_type_a:
122
+ product: ror_mug
123
+ property: prop_mug_type
124
+ value: Mug
125
+ mug_type_b:
126
+ product: ror_stein
127
+ property: prop_mug_type
128
+ value: Stein
129
+ mug_size_a:
130
+ product: ror_mug
131
+ property: prop_mug_size
132
+ value: 4.5" tall, 3.25" dia.
133
+ mug_size_b:
134
+ product: ror_stein
135
+ property: prop_mug_size
136
+ value: 6.75" tall, 3.75" dia. base, 3" dia. rim
@@ -0,0 +1,35 @@
1
+ ---
2
+ product_scopes_007:
3
+ product_group: product_groups_001
4
+ name: master_price_lte
5
+ arguments: |
6
+ ---
7
+ - "20"
8
+
9
+ product_scopes_008:
10
+ product_group: product_groups_001
11
+ name: descend_by_popularity
12
+ arguments: |+
13
+ --- []
14
+
15
+ product_scopes_010:
16
+ product_group: product_groups_002
17
+ name: descend_by_popularity
18
+ arguments: |+
19
+ --- []
20
+
21
+ product_scopes_009:
22
+ product_group: product_groups_002
23
+ name: in_name
24
+ arguments: |
25
+ ---
26
+ - Rails
27
+
28
+ product_scopes_006:
29
+ product_group: product_groups_001
30
+ name: in_name_or_keywords
31
+ arguments: |
32
+ ---
33
+ - Apache
34
+
35
+
@@ -0,0 +1,15 @@
1
+ # make sure the product images directory exists
2
+ FileUtils.mkdir_p "#{Rails.root}/public/assets/products/"
3
+
4
+ Asset.all.each do |asset|
5
+ filename = asset.attachment_file_name
6
+ puts "-- Processing image: #{filename}\r"
7
+ path = File.join(File.dirname(__FILE__), "assets/#{filename}")
8
+
9
+ if FileTest.exists? path
10
+ asset.attachment = File.open(path)
11
+ asset.save
12
+ else
13
+ puts "--- Could not find image at: #{path}"
14
+ end
15
+ end
@@ -0,0 +1,53 @@
1
+ ror_tote:
2
+ name: Ruby on Rails Tote
3
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
4
+ available_on: <%= Time.zone.now.to_s(:db) %>
5
+ permalink: ruby-on-rails-tote
6
+ count_on_hand: 45
7
+ ror_bag:
8
+ name: Ruby on Rails Bag
9
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
10
+ available_on: <%= Time.zone.now.to_s(:db) %>
11
+ permalink: ruby-on-rails-bag
12
+ count_on_hand: 45
13
+ ror_baseball_jersey:
14
+ name: Ruby on Rails Baseball Jersey
15
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
16
+ available_on: <%= Time.zone.now.to_s(:db) %>
17
+ permalink: ruby-on-rails-baseball-jersey
18
+ ror_jr_spaghetti:
19
+ name: Ruby on Rails Jr. Spaghetti
20
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
21
+ available_on: <%= Time.zone.now.to_s(:db) %>
22
+ permalink: ruby-on-rails-jr-spaghetti
23
+ count_on_hand: 75
24
+ ror_mug:
25
+ name: Ruby on Rails Mug
26
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
27
+ available_on: <%= Time.zone.now.to_s(:db) %>
28
+ permalink: ruby-on-rails-mug
29
+ count_on_hand: 75
30
+ ror_ringer:
31
+ name: Ruby on Rails Ringer T-Shirt
32
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
33
+ available_on: <%= Time.zone.now.to_s(:db) %>
34
+ permalink: ruby-on-rails-ringer-t-shirt
35
+ count_on_hand: 75
36
+ ror_stein:
37
+ name: Ruby on Rails Stein
38
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
39
+ available_on: <%= Time.zone.now.to_s(:db) %>
40
+ permalink: ruby-on-rails-stein
41
+ count_on_hand: 75
42
+ ruby_baseball_jersey:
43
+ name: Ruby Baseball Jersey
44
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
45
+ available_on: <%= Time.zone.now.to_s(:db) %>
46
+ permalink: ruby-baseball-jersey
47
+ count_on_hand: 75
48
+ apache_baseball_jersey:
49
+ name: Apache Baseball Jersey
50
+ description: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla nonummy aliquet mi. Proin lacus. Ut placerat. Proin consequat, justo sit amet tempus consequat, elit est adipiscing odio, ut egestas pede eros in diam. Proin varius, lacus vitae suscipit varius, ipsum eros convallis nisi, sit amet sodales lectus pede non est. Duis augue. Suspendisse hendrerit pharetra metus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur nec pede. Quisque volutpat, neque ac porttitor sodales, sem lacus rutrum nulla, ullamcorper placerat ante tortor ac odio. Suspendisse vel libero. Nullam volutpat magna vel ligula. Suspendisse sit amet metus. Nunc quis massa. Nulla facilisi. In enim. In venenatis nisi id eros. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc sit amet felis sed lectus tincidunt egestas. Mauris nibh.
51
+ available_on: <%= Time.zone.now.to_s(:db) %>
52
+ permalink: apache-baseball-jersey
53
+ count_on_hand: 0