bigcartel 0.2.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
data/Gemfile CHANGED
@@ -1,4 +1,10 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in bigcartel.gemspec
4
- gemspec
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in bigcartel.gemspec
4
+ gemspec
5
+
6
+
7
+ gem 'rake'
8
+ gem 'rspec'
9
+ gem 'webmock'
10
+ gem 'hashie'
data/README.mkd CHANGED
@@ -1,39 +1,78 @@
1
- The Big Cartel Ruby Gem
2
- ====================
3
- A Ruby wrapper for the Big Cartel External REST API.
4
-
5
- Installation
6
- ------------
7
- gem install bigcartel
8
-
9
- Usage
10
- ------
11
- require 'rubygems'
12
- require 'bigcartel'
13
- require 'pp'
14
-
15
- s = BigCartel.store("tonkapark")
16
-
17
- pp s.description
18
-
19
- s.products.each do |product|
20
- pp product.name
21
- pp product.image.thumb
22
- end
23
-
24
-
25
- s = BigCartel.store("ugmonk")
26
- #return products by category
27
- products = s.products_by_category("prints")
28
-
29
-
30
-
31
- Copyright
32
- ---------
33
- Copyright (c) 2011 Matt Anderson
34
-
35
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
36
-
37
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
38
-
1
+ The Big Cartel Ruby Gem
2
+ ====================
3
+ A Ruby wrapper for the Big Cartel External REST API.
4
+
5
+ [![Build Status](https://secure.travis-ci.org/tonkapark/bigcartel.png)](http://travis-ci.org/tonkapark/bigcartel)
6
+
7
+ Version 1.0
8
+ -----------
9
+
10
+ With the release of 1.0 I changed some of the design of the gem and should be considered a breaking change if you were using the 0.* versions of the gem. I hope this new design of the gem will be faster and also more useful in your applications.
11
+
12
+
13
+ Installation
14
+ ------------
15
+ gem install bigcartel
16
+
17
+ Usage
18
+ ------
19
+ require 'rubygems'
20
+ require 'bigcartel', '>~ 1.0.0'
21
+ require 'pp'
22
+
23
+
24
+ client = BigCartel::Client.new
25
+
26
+ client.store("tonkapark", {:show_products => true, :product_limit => 2})
27
+
28
+ client.products("tonkapark", {:limit => 100})
29
+
30
+ client.page("tonkapark", "page-permalink")
31
+
32
+
33
+ store = BigCartel.store("tonkapark")
34
+
35
+ pp store.description
36
+
37
+ store.products.each do |product|
38
+ pp product.name
39
+ pp product.image.thumb
40
+ end
41
+
42
+
43
+
44
+
45
+ What you can do with the gem
46
+ ---------
47
+
48
+ As part of the [Big Cartel Themes and Templates](http://themes.tonkapark.com) available from Tonka Park there was a small web app built using the BigCartel gem to generate google products xml and also create a theme preview.
49
+
50
+ See the gem in action at http://carteltools.heroku.com
51
+
52
+
53
+ Supported Rubies
54
+ ----------------
55
+ * 1.8.7
56
+ * 1.9.2
57
+
58
+
59
+ Change Log
60
+ ==========
61
+
62
+ 1.0.0 - November 17, 2011
63
+ --------------
64
+ * redesigned wrapper from the ground up
65
+ * added rspec tests
66
+ * support for ruby 1.9.2 and 1.8.7
67
+
68
+
69
+
70
+ Copyright
71
+ ---------
72
+ Copyright (c) 2011 Matt Anderson, [Tonka Park](http://tonkapark.com)
73
+
74
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
75
+
76
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
77
+
39
78
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,7 +1,15 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks :name => 'bigcartel'
3
-
4
- require 'rspec/core/rake_task'
5
- RSpec::Core::RakeTask.new(:spec)
6
-
7
- task :default => :spec
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ require 'rspec/core/rake_task'
6
+
7
+ desc "Default: run unit tests"
8
+ task :default => :spec
9
+ task :test => :spec
10
+
11
+ desc "Run all specs"
12
+ RSpec::Core::RakeTask.new do |t|
13
+ t.pattern = 'spec/**/*_spec.rb'
14
+ end
15
+
@@ -1,24 +1,29 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "bigcartel/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "bigcartel"
7
- s.version = BigCartel::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Matt Anderson"]
10
- s.email = ["matt@tonkapark.com"]
11
- s.homepage = ""
12
- s.summary = %q{Ruby wrapper for the Big Cartel API}
13
- s.description = %q{A Ruby wrapper for the Big Cartel External REST API}
14
-
15
- s.add_development_dependency 'rspec', '~> 2.3'
16
- s.add_runtime_dependency('httparty', '~> 0.7.3')
17
-
18
- s.rubyforge_project = s.name
19
-
20
- s.files = `git ls-files`.split("\n")
21
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
- s.require_paths = ["lib"]
24
- end
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "bigcartel/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "bigcartel"
7
+ s.version = BigCartel::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Matt Anderson"]
10
+ s.email = ["matt@tonkapark.com"]
11
+ s.homepage = "http://tonkapark.com"
12
+ s.summary = %q{Ruby wrapper for the Big Cartel API}
13
+ s.description = %q{A Ruby wrapper for the Big Cartel External REST API}
14
+
15
+
16
+ s.add_runtime_dependency('httparty', '~> 0.8.1')
17
+ s.add_runtime_dependency('hashie', '~> 1.2.0')
18
+
19
+ s.add_development_dependency 'rspec'
20
+ s.add_development_dependency 'webmock'
21
+
22
+
23
+ s.rubyforge_project = s.name
24
+
25
+ s.files = `git ls-files`.split("\n")
26
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
27
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
28
+ s.require_paths = ["lib"]
29
+ end
@@ -1,237 +1,22 @@
1
- require 'httparty'
2
- require 'uri'
3
-
4
- module BigCartel
5
-
6
- # Alias for BigCartel::Store.find
7
- #
8
- # @return [BigCartel::Store]
9
- def self.store(subdomain)
10
- BigCartel::Store.find(subdomain)
11
- end
12
-
13
- # Delegate to BigCartel::Store
14
- def self.method_missing(method, *args, &block)
15
- return super unless client.respond_to?(method)
16
- client.send(method, *args, &block)
17
- end
18
-
19
- class Base
20
- include HTTParty
21
- base_uri "http://api.bigcartel.com"
22
- headers 'Content-Type' => 'application/json'
23
-
24
- attr_reader :subdomain
25
-
26
- def initialize(subdomain)
27
- @subdomain = subdomain
28
- end
29
-
30
- end
31
-
32
- class Store < Base
33
-
34
- attr_reader :id, :description, :categories, :website, :products_count, :pages, :name, :url, :currency, :country, :artists, :currency_sign, :products
35
-
36
- def initialize(id, data={})
37
- @id = id
38
- @description = data['description']
39
- @website = data['website']
40
- @products_count = data['products_count']
41
- @pages = data['pages'].map{|p| Page.add(id, data['url'], p)} unless data['pages'].blank?
42
- @name = data['name']
43
- @url = data['url']
44
- @currency = data['currency']['code']
45
- @currency_sign = data['currency']['sign']
46
- @country = data['country']['name']
47
- @categories = data['categories'].blank? ? [] : data['categories'].map{|cat| Category.new(data['url'], cat)}
48
- @artists = data['artists'].blank? ? [] : data['artists'].map{|cat| Artist.new(data['url'], cat)}
49
- @products = Product.all(@id, @url)
50
- end
51
-
52
- def self.find(id)
53
- Store.new(id, self.fetch(id))
54
- end
55
-
56
- def product_find(permalink)
57
- #self.products.select{|f| f["permalink"] == permalink}
58
- @products.each do |p|
59
- if p.permalink == permalink
60
- return p
61
- end
62
- end
63
- end
64
-
65
- def page(permalink)
66
- self.pages.each do |p|
67
- return p if p.permalink == permalink
68
- end
69
- end
70
-
71
- def category(permalink)
72
- self.categories.each do |cat, idx|
73
- return cat if cat.permalink == permalink
74
- end
75
- end
76
-
77
- def artist(permalink)
78
- self.artists.each do |a, idx|
79
- return a if a.permalink == permalink
80
- end
81
- end
82
-
83
- def products_by_category(cat)
84
- result = []
85
- if self.categories.size > 0
86
- self.products.each do |p|
87
- cats = {}
88
- if p.categories.size > 0
89
- cats = p.categories.collect {|c| c.permalink}
90
- result << p if cats.include?(cat)
91
- end
92
- end
93
- end
94
- result
95
- end
96
-
97
- def products_by_artist(slug)
98
- result = []
99
- if self.artists.size > 0
100
- self.products.each do |p|
101
- temp = {}
102
- if p.artists.size > 0
103
- temp = p.artists.collect {|a| a.permalink}
104
- result << p if temp.include?(slug)
105
- end
106
- end
107
- end
108
- result
109
- end
110
-
111
- protected
112
- def self.fetch(id)
113
- get("/#{id}/store.js", :headers => {'Accept' => 'application/json'})
114
- end
115
- end
116
-
117
-
118
- class Artist < Base
119
- attr_reader :name, :url, :id, :permalink
120
- def initialize(store_url, data={})
121
- @name = data['name']
122
- @url = "#{store_url}#{data['url']}"
123
- @id = data['id']
124
- @permalink = data['permalink']
125
- end
126
- end
127
-
128
- class Category < Artist
129
- end
130
-
131
-
132
- class Image < Base
133
- attr_reader :height, :width, :url, :thumb, :medium, :large
134
- def initialize(data={})
135
- filename = File.basename( data['url'])
136
- picture_id = data['url'].match(/\/(\d+)\//)[1]
137
-
138
- @height = data['height']
139
- @width = data['width']
140
- @url = data['url']
141
- @thumb = "http://images.cdn.bigcartel.com/bigcartel/product_images/#{picture_id}/max_h-75+max_w-75/#{filename}"
142
- @medium = "http://images.cdn.bigcartel.com/bigcartel/product_images/#{picture_id}/max_h-155+max_w-150/#{filename}"
143
- @large = "http://images.cdn.bigcartel.com/bigcartel/product_images/#{picture_id}/max_h-300+max_w-300/#{filename}"
144
- end
145
- end
146
-
147
-
148
- class Page < Base
149
- attr_reader :id, :name, :permalink, :url, :content, :category
150
- def initialize(store_url, data={})
151
- @id = data['id']
152
- @name = data['name']
153
- @permalink = data['permalink']
154
- @url = "#{store_url}/#{data['permalink']}"
155
- @content = data['content']
156
- @category = data['category']
157
- end
158
-
159
- def self.add(id, store_url, page)
160
- page_permalink = page['permalink']
161
- Page.new(store_url, self.fetch(id, page_permalink))
162
- end
163
-
164
- protected
165
- def self.fetch(id, page)
166
- get(URI.encode("/#{id}/page/#{page}.js"), :headers => {'Accept' => 'application/json'})
167
- end
168
- end
169
-
170
- class Product < Base
171
- attr_reader :name, :permalink, :url, :full_url, :description, :artists, :on_sale, :status, :categories, :price, :position, :url, :id, :tax, :images, :shipping, :options,:default_price,:image, :image_count
172
- def initialize(store_url, data={})
173
- @name = data['name']
174
- @description = data['description']
175
- @artists = data['artists'].blank? ? [] : data['artists'].map{|cat| Artist.new(data['url'], cat)}
176
- @on_sale= data['on_sale']
177
- @status = data['status']
178
- @categories = data['categories'].blank? ? [] : data['categories'].map{|cat| Category.new(data['url'], cat)}
179
- @price = data['price']
180
- @default_price = data['default_price']
181
- @position = data['position']
182
- @full_url = "#{store_url}#{data['url']}"
183
- @url = "#{data['url']}"
184
- @id = data['id']
185
- @tax = data['tax']
186
- @permalink = data['permalink']
187
- @images = data['images'].blank? ? [] : data['images'].map{|img| Image.new(img)}
188
- @image_count = data['images'].blank? ? 0 : data['images'].size
189
- @shipping = data['shipping'].map{|ship| Shipping.new(ship)} unless data['shipping'].blank?
190
- @options = data['options'].map{|opt| ProductOption.new(opt)} unless data['options'].blank?
191
- @image = Image.new(data['images'][0]) unless data['images'].blank?
192
- end
193
-
194
- def has_default_option
195
- names = {}
196
- if self.options.size <= 1
197
- names = self.options.collect {|x| x.name }
198
- end
199
- return names.include?("Default")
200
- end
201
-
202
- def option
203
- self.options.first
204
- end
205
-
206
-
207
- def self.all(id, store_url)
208
- self.fetch(id).map{|p| Product.new(store_url, p)}
209
- end
210
-
211
- protected
212
- def self.fetch(id)
213
- get("/#{id}/products.js", :headers => {'Accept' => 'application/json'})
214
- end
215
- end
216
-
217
-
218
- class ProductOption < Base
219
- attr_reader :name, :id,:has_custom_price, :price
220
- def initialize(data={})
221
- @name = data['name']
222
- @id = data['id']
223
- @has_custom_price = data['has_custom_price']
224
- @price = data['price']
225
- end
226
- end
227
-
228
- class Shipping < Base
229
- attr_reader :amount_alone, :amount_combined, :country
230
- def initialize(data={})
231
- @amount_alone = data['amount_alone']
232
- @amount_combined = data['amount_with_others']
233
- @country = data['country']['code'] unless data['country'].blank?
234
- end
235
- end
236
-
237
- end
1
+ require 'bigcartel/client'
2
+
3
+ module BigCartel
4
+ class << self
5
+ # Alias for BigCartel::Client.new
6
+ #
7
+ # @return [BigCartel::Client]
8
+ def new(options={})
9
+ BigCartel::Client.new(options)
10
+ end
11
+
12
+ # Delegate to Twitter::Client
13
+ def method_missing(method, *args, &block)
14
+ return super unless new.respond_to?(method)
15
+ new.send(method, *args, &block)
16
+ end
17
+
18
+ def respond_to?(method, include_private=false)
19
+ new.respond_to?(method, include_private) || super(method, include_private)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,81 @@
1
+ require 'httparty'
2
+ require 'hashie'
3
+
4
+ module BigCartel
5
+
6
+ class Client
7
+
8
+ include HTTParty
9
+ base_uri "http://api.bigcartel.com"
10
+ headers 'Content-Type' => 'application/json'
11
+
12
+ def initialize(options={})
13
+ end
14
+
15
+ def self.fetch(path)
16
+ response = get(path)
17
+ Hashie::Mash.new(response)
18
+ end
19
+
20
+ def self.list(path, opts={})
21
+ # opts = { :limit => 100 }.merge opts
22
+
23
+ response = get(path, :query => {'limit' => opts[:limit]})
24
+ response.map { |c| Hashie::Mash.new(c)}
25
+ end
26
+
27
+
28
+ def store(account, opts={})
29
+ opts = { :show_products => true, :product_limit => 100 }.merge opts
30
+
31
+ store = self.class.fetch("/#{account}/store.js")
32
+ store.account = account
33
+ store.products = opts[:show_products] ? products(account,{:limit => opts[:product_limit]}) : {}
34
+ store
35
+ end
36
+
37
+
38
+ def products(account, opts={})
39
+ opts = { :limit => 100 }.merge opts
40
+ products = self.class.list("/#{account}/products.js", opts)
41
+
42
+ products.each do |p|
43
+ p.images = images_helper(p.images)
44
+ p.has_default_option = has_default_option?(p.options)
45
+ p.option = p.options.first
46
+ end
47
+
48
+ products
49
+ end
50
+
51
+
52
+ def page(account, permalink=nil)
53
+ self.class.fetch(URI.encode("/#{account}/page/#{permalink}.js"))
54
+ end
55
+
56
+ ##############################################
57
+ ## HELPERS
58
+ private
59
+
60
+ def has_default_option?(options)
61
+ names = {}
62
+ if options.size <= 1
63
+ names = options.collect {|x| x.name }
64
+ end
65
+ return names.include?("Default")
66
+ end
67
+
68
+ def images_helper(images)
69
+ output = Array.new
70
+ images.each do |img|
71
+ url_parts = img.url.scan(/(http:\/\/cache(0|1).bigcartel.com\/product_images\/\d*\/)(.*).(jpg|png|gif|jpeg)/i)
72
+
73
+ img.thumb = "#{url_parts[0][0]}75.#{url_parts[0][3]}"
74
+ img.medium = "#{url_parts[0][0]}175.#{url_parts[0][3]}"
75
+ img.large = "#{url_parts[0][0]}300.#{url_parts[0][3]}"
76
+ end
77
+ images
78
+ end
79
+
80
+ end
81
+ end
@@ -1,3 +1,3 @@
1
- module BigCartel
2
- VERSION = "0.2.3"
3
- end
1
+ module BigCartel
2
+ VERSION = "1.0.0"
3
+ end
@@ -1,17 +1,225 @@
1
- require 'helper'
2
-
3
- describe BigCartel do
4
-
5
- describe ".store" do
6
- it "should be a BigCartel::Store" do
7
- BigCartel.store("tonkapark").should be_a BigCartel::Store
8
- end
9
-
10
- it "should have id" do
11
- store = BigCartel.store('tonkapark')
12
- store.id.should == 'tonkapark'
13
- end
14
-
15
- end
16
-
17
- end
1
+ require 'helper'
2
+
3
+ describe BigCartel do
4
+ before do
5
+
6
+ stub_request(:get, "api.bigcartel.com/park/store.js").
7
+ to_return(:body=>fixture("store.json"), :headers => {:content_type => "application/json; charset=utf-8"})
8
+
9
+ stub_request(:get, /api.bigcartel.com\/park\/products.js/).
10
+ to_return(:body=>fixture("products.json"), :headers => {:content_type => "application/json; charset=utf-8"})
11
+
12
+ stub_request(:get, /api.bigcartel.com\/park\/page\/\w+.js/).
13
+ to_return(:body=>fixture("page.json"), :headers => {:content_type => "application/json; charset=utf-8"})
14
+ end
15
+
16
+ it "will delegate BigCartel.new to client " do
17
+ client = BigCartel.new
18
+ client.should be_an_instance_of BigCartel::Client
19
+ end
20
+
21
+ end
22
+
23
+
24
+ describe BigCartel::Client do
25
+
26
+ before do
27
+
28
+ stub_request(:get, "api.bigcartel.com/park/store.js").
29
+ to_return(:body=>fixture("store.json"), :headers => {:content_type => "application/json; charset=utf-8"})
30
+
31
+ stub_request(:get, /api.bigcartel.com\/park\/products.js\?limit=\d+/).
32
+ to_return(:body=>fixture("products.json"), :headers => {:content_type => "application/json; charset=utf-8"})
33
+
34
+ stub_request(:get, /api.bigcartel.com\/park\/page\/\w+.js/).
35
+ to_return(:body=>fixture("page.json"), :headers => {:content_type => "application/json; charset=utf-8"})
36
+ end
37
+
38
+
39
+ #base client features
40
+ describe "client" do
41
+
42
+ before(:each) do
43
+ @client = BigCartel::Client.new
44
+ end
45
+
46
+ it "is properly classed" do
47
+ @client.should be_an_instance_of BigCartel::Client
48
+ end
49
+
50
+ it "can fetch" do
51
+ store = BigCartel::Client.fetch("/park/store.js")
52
+ a_request(:get, "api.bigcartel.com/park/store.js").
53
+ should have_been_made
54
+ end
55
+
56
+ it "can list" do
57
+ store = BigCartel::Client.list("/park/products.js", {:limit => 100})
58
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=100").
59
+ should have_been_made
60
+ end
61
+ end
62
+
63
+ #########################################
64
+ #store features
65
+ describe ".store" do
66
+ before do
67
+ @client = BigCartel::Client.new
68
+ end
69
+
70
+ it "with no options makes 1 http call" do
71
+ store = @client.store("park")
72
+ a_request(:get, "api.bigcartel.com/park/store.js").
73
+ should have_been_made
74
+
75
+ a_request(:get, /api.bigcartel.com\/park\/products.js/).
76
+ should have_been_made
77
+ end
78
+
79
+ it "with show_products makes 2 http call" do
80
+ store = @client.store("park", {:show_products => true, :product_limit => 2})
81
+ a_request(:get, "api.bigcartel.com/park/store.js").
82
+ should have_been_made
83
+
84
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=2").
85
+ should have_been_made
86
+ end
87
+
88
+ it "with show_products false makes 1 http call" do
89
+ store = @client.store("park", {:show_products => false, :product_limit => 2})
90
+ a_request(:get, "api.bigcartel.com/park/store.js").
91
+ should have_been_made
92
+
93
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=2").
94
+ should_not have_been_made
95
+ end
96
+
97
+ context "will be a valid hash" do
98
+ before{@store = @client.store("park")}
99
+
100
+ it {@store.should be_a Hash}
101
+
102
+ it "should have a url" do
103
+ @store.url.should be_an String
104
+ @store.url.should eq("http://park.bigcartel.com")
105
+ end
106
+
107
+ it "should have an account label" do
108
+ @store.account.should be_an String
109
+ @store.account.should eq("park")
110
+ end
111
+
112
+ it { @store.categories.should be_an Array }
113
+ it { @store.artists.should be_an Array }
114
+ it { @store.website.should be_a String }
115
+ it { @store.description.should be_a String }
116
+ it { @store.name.should be_a String }
117
+ it { @store.products_count.should be_an Integer }
118
+ it { @store.country.should be_an Hash }
119
+ it { @store.currency.should be_an Hash }
120
+ it { @store.pages.should be_an Array }
121
+ it { @store.products.should be_a Array }
122
+ end
123
+
124
+ end
125
+
126
+
127
+ #########################################
128
+ # product methods
129
+
130
+ describe ".products" do
131
+ before do
132
+ @client = BigCartel::Client.new
133
+ end
134
+
135
+ it "will make http api calls" do
136
+ products = @client.products("park")
137
+ a_request(:get, "api.bigcartel.com/park/store.js").
138
+ should_not have_been_made
139
+
140
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=100").
141
+ should have_been_made
142
+ end
143
+
144
+ it "accepts limit parameter" do
145
+ products = @client.products("park", {:limit => 10} )
146
+
147
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=10").
148
+ should have_been_made
149
+ end
150
+
151
+ context "will be a valid hash" do
152
+ before{@product = @client.products("park").first}
153
+
154
+ it {@product.should be_a Hash}
155
+
156
+ it "should have a permalink" do
157
+ @product.permalink.should be_an String
158
+ @product.permalink.should eq("watch-test")
159
+ end
160
+
161
+ it { @product.tax.should be_an Float }
162
+ it { @product.created_at.should be_a String }
163
+ it { @product.shipping.should be_an Array }
164
+ it { @product.status.should be_a String }
165
+ it { @product.artists.should be_an Array }
166
+ it { @product.categories.should be_an Array }
167
+ it { @product.position.should be_an Integer }
168
+ it { @product.images.should be_an Array }
169
+ it { @product.images.first.thumb.should be_a String }
170
+ it { @product.images.first.medium.should be_a String }
171
+ it { @product.images.first.large.should be_a String }
172
+
173
+ it { @product.on_sale.should eq(!!@product.on_sale) } #Boolean test
174
+ it { @product.description.should be_a String }
175
+ it { @product.price.should be_an Float }
176
+ it { @product.name.should be_a String }
177
+ it { @product.url.should be_a String }
178
+ it { @product.default_price.should be_a Float }
179
+ it { @product.id.should be_an Integer }
180
+ it { @product.options.should be_an Array }
181
+
182
+ end
183
+
184
+ end
185
+
186
+ ##################
187
+ describe ".page" do
188
+ before do
189
+ @client = BigCartel::Client.new
190
+ end
191
+
192
+ it "will make http api calls" do
193
+ page = @client.page("park", "about")
194
+ a_request(:get, "api.bigcartel.com/park/page/about.js").
195
+ should have_been_made
196
+
197
+ a_request(:get, "api.bigcartel.com/park/store.js").
198
+ should_not have_been_made
199
+
200
+ a_request(:get, "api.bigcartel.com/park/products.js?limit=100").
201
+ should_not have_been_made
202
+ end
203
+
204
+ describe 'should build hash' do
205
+ before(:each) { @page = @client.page("park", "about")}
206
+
207
+ it "should have a permalink" do
208
+ @page.permalink.should be_a String
209
+ @page.permalink.should eq("about")
210
+ end
211
+
212
+ it { @page.content.should be_a String }
213
+ it { @page.category.should be_a String }
214
+ it { @page.name.should be_a String }
215
+ it { @page.url.should be_a String }
216
+ it { @page.id.should be_an Integer }
217
+ end
218
+
219
+ end
220
+
221
+
222
+
223
+
224
+
225
+ end
@@ -0,0 +1 @@
1
+ {"permalink":"about","content":"<h3>Purus auctor erat</h3>\r\n\r\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Duis quam felis, elementum in euismod eu, pellentesque id dolor. Vivamus lacinia rhoncus mi, vel malesuada felis interdum sit amet. Maecenas ut lectus ut turpis venenatis dignissim ut eu tortor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla quis urna leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer volutpat, felis at eleifend vestibulum, libero eros consequat odio, ac sollicitudin velit nisi vel tellus. Suspendisse a odio nec nisl elementum auctor id eu ipsum. Phasellus purus nulla, semper sed bibendum vitae, rhoncus sed dui. In vitae tortor ante. Quisque faucibus, lorem at tempor lacinia, est purus auctor erat, sed varius nibh nisl a libero. Cras nisl enim, mollis interdum auctor a, facilisis at tortor.\r\n\r\n<h3>Aenean et imperdiet augue</h3>\r\n\r\nSed ac dui magna. Duis rhoncus consectetur venenatis. Suspendisse velit dolor, mollis nec placerat sed, congue id felis. Aenean et imperdiet augue. Aliquam lacus erat, molestie vel egestas ac, molestie sed risus. Quisque et massa lectus. Vivamus fermentum dui id nisl tincidunt aliquam. Donec malesuada elit ut purus condimentum at elementum sem posuere. Donec tincidunt elementum magna sed auctor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam fringilla adipiscing massa, porttitor blandit nibh lacinia at. Ut convallis ultrices suscipit. Nunc congue elementum fermentum.\r\n\r\nAenean vel purus libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque quis venenatis sem. Sed eget placerat metus. Quisque neque odio, lacinia vitae congue eu, varius a dui. Morbi eget velit nisl. Maecenas vitae laoreet diam. Donec scelerisque, diam non mattis vulputate, nunc neque tincidunt erat, a mollis dolor lectus in nunc. Ut vel fermentum lacus. Etiam pulvinar ante justo, et rhoncus justo. Sed venenatis, odio a lobortis malesuada, justo odio laoreet dui, at feugiat velit risus at ligula. Fusce vitae turpis quam, porttitor vulputate elit. Integer rhoncus, ipsum a sodales posuere, augue ante aliquet dui, quis fringilla nunc metus nec tellus. Phasellus dui orci, lobortis nec hendrerit vitae, tincidunt non erat. Nullam tortor urna, ornare eget luctus in, mollis nec elit. Duis vel metus quis dolor euismod rhoncus. Vestibulum ipsum turpis, laoreet eget consequat vel, mattis a felis. Quisque in tellus augue, ut laoreet mi.\r\n\r\nMauris cursus, lectus ac cursus ultricies, turpis sem commodo lacus, non dapibus dui mauris at sem. Proin eu magna ac sapien vestibulum pellentesque et sit amet est. Suspendisse potenti. Donec convallis purus sed leo lacinia in sagittis nunc dictum. Suspendisse ullamcorper sagittis mi, sed congue lorem ullamcorper ac. Aliquam ultricies feugiat euismod. Suspendisse quis elit eget erat rhoncus imperdiet. Duis congue commodo tellus, feugiat scelerisque tortor viverra sit amet. Donec leo nibh, scelerisque eu feugiat vel, consectetur in felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc fringilla elementum rhoncus.","category":"custom","name":"About Us","url":"/about","id":2414372}
@@ -0,0 +1 @@
1
+ [{"tax":0.0,"created_at":"2011-06-23T23:53:38-04:00","shipping":[{"amount_alone":6.0,"amount_with_others":6.0,"country":{"name":"United States","code":"US","id":43}},{"amount_alone":12.0,"amount_with_others":10.0}],"status":"active","permalink":"watch-test","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":1,"images":[{"height":800,"url":"http://cache0.bigcartel.com/product_images/45883895/gray_sq.png","width":800},{"height":400,"url":"http://cache0.bigcartel.com/product_images/38808851/square_2.png","width":400},{"height":400,"url":"http://cache1.bigcartel.com/product_images/38808863/square_3.png","width":400}],"on_sale":false,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nec nulla sit amet neque accumsan semper hendrerit vitae magna. Nunc suscipit, purus a consequat accumsan, neque dolor feugiat tellus, eget porttitor diam nulla vitae massa. Suspendisse vel risus nunc, sed porta nisi. Maecenas dignissim consequat eros quis venenatis.\r\n\r\nA line break? Does it work?\r\nbreak\r\n\r\nParagraph here?\r\n\r\n<h2>Heading here</h2>","price":579.98,"name":"Gray Shirt","url":"/product/watch-test","default_price":579.98,"id":3980343,"options":[{"has_custom_price":false,"price":579.98,"name":"Default","id":13220167}]},{"tax":0.0,"created_at":"2011-05-17T15:42:07-04:00","shipping":[{"amount_alone":5.0,"amount_with_others":4.0,"country":{"name":"United States","code":"US","id":43}},{"amount_alone":6.0,"amount_with_others":6.0}],"status":"coming-soon","permalink":"w-battlenose-dolphin-salmon","artists":[{"permalink":"brand-x","name":"Brand X","url":"/artist/brand-x","id":64770}],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"womens-tees","name":"Womens Tees","url":"/category/womens-tees","id":2190568}],"position":2,"images":[{"height":800,"url":"http://cache0.bigcartel.com/product_images/45883959/purple_sq.png","width":800},{"height":480,"url":"http://cache0.bigcartel.com/product_images/36708380/ATA-Battlenose-Salmon-Model.jpg","width":400},{"height":480,"url":"http://cache0.bigcartel.com/product_images/36708372/BattleNoseDolphin-Slamon-Womens.jpg","width":400}],"on_sale":false,"description":"Salmon baby doll Scoop Neck tee with gray Battlenose Dolphin main screen, pink shadow effect & gray ATA Logo stitch detail on lower-right front hemline.\r\n\r\nShirt is super soft 100% combed, ring-spun, pre-shrunk (but not pre-washed) cotton. Seriously great fit!","price":25.0,"name":"Purple Shirt","url":"/product/w-battlenose-dolphin-salmon","default_price":25.0,"id":3768516,"options":[{"has_custom_price":false,"price":25.0,"name":"S","id":12611044},{"has_custom_price":false,"price":25.0,"name":"M","id":12611046},{"has_custom_price":false,"price":25.0,"name":"L","id":12611048},{"has_custom_price":false,"price":25.0,"name":"XL","id":12611050}]},{"tax":0.0,"created_at":"2011-07-28T10:19:43-04:00","status":"coming-soon","permalink":"another-fashion-tall","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":3,"images":[{"height":1000,"url":"http://cache1.bigcartel.com/product_images/45884183/yellow_sq.png","width":1000},{"height":900,"url":"http://cache1.bigcartel.com/product_images/40694294/2x3.jpg","width":600}],"on_sale":false,"description":"","price":74.0,"name":"Another Fashion Tall","url":"/product/another-fashion-tall","default_price":74.0,"id":4165624,"options":[{"has_custom_price":false,"price":74.0,"name":"Default","id":13751882}]},{"tax":0.0,"created_at":"2011-05-17T15:28:04-04:00","status":"sold-out","permalink":"m-gorilla-warfare-black","artists":[{"permalink":"brand-x","name":"Brand X","url":"/artist/brand-x","id":64770}],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450}],"position":4,"images":[{"height":800,"url":"http://cache0.bigcartel.com/product_images/45884071/red_sq.png","width":800},{"height":480,"url":"http://cache0.bigcartel.com/product_images/36707916/new-black-gorilla.jpg","width":400},{"height":480,"url":"http://cache0.bigcartel.com/product_images/36707908/ATA-mens-black-gorilla.jpg","width":400}],"on_sale":false,"description":"Black T-Shirt with charcoal gray Gorilla Warfare main screen, white shadow effect & white ATA Logo stitch detail on lower-right front hemline.\r\n\r\nShirt is super soft 100% cotton and is pre-shrunk (but not pre-washed). Amazing fit!","price":21.0,"name":"Red Shirt","url":"/product/m-gorilla-warfare-black","default_price":21.0,"id":3768460,"options":[{"has_custom_price":false,"price":21.0,"name":"Default","id":12610886}]},{"tax":0.0,"created_at":"2011-07-28T09:59:41-04:00","status":"active","permalink":"knit-top","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":5,"images":[{"height":600,"url":"http://cache0.bigcartel.com/product_images/40693686/600x600.jpeg","width":600},{"height":1000,"url":"http://cache0.bigcartel.com/product_images/44317133/IMG_3820.jpg","width":667},{"height":900,"url":"http://cache1.bigcartel.com/product_images/40694262/2x3.jpg","width":600}],"on_sale":false,"description":"","price":78.45,"name":"Knit Top","url":"/product/knit-top","default_price":78.45,"id":4165534,"options":[{"has_custom_price":false,"price":78.45,"name":"Default","id":13751706}]},{"tax":0.0,"created_at":"2011-07-28T10:14:04-04:00","status":"active","permalink":"fashion-tall","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":6,"images":[{"height":900,"url":"http://cache1.bigcartel.com/product_images/40991695/2x3.jpg","width":600}],"on_sale":false,"description":"Pellentesque molestie laoreet libero, molestie euismod mauris tincidunt vitae. Ut fermentum odio vitae ipsum laoreet consectetur. Sed iaculis lobortis est, id semper mi scelerisque vel. Cras dolor augue, scelerisque vitae scelerisque tincidunt, pharetra ac dolor. Proin eget augue nec felis imperdiet congue. Nullam justo mi, ullamcorper nec consectetur sed, tincidunt et nulla. Nunc semper aliquet vehicula.","price":99.0,"name":"Fashion Tall","url":"/product/fashion-tall","default_price":99.0,"id":4165610,"options":[{"has_custom_price":false,"price":99.0,"name":"Small","id":13751854},{"has_custom_price":false,"price":99.0,"name":"Medium","id":13752122},{"has_custom_price":true,"price":120.0,"name":"Large","id":13752124}]},{"tax":0.0,"created_at":"2011-07-28T10:18:33-04:00","status":"sold-out","permalink":"2x3-ratio","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310}],"position":7,"images":[{"height":900,"url":"http://cache1.bigcartel.com/product_images/40694254/2x3.jpg","width":600},{"height":753,"url":"http://cache1.bigcartel.com/product_images/43124263/JIMTOTE3_010CARTEL.jpg","width":500},{"height":498,"url":"http://cache0.bigcartel.com/product_images/43124255/JIMTOTE3_020CARTEL.jpg","width":750}],"on_sale":true,"description":"","price":145.0,"name":"2x3 Ratio title","url":"/product/2x3-ratio","default_price":145.0,"id":4165622,"options":[{"has_custom_price":false,"price":145.0,"name":"Default","id":13751878}]},{"tax":0.0,"created_at":"2011-09-23T19:37:00-04:00","status":"active","permalink":"black-and-white","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":8,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44048315/preview.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44048291/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44048307/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Black and White</strong> is a Big Cartel theme that is perfect to build out your shop. Features include a homepage slideshow for landscape images, large product photos, css for black or white background and custom page templates for common shop content.</p>\r\n<p>Shipped with 6 special page templates perfect to help you build out an entire shop with New product, On Sale, About, FAQ, Privacy Policy and Terms & Conditions pages. Just follow the directions and you will have a full site in no time.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Features</h3>\r\n<ul>\r\n<li>Homepage: Large Slideshow </li>\r\n<li>Large product images</li>\r\n<li>New Arrivals & On Sale: Custom templates</li>\r\n<li>About & FAQ: Custom templates</li>\r\n<li>Privacy Policy & Terms: Custom templates</li>\r\n<li>Includes CSS for white or black background</li>\r\n</ul>\r\n<ul>\r\n<li>3 products across</li>\r\n<li>Related products on Product page</li>\r\n<li>Sharing integration on Product page</li>\r\n<li>Multiple product thumbs on Product page</li>\r\n<li>Product thumbnail preview in Shopping Cart</li>\r\n<li>Product Title and Pricing display on hover</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 960px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Edit the menu using the Layout template</li>\r\n<li>Make sure to add special custom templates</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel editor to select theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">black-and-white</div>","price":100.0,"name":"Black and White","url":"/product/black-and-white","default_price":100.0,"id":4498373,"options":[{"has_custom_price":false,"price":100.0,"name":"Default","id":14742355}]},{"tax":0.0,"created_at":"2011-09-21T12:54:19-04:00","status":"active","permalink":"theme-sample","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":9,"images":[{"height":355,"url":"http://cache0.bigcartel.com/product_images/43960451/redeemed_preview.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/43960443/redeemed_home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/43960435/redeemed_product.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Redeemed</strong> is a slick new theme with powerful admin options. Features include a homepage slider for featured items and intelligently-built related products.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Features</h3>\r\n<ul>\r\n<li>Homepage:Featured products carousel</li>\r\n<li>Homepage: Best selling & newest products</li>\r\n<li>New Arrivals & On Sale: Custom templates</li>\r\n<li>Next & previous product buttons</li>\r\n<li>Sharing integration on Product page</li>\r\n<li>Related products on Product page</li>\r\n</ul>\r\n<ul>\r\n<li>Multiple product thumbs on Product page</li>\r\n<li>Product thumbnail preview in Shopping Cart</li>\r\n<li>Artists and category sidebar</li>\r\n<li>Displays shipping prices where available</li>\r\n<li>Easily add social media links in footer</li>\r\n<li>Canonical URLs for better SEO</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 740px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist</li> \r\n<li>Labels to view how the theme adjusts</li>\r\n<li>Edit the menu using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel editor to select theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">redeemed</div>","price":50.0,"name":"Redeemed","url":"/product/theme-sample","default_price":50.0,"id":4482159,"options":[{"has_custom_price":false,"price":50.0,"name":"Default","id":14742283}]},{"tax":0.0,"created_at":"2011-09-23T18:22:25-04:00","status":"active","permalink":"sunday-drive-slideshow","artists":[],"categories":[{"permalink":"ipsum-lorem","name":"Ipsum Lorem","url":"/category/ipsum-lorem","id":2213615},{"permalink":"accessories","name":"Accessories","url":"/category/accessories","id":2213617},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":10,"images":[{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045095/slideshow.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045083/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045067/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Sunday Drive Slideshow</strong> the theme everyone wants at a great price. Features include a homepage slider for your lifestyle images and placeholders for your graphic buttons on the homepage.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Features</h3>\r\n<ul>\r\n<li>Homepage: Large Slideshow</li>\r\n<li>Homepage: Large button for links</li>\r\n<li>Artists links on product page.</li>\r\n<li>4 images across</li>\r\n<li>Sharing integration on Product page</li>\r\n<li>Large 960 pixel width</li>\r\n</ul>\r\n<ul>\r\n<li>Multiple product thumbs on Product page</li>\r\n<li>Product thumbnail preview in Cart</li>\r\n<li>Artists and category sidebar</li>\r\n<li>Displays shipping prices where available</li>\r\n<li>Easily add social media links in footer</li>\r\n<li>Canonical URLs for better SEO</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 960px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout</li>\r\n<li>Use css editor to change theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">sundaydriveslideshow</div>","price":50.0,"name":"Sunday Drive Slideshow","url":"/product/sunday-drive-slideshow","default_price":50.0,"id":4497991,"options":[{"has_custom_price":false,"price":50.0,"name":"Default","id":14741037}]},{"tax":0.0,"created_at":"2011-09-23T18:38:05-04:00","status":"active","permalink":"new-beginnings-tall","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310}],"position":11,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44045587/products.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045579/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045595/black.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>New Beginnings Tall</strong> is a variation of the <a href=\"http://themes.tonkapark.com/product/new-beginnings-big-cartel-theme\">New Beginnings template</a>. However, this template is designed specifically for the shops using tall images with an aspect ratio of 2x3, which will be many of you selling clothing.</p>\r\n\r\n<p>Only purchase this version of the theme if you are using or plan to use all images in a size ratio of 2x3, or portrait format. That would be like 200x300 pixels or 600x900pixels. If you are using square images it will work but I would suggest looking at the original <a href=\"http://themes.tonkapark.com/product/new-beginnings-big-cartel-theme\">New Beginnings Theme</a>.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Theme Features</h3>\r\n<ul class=\"full\">\r\n<li>BIG product photos</li>\r\n<li>Tailored for 2x3 aspect product photos</li>\r\n<li>Space for large logo/banner up to 860pixels wide</li>\r\n<li>3 Products Across</li>\r\n<li>Image thumbnails on detail and cart pages</li>\r\n<li>Special Shop Menu collapses categories on click.</li>\r\n<li>Special New Arrivals and On Sale Products custom page templates</li>\r\n<li>Twitter, Facebook and Google Plus share buttons</li>\r\n<li>RSS, Twitter, Facebook, Contact icons with links</li>\r\n<li>Canonical urls for better SEO</li>\r\n<li>Included CSS for black background version</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 960px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">new-beginnings2x3</div>","price":40.0,"name":"New Beginnings Tall","url":"/product/new-beginnings-tall","default_price":40.0,"id":4498069,"options":[{"has_custom_price":false,"price":40.0,"name":"Default","id":14741369}]},{"tax":0.0,"created_at":"2011-09-23T18:42:31-04:00","status":"active","permalink":"new-beginnings","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310}],"position":12,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44045707/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045715/product.jpg","width":600}],"on_sale":true,"description":"<div class=\"intro\">\r\n<p><strong>New Beginnings</strong> is a clean start for any new or existing Big Cartel shop. With the basic features of Big Cartel like top products and best sellers in the sidebar some special features have been added. Using ideas and features from our popular Sunday and Sunday Drive templates your Big Cartel shop is sure to look great.</p>\r\n<p>Looking for something that looks better with portrait cropped images? Try out the <a href=\"http://themes.tonkapark.com/product/new-beginnings-tall-theme\">New Beginnings Portrait theme</a>.\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Theme Features</h3>\r\n<ul class=\"full\">\r\n<li>Space for large logo/banner up to 980pixels wide</li>\r\n<li>4 Products Across</li>\r\n<li>Image thumbnails on detail and cart pages</li>\r\n<li>Dynamic Shop Menu shows/hides categories on click.</li>\r\n<li>Special New Arrivals and On Sale Products custom page templates</li>\r\n<li>Twitter, Facebook and Google Plus share buttons</li>\r\n<li>RSS, Twitter, Facebook, Contact icons with links</li>\r\n<li>Canonical urls for better SEO</li>\r\n<li>Included CSS for black background version</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 980px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n<li>Add New Arrivals and On Sale Pages</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">new-beginnings</div>","price":35.0,"name":"New Beginnings","url":"/product/new-beginnings","default_price":35.0,"id":4498085,"options":[{"has_custom_price":false,"price":35.0,"name":"Default","id":14741413}]},{"tax":0.0,"created_at":"2011-09-23T18:59:54-04:00","status":"active","permalink":"splash","artists":[],"categories":[],"position":13,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44046355/preview.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046339/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046347/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>SPLASH</strong> big cartel template is designed to be similar to the original Sexy theme offered in your Big Cartel account. However, Splash brings in some added design features along with a slideshow on the homepage everyone desires.</p>\r\n\r\n<p>With just a little bit of html editing required you can use your own images of 750 pixel width on the home page slideshow by replacing image urls. You will need to use a 3rd party host for your images, such as a blog or photobucket.com.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Theme Features</h3> \r\n<ul class=\"full\"> \r\n<li>Slideshow on home page using images hosted on 3rd party site</li> \r\n<li>3 products per row</li> \r\n<li>Product thumbnails on individual product detail pages</li> \r\n<li>Product thumbnails in cart checkout</li> \r\n<li>750 pixel wide page design.</li> \r\n<li>Canonical urls for better SEO</li>\r\n<li>Facebook, Twitter and Google share buttons on product pages.</li> \r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 750px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">splash</div>","price":35.0,"name":"Splash","url":"/product/splash","default_price":35.0,"id":4498161,"options":[{"has_custom_price":false,"price":35.0,"name":"Default","id":14741639}]},{"tax":0.0,"created_at":"2011-09-23T18:52:51-04:00","status":"active","permalink":"how-he-loves","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":14,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44046091/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046067/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046083/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>How He Loves</strong> theme offers a new option for your Big Cartel site. From built in Facebook Like button support, twitter and facebook links, and interesting displays of newest and popular products. The improved product pages and shopping cart page should help build the professional image of your store. Use this theme to launch a new shop or take on a new design.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Features</h3> \r\n<ul class=\"full\"> \r\n<li>Drop Down Product Category Menu</li> \r\n<li>Facebook Like, Twitter and Google Share Buttons on all product pages</li> \r\n<li>Classic sleek lines.</li> \r\n<li>Logo upload file can be used as a header but not needed to make the site look good.</li> \r\n<li>4 products across.</li> \r\n<li>Works with all product photo shapes but best with square aspect ratio.</li> \r\n<li>Canonical urls for better SEO</li>\r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 740px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n\r\nHow He Loves Big Cartel theme was named after one of my favorite songs at the time, How He Loves performed by David Crowder Band. It speaks of how God loves each of us in an amazing and powerful way. \r\n\r\n<div id=\"theme-name\" style=\"display:none\">howheloves</div>","price":35.0,"name":"How He Loves","url":"/product/how-he-loves","default_price":35.0,"id":4498127,"options":[{"has_custom_price":false,"price":35.0,"name":"Default","id":14741537}]},{"tax":0.0,"created_at":"2011-09-23T18:48:08-04:00","status":"active","permalink":"sunday-drive","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456}],"position":15,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44045891/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045875/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045883/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Sunday Drive</strong> is a clean look inspired by our Sunday theme. With product thumbnails, images of products in the cart and artist support it is a great choice to style your Big Cartel store.</p>\r\n\r\n<p>This theme offers a clean looking shop with attention to detail. Taking cues from the popular <a title=\"Sunday\" href=\"http://themes.tonkapark.com/product/sunday\" target=\"_blank\">Sunday theme</a>, Sunday Drive brings some new details and features every store owner should appreciate. With support for the artists feature, facebook like buttons and product thumbnail previews on both the product detail and cart pages your shop will look great.</p> \r\n<p><img class=\"size-large wp-image-1310 aligncenter\" title=\"sundaydrive home with logo\" src=\"http://tonkapark.com/blog/wp-content/uploads/2011/02/sundaydrive_home_w_logo-580x460.jpg\" alt=\"\" width=\"580\" height=\"460\" /></p> \r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Features</h3> \r\n<ul class=\"full\"> \r\n<li>Artists, Top Products, Newest Products all supported.</li> \r\n<li>Artists links on product page.</li> \r\n<li>Displays shipping pricing where available.</li> \r\n<li>4 images across</li> \r\n<li>Additional product thumbnails displayed on detail page.</li> \r\n<li>Product thumbnail preview in cart.</li> \r\n<li>Facebook like, Tweet and Google share buttons on all product pages.</li> \r\n<li>Canonical urls for better SEO</li>\r\n<li>Site looks good with or without your own 960 pixel wide logo.</li> \r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 960px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n<li>Add New Arrivals and On Sale Pages</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">sundaydrive</div>","price":35.0,"name":"Sunday Drive","url":"/product/sunday-drive","default_price":35.0,"id":4498105,"options":[{"has_custom_price":false,"price":35.0,"name":"Default","id":14741469}]},{"tax":0.0,"created_at":"2011-09-23T19:03:57-04:00","status":"active","permalink":"nashvegas","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456}],"position":16,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44046507/products.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046523/cart.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046531/product.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Nashvegas</strong> Big Cartel theme is a 5 product per row design. With the products as the centerpiece for the layout moving the links to the bottom footer section. \u00a0The themes colors can be changed with some tweaks to the custom CSS file and can work with or without a logo header.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Theme Features</h3> \r\n<ul class=\"full\"> \r\n<li>5 products per row</li> \r\n<li>Product thumbnails on individual product detail pages</li> \r\n<li>Product thumbnails in cart checkout</li> \r\n<li>981 pixel wide page design.</li> \r\n<li>Facebook, Twitter and Google share buttons on product pages.</li> \r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 981px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to change theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">nashvegas</div>\r\n","price":15.0,"name":"Nashvegas","url":"/product/nashvegas","default_price":15.0,"id":4498183,"options":[{"has_custom_price":false,"price":15.0,"name":"Default","id":14741701}]},{"tax":0.0,"created_at":"2011-09-23T19:09:06-04:00","status":"active","permalink":"sunday","artists":[],"categories":[{"permalink":"ipsum-lorem","name":"Ipsum Lorem","url":"/category/ipsum-lorem","id":2213615},{"permalink":"accessories","name":"Accessories","url":"/category/accessories","id":2213617},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":17,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44046659/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046667/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046643/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Sunday</strong> theme is ideal for those wanting to change it up slightly from the standard 2 choices Big Cartel offers you by default. The theme will require changes to both your css and html layout files in big cartel. This is the original theme offered by Tonka Park and it is still a popular choice to start off your new Big Cartel shop.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Theme Features</h3> \r\n<ul class=\"full\"> \r\n<li>4 products per row</li> \r\n<li>960 pixel wide page design.</li> \r\n<li>Clean base theme for starting a redesign</li>\r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 960px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to change theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">sunday</div>\r\n","price":15.0,"name":"Sunday","url":"/product/sunday","default_price":15.0,"id":4498205,"options":[{"has_custom_price":false,"price":15.0,"name":"Default","id":14741777}]},{"tax":0.0,"created_at":"2011-09-23T22:26:07-04:00","status":"active","permalink":"bringing-sexy-back","artists":[],"categories":[{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310},{"permalink":"womens-tees","name":"Womens Tees","url":"/category/womens-tees","id":2190568},{"permalink":"39-alorld-asd","name":"39 alOrld asd","url":"/category/39-alorld-asd","id":2213611},{"permalink":"3-products-across","name":"3 products across","url":"/category/3-products-across","id":2464615}],"position":18,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44045403/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44045411/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p>We are <strong>Bringing Sexy Back</strong> by giving the default Big Cartel theme, Sexy, an update it has needed for a long time. A theme with lots of built in features and function.</p>\r\n<p>The default out of the box theme on Big Cartel is Sexy. This theme is used by many of the 100,000+ shops on Big Cartel. This theme has seen it's day and people should have more choices. So we want to offer to you the updated and revised version we call, 'Bringing Sexy Back' that includes a slideshow.</p> \r\n<p>The theme takes many of the basic requests for customization and integrates them right into the theme and offers several variable settings to show or hide features. All described in the README file with the theme download.</p>\r\n</div>\r\n\r\n<div class=\"two column omega\"> \r\n<h3>Key Features</h3> \r\n<ul class=\"full\"> \r\n<li><span style=\"color: #008000;\">Homepage slider in place for images sized at 716x350pixels by default. Yes that large green box is rotating images with links if you choose.</span></li> \r\n<li>A new view at your top-selling, newest and on-sale products on the home page with thumbnails.</li> \r\n<li>Theme Settings for easily adding your Blog, Twitter and Facebook links to the Info link list.</li> \r\n<li>An easy to use Theme Setting to move the sidebar from the right side to the left side.</li> \r\n<li>The Simple Color Editor still works with this theme.</li> \r\n<li>4 products per row instead of 3.</li> \r\n<li>Facebook, Twitter and Google share buttons built in on each product page.</li> \r\n<li>Product thumbnails on individual product pages.</li> \r\n<li>Artist and Category links on each product page.</li> \r\n<li>Next and Previous product navigation.</li> \r\n<li>917 pixel width page great for a nice wide banner</li> \r\n<li>Canonical urls for better seo</li>\r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3> \r\n<ul> \r\n<li>Banner/Logo up to 917 pixels wide.</li> \r\n<li>Use 3rd party site for slideshow images.</li> \r\n<li>The Slider is found within the HOME template.</li> \r\n<li>Custom settings in LAYOUT template.</li> \r\n<li>Enable Best Selling & Latest Products</li> \r\n<li>Use the same image ratio for all products</li> \r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to select theme colors</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">bringingsexyback</div>","price":35.0,"name":"Bringing Sexy Back","url":"/product/bringing-sexy-back","default_price":35.0,"id":4498021,"options":[{"has_custom_price":false,"price":35.0,"name":"Default","id":14741173}]},{"tax":0.0,"created_at":"2011-09-23T19:13:41-04:00","status":"active","permalink":"jefferson","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310},{"permalink":"23f-alorem","name":"23f aLorem","url":"/category/23f-alorem","id":2213613}],"position":19,"images":[{"height":355,"url":"http://cache1.bigcartel.com/product_images/44046819/home.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046803/product.jpg","width":600},{"height":355,"url":"http://cache0.bigcartel.com/product_images/44046811/cart.jpg","width":600}],"on_sale":false,"description":"<div class=\"intro\">\r\n<p><strong>Jefferson</strong> is the perfect introduction to what custom themes on Big Cartel are all about. It is nearly a free big cartel theme. </p>\r\n\r\n<p>The default Sexy theme receives product thumbnail display on the detailed pages and cart page. Google, Twitter and Facebook share buttons integrated into the product pages. And what many people want is 4 products across. Set up your site today at a minimal cost and still be able to use the same color schemes as you had been originally but now you can use a larger banner, up to 936 pixels wide!</p>\r\n</div>\r\n\r\n<div class=\"two column omega\">\r\n<h3>Key Theme Features</h3> \r\n<ul class=\"full\"> \r\n<li>4 products per row</li> \r\n<li>936 pixel wide page design.</li> \r\n<li>Multiple product thumbs on Product page</li>\r\n<li>Product thumbnail preview in Shopping Cart</li>\r\n<li>Sharing integration on Product page</li>\r\n<li>based on Sexy Theme, makes for an easy upgrade</li>\r\n</ul> \r\n</div>\r\n\r\n<div class=\"one column\">\r\n<h3>Theme Tips</h3>\r\n<ul>\r\n<li>Revert theme to \"Sexy\" before installing</li>\r\n<li>Upload a logo with a width of 936px</li>\r\n<li>Use the same image ratio for all products</li>\r\n<li>Enable Best Selling & Latest Products </li>\r\n<li>Turn on/off Search, Inventory Bars, Artist Labels to view how the theme adjusts</li>\r\n<li>Edit the menus using the Layout template</li>\r\n</ul>\r\n</div>\r\n\r\n<div class=\"one column omega\">\r\n<h3>Installation & Setup</h3>\r\n<ul>\r\n<li>Simple understanding of how to copy & paste HTML & CSS into Big Cartel's editor</li>\r\n<li>Always open purchased files with a plain text editor to view full contents</li>\r\n<li>Insert Twitter & Facebook links in Layout file</li>\r\n<li>Use Big Cartel css editor to change theme colors</li>\r\n<li>Always backup before making changes</li>\r\n<li>Having trouble? WE CAN HELP.</li>\r\n</ul>\r\n</div>\r\n<div id=\"theme-name\" style=\"display:none\">jefferson</div>\r\n","price":2.0,"name":"Jefferson","url":"/product/jefferson","default_price":2.0,"id":4498227,"options":[{"has_custom_price":false,"price":2.0,"name":"Default","id":14741843}]},{"tax":0.0,"created_at":"2011-04-27T16:03:21-04:00","status":"sold-out","permalink":"sandals","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":20,"images":[{"height":350,"url":"http://cache0.bigcartel.com/product_images/35648260/shoes_ia72219.jpg","width":350},{"height":350,"url":"http://cache1.bigcartel.com/product_images/35648248/shoes_ia72205.jpg","width":350}],"on_sale":false,"description":"test\r\nXtra","price":68.99,"name":"Sandals","url":"/product/sandals","default_price":68.99,"id":3665334,"options":[{"has_custom_price":false,"price":68.99,"name":"Default","id":12282486}]},{"tax":0.0,"created_at":"2011-04-28T09:14:57-04:00","shipping":[{"amount_alone":123.0,"amount_with_others":23.0,"country":{"name":"Albania","code":"AL","id":47}},{"amount_alone":34.0,"amount_with_others":3.0,"country":{"name":"United States","code":"US","id":43}}],"status":"active","permalink":"slip-on-shoes","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450}],"position":21,"images":[{"height":350,"url":"http://cache1.bigcartel.com/product_images/35691356/shoes_id72485.jpg","width":350}],"on_sale":false,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ac tortor eget eros tempus vestibulum. Phasellus nulla purus, sollicitudin in mattis sed, fermentum a sapien. Integer pretium varius mauris vel viverra. Phasellus iaculis ligula eros, id malesuada nibh. Vivamus hendrerit molestie risus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. ","price":75.0,"name":"Slip on shoes","url":"/product/slip-on-shoes","default_price":75.0,"id":3669516,"options":[{"has_custom_price":false,"price":75.0,"name":"Small","id":12296714},{"has_custom_price":false,"price":75.0,"name":"Medium","id":12296716},{"has_custom_price":false,"price":75.0,"name":"Large","id":12296718}]},{"tax":0.0,"created_at":"2011-06-23T23:52:19-04:00","shipping":[{"amount_alone":10.0,"amount_with_others":5.0,"country":{"name":"United States","code":"US","id":43}}],"status":"active","permalink":"shoes-test","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450},{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452},{"permalink":"tees","name":"Tees","url":"/category/tees","id":2051456},{"permalink":"featured","name":"Featured","url":"/category/featured","id":2110310},{"permalink":"womens-tees","name":"Womens Tees","url":"/category/womens-tees","id":2190568}],"position":22,"images":[{"height":350,"url":"http://cache1.bigcartel.com/product_images/38808799/shoes_ia50939.jpg","width":350}],"on_sale":true,"description":"These eights are crazy about each other.","price":75.99,"name":"Shoes Test","url":"/product/shoes-test","default_price":75.99,"id":3980331,"options":[{"has_custom_price":false,"price":75.99,"name":"Small","id":13220145},{"has_custom_price":false,"price":75.99,"name":"Medium","id":13556623},{"has_custom_price":true,"price":80.0,"name":"Large","id":13556611}]},{"tax":0.0,"created_at":"2011-04-27T16:33:55-04:00","status":"sold-out","permalink":"tennis-shoes","artists":[],"categories":[{"permalink":"womens","name":"Womens","url":"/category/womens","id":2051452}],"position":23,"images":[{"height":350,"url":"http://cache0.bigcartel.com/product_images/35650292/shoes_ia73398.jpg","width":350}],"on_sale":false,"description":"","price":50.0,"name":"Tennis Shoes","url":"/product/tennis-shoes","default_price":50.0,"id":3665520,"options":[{"has_custom_price":false,"price":50.0,"name":"Default","id":12283222}]},{"tax":0.0,"created_at":"2011-04-27T16:02:38-04:00","status":"sold-out","permalink":"black-work-boots","artists":[],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450}],"position":24,"images":[{"height":350,"url":"http://cache0.bigcartel.com/product_images/35648172/shoes_ia50940.jpg","width":350},{"height":350,"url":"http://cache1.bigcartel.com/product_images/35648164/shoes_ia50939.jpg","width":350}],"on_sale":true,"description":"","price":99.99,"name":"Black Work Boots","url":"/product/black-work-boots","default_price":99.99,"id":3665326,"options":[{"has_custom_price":false,"price":99.99,"name":"Default","id":12282468}]},{"tax":0.0,"created_at":"2011-04-27T15:30:45-04:00","status":"active","permalink":"work-boots","artists":[{"permalink":"abc","name":"ABC","url":"/artist/abc","id":62298}],"categories":[{"permalink":"mens","name":"Mens","url":"/category/mens","id":2051450}],"position":25,"images":[{"height":350,"url":"http://cache1.bigcartel.com/product_images/35646324/shoes_ia50939.jpg","width":350}],"on_sale":true,"description":"","price":79.99,"name":"Work Boots With a really long title","url":"/product/work-boots","default_price":79.99,"id":3665130,"options":[{"has_custom_price":false,"price":79.99,"name":"Small","id":12281716},{"has_custom_price":false,"price":79.99,"name":"Medium","id":12281718},{"has_custom_price":true,"price":99.99,"name":"Large","id":12281720}]}]
@@ -0,0 +1 @@
1
+ {"country":{"code":"US","name":"United States","id":43},"pages":[{"permalink":"about","name":"About Us"},{"permalink":"on-sale","name":"On Sale"},{"permalink":"new-arrivals","name":"New Arrivals"},{"permalink":"help","name":"Help"},{"permalink":"terms-and-conditions","name":"Terms and Conditions"},{"permalink":"privacy-policy","name":"Privacy Policy"}],"url":"http://park.bigcartel.com","artists":[{"url":"/artist/abc","permalink":"abc","name":"ABC","id":62298},{"url":"/artist/brand-x","permalink":"brand-x","name":"Brand X","id":64770}],"currency":{"code":"USD","sign":"$","name":"U.S. Dollar","id":1},"categories":[{"url":"/category/mens","permalink":"mens","name":"Mens","id":2051450},{"url":"/category/womens","permalink":"womens","name":"Womens","id":2051452},{"url":"/category/tees","permalink":"tees","name":"Tees","id":2051456},{"url":"/category/featured","permalink":"featured","name":"Featured","id":2110310},{"url":"/category/womens-tees","permalink":"womens-tees","name":"Womens Tees","id":2190568},{"url":"/category/lorem-ipso","permalink":"lorem-ipso","name":"lorem Ipso","id":2213609},{"url":"/category/39-alorld-asd","permalink":"39-alorld-asd","name":"39 alOrld asd","id":2213611},{"url":"/category/23f-alorem","permalink":"23f-alorem","name":"23f aLorem","id":2213613},{"url":"/category/ipsum-lorem","permalink":"ipsum-lorem","name":"Ipsum Lorem","id":2213615},{"url":"/category/accessories","permalink":"accessories","name":"Accessories","id":2213617},{"url":"/category/3-products-across","permalink":"3-products-across","name":"3 products across","id":2464615}],"products_count":25,"website":"http://tonkapark.com","name":"Tonka Park Dev","description":"A short description about our shop goes here."}
@@ -1,15 +1,13 @@
1
- $:.unshift(File.expand_path('../../lib', __FILE__))
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
-
6
- Bundler.require(:default, :development)
7
-
8
- require 'bigcartel'
9
-
10
- Rspec.configure do |config|
11
-
12
- config.before(:each) do
13
-
14
- end
1
+ require File.expand_path('../../lib/bigcartel', __FILE__)
2
+ require 'rubygems'
3
+ require 'rspec'
4
+ require 'webmock/rspec'
5
+
6
+
7
+ def fixture_path
8
+ File.expand_path("../fixtures", __FILE__)
9
+ end
10
+
11
+ def fixture(file)
12
+ File.new(fixture_path + '/' + file)
15
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bigcartel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,40 +9,52 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-29 00:00:00.000000000 Z
12
+ date: 2011-11-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: !ruby/object:Gem::Requirement
15
+ name: httparty
16
+ requirement: &9294036 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '2.3'
22
- type: :development
21
+ version: 0.8.1
22
+ type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
24
+ version_requirements: *9294036
25
+ - !ruby/object:Gem::Dependency
26
+ name: hashie
27
+ requirement: &9291600 !ruby/object:Gem::Requirement
25
28
  none: false
26
29
  requirements:
27
30
  - - ~>
28
31
  - !ruby/object:Gem::Version
29
- version: '2.3'
32
+ version: 1.2.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *9291600
30
36
  - !ruby/object:Gem::Dependency
31
- name: httparty
32
- requirement: !ruby/object:Gem::Requirement
37
+ name: rspec
38
+ requirement: &9291360 !ruby/object:Gem::Requirement
33
39
  none: false
34
40
  requirements:
35
- - - ~>
41
+ - - ! '>='
36
42
  - !ruby/object:Gem::Version
37
- version: 0.7.3
38
- type: :runtime
43
+ version: '0'
44
+ type: :development
39
45
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
46
+ version_requirements: *9291360
47
+ - !ruby/object:Gem::Dependency
48
+ name: webmock
49
+ requirement: &9291048 !ruby/object:Gem::Requirement
41
50
  none: false
42
51
  requirements:
43
- - - ~>
52
+ - - ! '>='
44
53
  - !ruby/object:Gem::Version
45
- version: 0.7.3
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *9291048
46
58
  description: A Ruby wrapper for the Big Cartel External REST API
47
59
  email:
48
60
  - matt@tonkapark.com
@@ -51,15 +63,20 @@ extensions: []
51
63
  extra_rdoc_files: []
52
64
  files:
53
65
  - .gitignore
66
+ - .travis.yml
54
67
  - Gemfile
55
68
  - README.mkd
56
69
  - Rakefile
57
70
  - bigcartel.gemspec
58
71
  - lib/bigcartel.rb
72
+ - lib/bigcartel/client.rb
59
73
  - lib/bigcartel/version.rb
60
74
  - spec/bigcartel_spec.rb
75
+ - spec/fixtures/page.json
76
+ - spec/fixtures/products.json
77
+ - spec/fixtures/store.json
61
78
  - spec/helper.rb
62
- homepage: ''
79
+ homepage: http://tonkapark.com
63
80
  licenses: []
64
81
  post_install_message:
65
82
  rdoc_options: []
@@ -79,10 +96,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
96
  version: '0'
80
97
  requirements: []
81
98
  rubyforge_project: bigcartel
82
- rubygems_version: 1.8.25
99
+ rubygems_version: 1.8.9
83
100
  signing_key:
84
101
  specification_version: 3
85
102
  summary: Ruby wrapper for the Big Cartel API
86
- test_files:
87
- - spec/bigcartel_spec.rb
88
- - spec/helper.rb
103
+ test_files: []