nimbleshop_simply 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/nimbleshop_simply/creditcard.js.coffee +12 -5
- data/app/assets/javascripts/nimbleshop_simply/enable_fancybox.js.coffee +0 -2
- data/app/assets/javascripts/nimbleshop_simply/remove_item_from_cart.js.coffee +12 -7
- data/app/assets/javascripts/nimbleshop_simply/shipping_address_same_as_billing_address.js.coffee +1 -1
- data/app/assets/javascripts/nimbleshop_simply/thumbnail.js.coffee +10 -6
- data/app/views/layouts/_footer.html.erb +3 -2
- data/app/views/layouts/simply.mobile.erb +1 -0
- data/config/routes.rb +4 -1
- data/lib/nimbleshop_simply.rb +3 -2
- data/lib/nimbleshop_simply/sample_data/pictures/product1/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product2/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product2/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product3/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product3/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product3/pic3.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product3/pic4.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product3/pic5.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product4/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product4/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product5/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product5/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic10.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic11.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic12.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic13.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic14.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic15.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic16.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic17.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic3.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic4.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic5.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic6.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic7.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic8.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product6/pic9.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product7/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product7/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product7/pic3.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic3.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic4.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic5.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic6.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic7.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product8/pic8.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product9/pic1.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/pictures/product9/pic2.jpg +0 -0
- data/lib/nimbleshop_simply/sample_data/sample_data.rb +260 -0
- data/lib/tasks/sample_data.rake +6 -0
- metadata +48 -13
- data/app/assets/stylesheets/nimbleshop_simply/mobile.simply.css +0 -7
- data/app/assets/stylesheets/nimbleshop_simply/mobile_simply.css +0 -4
- data/app/views/nimbleshop_simply/nimbleshohp_simply/_footer.html.erb +0 -30
- data/app/views/nimbleshop_simply/nimbleshohp_simply/_google_analytics.html.erb +0 -12
- data/app/views/nimbleshop_simply/nimbleshohp_simply/_top_bar.html.erb +0 -24
- data/app/views/nimbleshop_simply/nimbleshohp_simply/_twitter.html.erb +0 -4
- data/app/views/nimbleshop_simply/nimbleshohp_simply/application.html.erb +0 -65
- data/app/views/nimbleshop_simply/nimbleshohp_simply/email.html.erb +0 -3
- data/config/initializers/add_mime_type.rb +0 -1
@@ -1,6 +1,13 @@
|
|
1
|
+
window.NimbleshopSimply = window.NimbleshopSimply || {}
|
2
|
+
|
3
|
+
NimbleshopSimply.validateCreditCard = class ValidateCreditcard
|
4
|
+
constructor: ->
|
5
|
+
$("#creditcard_number").validateCreditCard (result) ->
|
6
|
+
if (result.length_valid && result.luhn_valid)
|
7
|
+
$('#creditcard_number').addClass('valid')
|
8
|
+
else
|
9
|
+
$('#creditcard_number').removeClass('valid')
|
10
|
+
|
11
|
+
|
1
12
|
$ ->
|
2
|
-
|
3
|
-
if (result.length_valid && result.luhn_valid)
|
4
|
-
$('#creditcard_number').addClass('valid')
|
5
|
-
else
|
6
|
-
$('#creditcard_number').removeClass('valid')
|
13
|
+
new NimbleshopSimply.validateCreditCard()
|
@@ -1,7 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
$(
|
6
|
-
|
7
|
-
|
1
|
+
window.NimbleshopSimply = window.NimbleshopSimply || {}
|
2
|
+
|
3
|
+
NimbleshopSimply.removeItemsFromCart = class RemoveItemsFromCart
|
4
|
+
constructor: ->
|
5
|
+
$(document).on 'click', '[data-behavior~=remove-item-from-cart]', ->
|
6
|
+
$this = $(this)
|
7
|
+
permalink = $this.data("permalink")
|
8
|
+
$("#updates_" + permalink).val 0
|
9
|
+
$("#cartform").submit()
|
10
|
+
false
|
11
|
+
|
12
|
+
new NimbleshopSimply.removeItemsFromCart
|
data/app/assets/javascripts/nimbleshop_simply/shipping_address_same_as_billing_address.js.coffee
CHANGED
@@ -3,7 +3,7 @@ window.NimbleshopSimply = window.NimbleshopSimply || {}
|
|
3
3
|
NimbleshopSimply.toggleBillingAddress = class ToggleBillingAddress
|
4
4
|
constructor: ->
|
5
5
|
@handleToggleCheckBox()
|
6
|
-
$(
|
6
|
+
$(document).on 'click', "#order_shipping_address_attributes_use_for_billing", =>
|
7
7
|
@handleToggleCheckBox()
|
8
8
|
|
9
9
|
handleToggleCheckBox: ->
|
@@ -1,8 +1,12 @@
|
|
1
|
+
window.NimbleshopSimply = window.NimbleshopSimply || {}
|
2
|
+
|
1
3
|
# mouse enter on thumbnail displays the image on the product show page
|
4
|
+
NimbleshopSimply.showThumbnail = class ShowThumbnail
|
5
|
+
constructor: ->
|
6
|
+
$(document).on 'mouseenter', '[data-behavior~=product-image-thumbnail]', ->
|
7
|
+
$this = $(this)
|
8
|
+
itemIndex = $(".thumb").index($this) + 1
|
9
|
+
$(".thumbnails li:nth-child(" + itemIndex + ")").show().siblings().hide()
|
10
|
+
false
|
2
11
|
|
3
|
-
|
4
|
-
$('[data-behavior~=product-image-thumbnail]').on 'mouseenter', ->
|
5
|
-
$this = $(this)
|
6
|
-
itemIndex = $(".thumb").index($this) + 1
|
7
|
-
$(".thumbnails li:nth-child(" + itemIndex + ")").show().siblings().hide()
|
8
|
-
false
|
12
|
+
new NimbleshopSimply.showThumbnail
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
<% unless @no_footer %>
|
2
3
|
<hr />
|
3
4
|
|
@@ -12,8 +13,8 @@
|
|
12
13
|
<div class='span4'>
|
13
14
|
<div>
|
14
15
|
<% if current_shop.twitter_handle.present? %>
|
15
|
-
<div style='float:left;width:80px;'>
|
16
|
-
<%= render 'layouts/twitter' %>
|
16
|
+
<div style='float:left;width:80px;'>
|
17
|
+
<%= render 'layouts/twitter' %>
|
17
18
|
</div>
|
18
19
|
<% end %>
|
19
20
|
<div style='clear:both;'></div>
|
data/config/routes.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
NimbleshopSimply::Engine.routes.draw do
|
2
|
-
|
3
2
|
get "/pages/about-us", to: "pages#about_us", as: :about_us
|
4
3
|
get "/pages/contact-us", to: "pages#contact_us", as: :contact_us
|
5
4
|
|
@@ -22,3 +21,7 @@ NimbleshopSimply::Engine.routes.draw do
|
|
22
21
|
end
|
23
22
|
|
24
23
|
end
|
24
|
+
|
25
|
+
Rails.application.routes.draw do
|
26
|
+
root to: 'nimbleshop_simply/products#index'
|
27
|
+
end
|
data/lib/nimbleshop_simply.rb
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'nimbleshop_simply/engine'
|
2
|
+
require 'nimbleshop_simply/sample_data/sample_data'
|
3
|
+
require 'fancybox-rails'
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,260 @@
|
|
1
|
+
module NimbleshopSimply
|
2
|
+
class SampleData
|
3
|
+
|
4
|
+
attr_accessor :products
|
5
|
+
|
6
|
+
def populate
|
7
|
+
load_shipment_carriers
|
8
|
+
load_shop
|
9
|
+
load_shipping_methods
|
10
|
+
load_product_group_for_price
|
11
|
+
load_product_group_for_category
|
12
|
+
|
13
|
+
load_tag_watch
|
14
|
+
load_iphone_cover
|
15
|
+
load_turquoise_bracelet
|
16
|
+
load_bag
|
17
|
+
load_tajmahal
|
18
|
+
load_chronograph_watch
|
19
|
+
load_mangoes
|
20
|
+
load_bangles
|
21
|
+
load_shoes
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def load_shipment_carriers
|
27
|
+
%w(UPS USPS Fedex).each { |carrier| ShipmentCarrier.create!(name: carrier) }
|
28
|
+
end
|
29
|
+
|
30
|
+
def load_shop
|
31
|
+
Shop.create!( name: 'nimbleShop',
|
32
|
+
phone_number: '800-456-7890',
|
33
|
+
twitter_handle: '@nimbleshop',
|
34
|
+
from_email: 'support@nimbleshop.com',
|
35
|
+
tax_percentage: 1.23,
|
36
|
+
google_analytics_tracking_id: Nimbleshop.config.google_analytics_tracking_id,
|
37
|
+
facebook_url: 'http://www.facebook.com/pages/NimbleSHOP/119319381517845')
|
38
|
+
end
|
39
|
+
|
40
|
+
def handle_pictures_for_product(product, dirname)
|
41
|
+
p = Pathname.new(File.expand_path('../pictures', __FILE__))
|
42
|
+
pictures = Dir.glob(p.join(dirname, '*'))
|
43
|
+
|
44
|
+
pictures.sort.each do |filename|
|
45
|
+
attach_picture( filename, product)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def attach_picture(filename_with_extension, product)
|
50
|
+
path = Rails.root.join('lib', 'sampledata', 'pictures', filename_with_extension)
|
51
|
+
product.attach_picture(filename_with_extension, path)
|
52
|
+
end
|
53
|
+
|
54
|
+
def load_product_group_for_price
|
55
|
+
pg_lt_50 = ProductGroup.create!(name: '< $50')
|
56
|
+
pg_lt_50.product_group_conditions.create(name: 'price', operator: 'lt', value: 50)
|
57
|
+
pg_between_50_100 = ProductGroup.create!(name: '$50 - $100')
|
58
|
+
pg_between_50_100.product_group_conditions.create(name: 'price', operator: 'gteq', value: 50)
|
59
|
+
pg_between_50_100.product_group_conditions.create(name: 'price', operator: 'lteq', value: 100)
|
60
|
+
pg_gt_100 = ProductGroup.create!(name: '> $100')
|
61
|
+
pg_gt_100.product_group_conditions.create(name: 'price', operator: 'gt', value: 100)
|
62
|
+
|
63
|
+
link_group = LinkGroup.create!(name: 'Shop by price')
|
64
|
+
Navigation.create!(link_group: link_group, product_group: pg_lt_50)
|
65
|
+
Navigation.create!(link_group: link_group, product_group: pg_between_50_100)
|
66
|
+
Navigation.create!(link_group: link_group, product_group: pg_gt_100)
|
67
|
+
end
|
68
|
+
|
69
|
+
def load_product_group_for_category
|
70
|
+
cf = CustomField.create!(name: 'category', field_type: 'text')
|
71
|
+
|
72
|
+
pg_food = ProductGroup.create!(name: 'Food')
|
73
|
+
pg_food.product_group_conditions.create(name: cf.id, operator: 'eq', value: 'food')
|
74
|
+
|
75
|
+
pg_toy = ProductGroup.create!(name: 'Toy')
|
76
|
+
pg_toy.product_group_conditions.create(name: cf.id, operator: 'eq', value: 'toy')
|
77
|
+
|
78
|
+
pg_art = ProductGroup.create!(name: 'Art')
|
79
|
+
pg_art.product_group_conditions.create(name: cf.id, operator: 'eq', value: 'art')
|
80
|
+
|
81
|
+
pg_fashion = ProductGroup.create!(name: 'Fashion')
|
82
|
+
pg_fashion.product_group_conditions.create(name: cf.id, operator: 'eq', value: 'fashion')
|
83
|
+
|
84
|
+
link_group = LinkGroup.create!(name: 'Shop by category')
|
85
|
+
link_group.navigations.create(product_group: pg_art)
|
86
|
+
link_group.navigations.create(product_group: pg_food)
|
87
|
+
link_group.navigations.create(product_group: pg_fashion)
|
88
|
+
end
|
89
|
+
|
90
|
+
def load_shipping_methods
|
91
|
+
sz = CountryShippingZone.create!(country_code: 'US')
|
92
|
+
ShippingMethod.create!(name: 'Ground shipping', base_price: 10, shipping_zone_id: sz.id, minimum_order_amount: 0, maximum_order_amount: 999999)
|
93
|
+
ShippingMethod.create!(name: 'Express shipping', base_price: 30, shipping_zone_id: sz.id, minimum_order_amount: 10, maximum_order_amount: 999999)
|
94
|
+
|
95
|
+
sz = CountryShippingZone.create!(country_code: 'CA')
|
96
|
+
ShippingMethod.create!(name: 'Ground shipping', base_price: 11, shipping_zone_id: sz.id, minimum_order_amount: 0, maximum_order_amount: 999999)
|
97
|
+
ShippingMethod.create!(name: 'Express shipping', base_price: 31, shipping_zone_id: sz.id, minimum_order_amount: 10, maximum_order_amount: 999999)
|
98
|
+
end
|
99
|
+
|
100
|
+
def load_tajmahal
|
101
|
+
print '.'
|
102
|
+
desc = %q{
|
103
|
+
Year of construction: 1631
|
104
|
+
Completed in: 1653
|
105
|
+
Time taken: 22 years
|
106
|
+
Built by: Shah Jahan
|
107
|
+
Dedicated to: Mumtaz Mahal (Arjumand Bano Begum), the wife of Shah Jahan
|
108
|
+
Location: Agra (Uttar Pradesh), India
|
109
|
+
Building type: Islamic tomb
|
110
|
+
Architecture: Mughal (Combination of Persian, Islamic and Indian architecture style)
|
111
|
+
Architect: Ustad Ahmad Lahauri
|
112
|
+
Cost of construction: 32 crore rupees
|
113
|
+
Number of workers: 20,000
|
114
|
+
Highlights: One of the Seven Wonders of the World; A UNESCO World Heritage Site
|
115
|
+
|
116
|
+
Facts do not capture what Tajmahal is.
|
117
|
+
}
|
118
|
+
product = Product.create!( title: "Beautiful portrait of Tajmahal", price: 19, description: desc)
|
119
|
+
handle_pictures_for_product(product, "product1")
|
120
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'art')
|
121
|
+
end
|
122
|
+
|
123
|
+
def load_chronograph_watch
|
124
|
+
print '.'
|
125
|
+
desc = %q{
|
126
|
+
Chronograph sport watch from Guess
|
127
|
+
|
128
|
+
Stopwatch function, 24 Hour/International time
|
129
|
+
|
130
|
+
Brushed + Polished Ionic Black case
|
131
|
+
|
132
|
+
Red + Black dial
|
133
|
+
|
134
|
+
Brushed + Polished Ionic Black Steel bracelet
|
135
|
+
|
136
|
+
100 M/330 FT Water resistant
|
137
|
+
}
|
138
|
+
product = Product.create!( title: "chronograph sport watch from Guess", price: 219, description: desc)
|
139
|
+
handle_pictures_for_product(product, "product2")
|
140
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
141
|
+
end
|
142
|
+
|
143
|
+
def load_turquoise_bracelet
|
144
|
+
print '.'
|
145
|
+
desc = %q{
|
146
|
+
Simple, modern, stylish, easy to wear bracelet !
|
147
|
+
|
148
|
+
For a custom color bracelet send me a message and I will see what colors are available for your bracelet.
|
149
|
+
|
150
|
+
The strap of the bracelet can also be customized in any color you would like.
|
151
|
+
|
152
|
+
All items come to you beautifully packaged and ready for gift giving.
|
153
|
+
|
154
|
+
Note that real colors may slightly differ from their appearance on your display.
|
155
|
+
}
|
156
|
+
product = Product.create!( title: "Turquoise bracelet", price: 89, description: desc)
|
157
|
+
handle_pictures_for_product(product, "product3")
|
158
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
159
|
+
end
|
160
|
+
|
161
|
+
def load_mangoes
|
162
|
+
print '.'
|
163
|
+
desc = %q{
|
164
|
+
The mango is the national fruit of India and Pakistan. It is also the national fruit in the Philippines.
|
165
|
+
The mango tree is the national tree of Bangladesh.
|
166
|
+
|
167
|
+
Mango leaves are used to decorate archways and doors in Indian houses and during weddings and celebrations.
|
168
|
+
}
|
169
|
+
product = Product.create!( title: "A basket of Indian mangoes", price: 17, description: desc)
|
170
|
+
handle_pictures_for_product(product, "product4")
|
171
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'food')
|
172
|
+
end
|
173
|
+
|
174
|
+
def load_bag
|
175
|
+
print '.'
|
176
|
+
desc = %q{
|
177
|
+
Stylish bag in indigo color. How could you say no to this.
|
178
|
+
|
179
|
+
It is just the perfect size also. It has enough space to carry ipad, magazine, cosmetic stuff and othe accessories.
|
180
|
+
|
181
|
+
Length: 32cm(12.60 inches)
|
182
|
+
Width: 19cm(7.48 inches)
|
183
|
+
}
|
184
|
+
product = Product.create!( title: "A simple and elegant bag", price: 107, description: desc)
|
185
|
+
handle_pictures_for_product(product, "product5")
|
186
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
187
|
+
end
|
188
|
+
|
189
|
+
def load_bangles
|
190
|
+
print '.'
|
191
|
+
desc = %q{
|
192
|
+
Bangles are part of traditional Indian jewelry. They are usually worn in pairs by women, one or more on each arm.
|
193
|
+
Most Indian women prefer wearing either gold or glass bangles or combination of both. Inexpensive bangles made from
|
194
|
+
plastic are slowly replacing those made by glass, but the ones made of glass are still preferred at traditional occasions
|
195
|
+
such as marriages and on festivals.
|
196
|
+
|
197
|
+
The designs range from simple to intricate handmade designs, often studded with precious and semi-precious stones such as
|
198
|
+
diamonds, gems and pearls. Sets of expensive bangles made of gold and silver make a jingling sound. The imitation jewelry,
|
199
|
+
tend to make a tinny sound when jingled.
|
200
|
+
|
201
|
+
It is tradition that the bride will try to wear as many small glass bangles as possible at her wedding and the honeymoon will
|
202
|
+
end when the last bangle breaks.
|
203
|
+
}
|
204
|
+
product = Product.create!( title: "Handmade bangles", price: 11, description: desc)
|
205
|
+
handle_pictures_for_product(product, "product6")
|
206
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
207
|
+
end
|
208
|
+
|
209
|
+
def load_shoes
|
210
|
+
print '.'
|
211
|
+
desc = %q{
|
212
|
+
The shoes that you see in picture are called 'jutti' in India.
|
213
|
+
|
214
|
+
They are usually made of fine leather and are delicately embroidered with threads or beads. Juttis are slip-on
|
215
|
+
in style and are characterized by rising high in the back and covering the toes with a round heavily-embroidered
|
216
|
+
upper shoe and leaving the top of the foot nearly bare.
|
217
|
+
}
|
218
|
+
product = Product.create!( title: "Colorful shoes", price: 191, description: desc)
|
219
|
+
handle_pictures_for_product(product, "product7")
|
220
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
221
|
+
end
|
222
|
+
|
223
|
+
def load_tag_watch
|
224
|
+
print '.'
|
225
|
+
desc = %q{
|
226
|
+
Swiss label, TAG Heuer's Aquaracer 500M Ceramic watch embodies perfection, style and clean look.
|
227
|
+
|
228
|
+
It has ceramic bezel and has the case is 41mm, significantly smaller than the 43mm out-going model. The case has been given
|
229
|
+
softer curvier lines to
|
230
|
+
create a more classic look.
|
231
|
+
|
232
|
+
Following models are available:
|
233
|
+
|
234
|
+
- Blue dial, blue ceramic bezel, steel
|
235
|
+
- Black dial, black ceramic bezel, steel
|
236
|
+
- Blue & gold, steel
|
237
|
+
- full black, ceramic bezel, titanium carbide case
|
238
|
+
}
|
239
|
+
product = Product.create!( title: "TAG Heuer Aquaracer 500M Ceramic Watch", price: 3000, description: desc)
|
240
|
+
handle_pictures_for_product(product, "product8")
|
241
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
242
|
+
end
|
243
|
+
|
244
|
+
def load_iphone_cover
|
245
|
+
print '.'
|
246
|
+
desc = %q{
|
247
|
+
This is a hard case is for your iPhone 4. Fits both AT&T & Verizon models of the iPhone 4.
|
248
|
+
|
249
|
+
The case has a wood like appearance. It is not actual wood. It will protect it from scractches while also bringing it to life with some color!
|
250
|
+
|
251
|
+
It does not interfere with any buttons. It is available in many different colors. If you have a specific color in mind then contact me.
|
252
|
+
}
|
253
|
+
product = Product.create!( title: "Hard wood case for iphone", price: 3.00, description: desc)
|
254
|
+
handle_pictures_for_product(product, "product9")
|
255
|
+
product.custom_field_answers.create(custom_field: CustomField.first, value: 'fashion')
|
256
|
+
end
|
257
|
+
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nimbleshop_simply
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-12-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jquery-rails
|
@@ -72,8 +72,6 @@ files:
|
|
72
72
|
- app/assets/stylesheets/nimbleshop_simply/cart_button.css.scss
|
73
73
|
- app/assets/stylesheets/nimbleshop_simply/creditcard.css.scss
|
74
74
|
- app/assets/stylesheets/nimbleshop_simply/custom.css.scss
|
75
|
-
- app/assets/stylesheets/nimbleshop_simply/mobile.simply.css
|
76
|
-
- app/assets/stylesheets/nimbleshop_simply/mobile_simply.css
|
77
75
|
- app/assets/stylesheets/nimbleshop_simply/override_bootstrap.css
|
78
76
|
- app/assets/stylesheets/nimbleshop_simply/simply.css
|
79
77
|
- app/assets/stylesheets/nimbleshop_simply/themed_bootstrap_and_overrides.css.less
|
@@ -111,12 +109,6 @@ files:
|
|
111
109
|
- app/views/nimbleshop_simply/link_groups/_link_group.html.erb
|
112
110
|
- app/views/nimbleshop_simply/mailer/order_notification_to_buyer.text.erb
|
113
111
|
- app/views/nimbleshop_simply/mailer/shipment_notification_to_buyer.text.erb
|
114
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/_footer.html.erb
|
115
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/_google_analytics.html.erb
|
116
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/_top_bar.html.erb
|
117
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/_twitter.html.erb
|
118
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/application.html.erb
|
119
|
-
- app/views/nimbleshop_simply/nimbleshohp_simply/email.html.erb
|
120
112
|
- app/views/nimbleshop_simply/orders/show.html.erb
|
121
113
|
- app/views/nimbleshop_simply/pages/about_us.html.erb
|
122
114
|
- app/views/nimbleshop_simply/pages/contact_us.html.erb
|
@@ -136,10 +128,53 @@ files:
|
|
136
128
|
- app/views/nimbleshop_simply/shared/_order_summary_shipping_address.html.erb
|
137
129
|
- app/views/nimbleshop_simply/shared/_order_summary_shipping_method.html.erb
|
138
130
|
- app/views/nimbleshop_simply/shared/_shipping_and_tax_info.html.erb
|
139
|
-
- config/initializers/add_mime_type.rb
|
140
131
|
- config/routes.rb
|
141
132
|
- lib/nimbleshop_simply/engine.rb
|
133
|
+
- lib/nimbleshop_simply/sample_data/pictures/product1/pic1.jpg
|
134
|
+
- lib/nimbleshop_simply/sample_data/pictures/product2/pic1.jpg
|
135
|
+
- lib/nimbleshop_simply/sample_data/pictures/product2/pic2.jpg
|
136
|
+
- lib/nimbleshop_simply/sample_data/pictures/product3/pic1.jpg
|
137
|
+
- lib/nimbleshop_simply/sample_data/pictures/product3/pic2.jpg
|
138
|
+
- lib/nimbleshop_simply/sample_data/pictures/product3/pic3.jpg
|
139
|
+
- lib/nimbleshop_simply/sample_data/pictures/product3/pic4.jpg
|
140
|
+
- lib/nimbleshop_simply/sample_data/pictures/product3/pic5.jpg
|
141
|
+
- lib/nimbleshop_simply/sample_data/pictures/product4/pic1.jpg
|
142
|
+
- lib/nimbleshop_simply/sample_data/pictures/product4/pic2.jpg
|
143
|
+
- lib/nimbleshop_simply/sample_data/pictures/product5/pic1.jpg
|
144
|
+
- lib/nimbleshop_simply/sample_data/pictures/product5/pic2.jpg
|
145
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic1.jpg
|
146
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic10.jpg
|
147
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic11.jpg
|
148
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic12.jpg
|
149
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic13.jpg
|
150
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic14.jpg
|
151
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic15.jpg
|
152
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic16.jpg
|
153
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic17.jpg
|
154
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic2.jpg
|
155
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic3.jpg
|
156
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic4.jpg
|
157
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic5.jpg
|
158
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic6.jpg
|
159
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic7.jpg
|
160
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic8.jpg
|
161
|
+
- lib/nimbleshop_simply/sample_data/pictures/product6/pic9.jpg
|
162
|
+
- lib/nimbleshop_simply/sample_data/pictures/product7/pic1.jpg
|
163
|
+
- lib/nimbleshop_simply/sample_data/pictures/product7/pic2.jpg
|
164
|
+
- lib/nimbleshop_simply/sample_data/pictures/product7/pic3.jpg
|
165
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic1.jpg
|
166
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic2.jpg
|
167
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic3.jpg
|
168
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic4.jpg
|
169
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic5.jpg
|
170
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic6.jpg
|
171
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic7.jpg
|
172
|
+
- lib/nimbleshop_simply/sample_data/pictures/product8/pic8.jpg
|
173
|
+
- lib/nimbleshop_simply/sample_data/pictures/product9/pic1.jpg
|
174
|
+
- lib/nimbleshop_simply/sample_data/pictures/product9/pic2.jpg
|
175
|
+
- lib/nimbleshop_simply/sample_data/sample_data.rb
|
142
176
|
- lib/nimbleshop_simply.rb
|
177
|
+
- lib/tasks/sample_data.rake
|
143
178
|
- README.md
|
144
179
|
- test/integration/checkout/cart_acceptance_test.rb
|
145
180
|
- test/integration/checkout/payment_confirmation_acceptance_test.rb
|
@@ -165,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
200
|
version: '0'
|
166
201
|
segments:
|
167
202
|
- 0
|
168
|
-
hash:
|
203
|
+
hash: 3196141141041621158
|
169
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
205
|
none: false
|
171
206
|
requirements:
|
@@ -174,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
209
|
version: '0'
|
175
210
|
segments:
|
176
211
|
- 0
|
177
|
-
hash:
|
212
|
+
hash: 3196141141041621158
|
178
213
|
requirements: []
|
179
214
|
rubyforge_project:
|
180
215
|
rubygems_version: 1.8.24
|
@@ -1,30 +0,0 @@
|
|
1
|
-
<% unless @no_footer %>
|
2
|
-
<hr />
|
3
|
-
|
4
|
-
<footer>
|
5
|
-
<div class='row'>
|
6
|
-
<div class='span6'>
|
7
|
-
<% available_payment_options_icons.each do |i| %>
|
8
|
-
<%= i %>
|
9
|
-
<% end %>
|
10
|
-
</div>
|
11
|
-
|
12
|
-
<div class='span4'>
|
13
|
-
<div>
|
14
|
-
<% if current_shop.twitter_handle.present? %>
|
15
|
-
<div style='float:left;width:80px;'>
|
16
|
-
<%= render 'layouts/twitter' %>
|
17
|
-
</div>
|
18
|
-
<% end %>
|
19
|
-
<div style='clear:both;'></div>
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
|
23
|
-
<div class='span2 powered_by'>
|
24
|
-
powered by <%= link_to 'nimbleShop', 'http://www.nimbleshop.com' %>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</footer>
|
28
|
-
<% end %>
|
29
|
-
|
30
|
-
<%= render 'layouts/google_analytics' %>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<script type="text/javascript">
|
2
|
-
var _gaq = _gaq || [];
|
3
|
-
_gaq.push(['_setAccount', '<%= current_shop.google_analytics_tracking_id %>' ]);
|
4
|
-
_gaq.push(['_trackPageview']);
|
5
|
-
|
6
|
-
(function() {
|
7
|
-
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
8
|
-
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
9
|
-
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
10
|
-
})();
|
11
|
-
|
12
|
-
</script>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
<div class="navbar navbar-fixed-top">
|
2
|
-
<div class="navbar-inner">
|
3
|
-
<div class="container">
|
4
|
-
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
5
|
-
<span class="icon-bar"></span>
|
6
|
-
<span class="icon-bar"></span>
|
7
|
-
<span class="icon-bar"></span>
|
8
|
-
</a>
|
9
|
-
|
10
|
-
<%= link_to @shop.name, root_path, class: 'brand', id: 'site-name' %>
|
11
|
-
|
12
|
-
<div class="nav-collapse">
|
13
|
-
<ul class="nav">
|
14
|
-
<li><%= link_to 'All products', root_path, title: 'browse' %></li>
|
15
|
-
<li><%= link_to 'About us', about_us_path, title: 'about us' %></li>
|
16
|
-
<li><%= link_to 'Contact us', contact_us_path, title: 'contact us' %></li>
|
17
|
-
</ul>
|
18
|
-
<%= link_to cart_path, id: 'cart', title: 'cart', class: 'navbar-text pull-right cart_link' do %>
|
19
|
-
<span><%= pluralize(items_count_in_cart, '') %></span>
|
20
|
-
<% end %>
|
21
|
-
</div>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</div>
|
@@ -1,4 +0,0 @@
|
|
1
|
-
<a href="https://twitter.com/<%=current_shop.twitter_handle%>" class="twitter-follow-button" data-show-count="false" data-show-screen-name="false">Follow @<%=current_shop.twitter_handle%></a>
|
2
|
-
|
3
|
-
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
4
|
-
|
@@ -1,65 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<title> <%= display_page_title %> </title>
|
6
|
-
|
7
|
-
<% if @shop.description.present? %>
|
8
|
-
<meta name="description" content="<%= @shop.description %>">
|
9
|
-
<% end %>
|
10
|
-
|
11
|
-
<% if @shop.author_name.present? %>
|
12
|
-
<meta name="author" content="<%= @shop.author_name %>">
|
13
|
-
<% end %>
|
14
|
-
|
15
|
-
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
16
|
-
<!--[if lt IE 9]>
|
17
|
-
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
18
|
-
<![endif]-->
|
19
|
-
|
20
|
-
<%= stylesheet_link_tag 'nimbleshop_simply/application' %>
|
21
|
-
<style type="text/css">
|
22
|
-
body {
|
23
|
-
padding-top: 60px;
|
24
|
-
padding-bottom: 40px;
|
25
|
-
}
|
26
|
-
</style>
|
27
|
-
|
28
|
-
<!-- Le fav and touch icons -->
|
29
|
-
<link rel="shortcut icon" href="/images/favicon.ico">
|
30
|
-
<link rel="apple-touch-icon" href="/images/apple-touch-icon.png">
|
31
|
-
<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-touch-icon-72x72.png">
|
32
|
-
<link rel="apple-touch-icon" sizes="114x114" href="/images/apple-touch-icon-114x114.png">
|
33
|
-
<%= csrf_meta_tag %>
|
34
|
-
<%= javascript_include_tag 'nimbleshop_simply/application' %>
|
35
|
-
<%= yield :js %>
|
36
|
-
</head>
|
37
|
-
|
38
|
-
<body id=<%=body_id%>>
|
39
|
-
|
40
|
-
<%= render 'layouts/top_bar' %>
|
41
|
-
|
42
|
-
<div class="container">
|
43
|
-
<div class="content">
|
44
|
-
|
45
|
-
<h1>
|
46
|
-
<%= @page_title unless @do_not_use_page_title %>
|
47
|
-
<% if @page_sub_title %>
|
48
|
-
<small> <%= @page_sub_title %> </small>
|
49
|
-
<% end %>
|
50
|
-
</h1>
|
51
|
-
|
52
|
-
<div class="row">
|
53
|
-
<div class="span12">
|
54
|
-
<%= yield %>
|
55
|
-
</div>
|
56
|
-
</div>
|
57
|
-
|
58
|
-
</div><!-- end of content -->
|
59
|
-
|
60
|
-
<%= render 'layouts/footer' %>
|
61
|
-
|
62
|
-
</div> <!-- /container -->
|
63
|
-
|
64
|
-
</body>
|
65
|
-
</html>
|
@@ -1 +0,0 @@
|
|
1
|
-
Mime::Type.register_alias "text/html", :mobile
|