shopify_app 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b63a99a31c373bfa53cba58497efffb6dcd68cd
4
- data.tar.gz: 13a5639e78cc51a29c668f5fb15ebf9e48fa1c92
3
+ metadata.gz: 4074fe532a9c1606f958f24ce1c9ef8f07c58fb7
4
+ data.tar.gz: 8d9832af0f7999c33225fb4d2e1c83c151bff70e
5
5
  SHA512:
6
- metadata.gz: b200f8785a3b3a1ec14a0f295339b812ab86dd968307ac6cd1cf1982e38ea82830b24cda724f55708e95d6662375c7669aaa80a68793dc78b3211c353b4fc796
7
- data.tar.gz: 7403b965254769f35af83b07a74602b7ea7ce7483f8f9d1aaf183dc7f1919af370e86e8e355dee4918a0e12efe8c7a562e80e9571dda2a33cd70de63c827b9b5
6
+ metadata.gz: 00c8fffe2c5f445fe0ef959b62156d032bae66260df5704fb2fdbc566f853475f5a4f66d848733cb1233ce3c82e8e5898a997da350014bbb08716544e1ffb50e
7
+ data.tar.gz: a0178aeb4ac85acfd59d44d763a67de03ace96a0e426000b772db29f8f4c1e12ff3de68aac7fade16c715d335bddbdae298d7d8e76e91701ca1a8e7350d86268
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -11,21 +11,21 @@
11
11
 
12
12
  <div class="row">
13
13
  <div class="span3">
14
- <div class="well">
14
+ <div class="well">
15
15
  <h3>Check out the <code>home_controller</code></h3>
16
16
  <hr style="margin:2px 0 7px"/>
17
17
  <p>The controller in this demo application fetches the newest 5 orders and products and makes them available as instance variables <code>@orders</code> and <code>@products</code></p>
18
-
18
+
19
19
  <br/>
20
-
20
+
21
21
  <h3>Take a look at <code>index.html.erb</code></h3>
22
22
  <hr style="margin:2px 0 7px"/>
23
23
  <p>Index is the Ruby template you are currently viewing. Have a look at the markup and Ruby code to see how the Shopify API is being used. It's located at <code>views/home/index.html.erb</code></p>
24
24
  </div>
25
-
25
+
26
26
  <h3>Additional Docs</h3>
27
27
  <p>You can become an expert pretty quickly by reading up on these docs:</p>
28
-
28
+
29
29
  <ul>
30
30
  <li>
31
31
  <%= link_to 'API documentation', 'http://docs.shopify.com/api' %>
@@ -44,15 +44,15 @@
44
44
  <span class="note">Ask questions and see what others already wanted to know</span>
45
45
  </li>
46
46
  </ul>
47
-
47
+
48
48
  <hr/>
49
-
49
+
50
50
  <h3>Once you're ready</h3>
51
-
51
+
52
52
  <p>We'd love to see what you create using the Shopify API. You can keep up to date on the latest and greatest via the <%= link_to 'Shopify Developers Twitter Account', 'https://twitter.com/shopifydevs' %>. You can also read the latest information on the <%= link_to 'Building a Shopify App', 'http://docs.shopify.com/partners/partner-resources/for-partners/building-a-shopify-app' %>.</p>
53
-
53
+
54
54
  <br/>
55
-
55
+
56
56
  <a href="https://twitter.com/shopifydevs" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ShopifyDevs</a>
57
57
  <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>
58
58
  </div> <!-- span3 / left-column -->
@@ -60,16 +60,16 @@
60
60
 
61
61
  <div class="span8 offset1">
62
62
  <h2>Recent orders</h2>
63
-
64
- <% if @orders.blank? %>
63
+
64
+ <% if @orders.none? %>
65
65
  <table class="table table-striped">
66
66
  <tr>
67
67
  <td><em>There are no orders in your store.</em></td>
68
68
  </tr>
69
69
  </table>
70
-
70
+
71
71
  <% else %>
72
-
72
+
73
73
  <table class="table table-striped">
74
74
  <thead>
75
75
  <tr>
@@ -99,43 +99,43 @@
99
99
  </tr>
100
100
  <% end %>
101
101
  </table>
102
-
102
+
103
103
  <% end %>
104
-
104
+
105
105
  <br/>
106
-
106
+
107
107
  <h2>New Products</h2>
108
-
109
- <div class="accordion" id="accordion">
110
-
111
- <% if @products.blank? %>
112
-
108
+
109
+ <div class="accordion" id="accordion">
110
+
111
+ <% if @products.none? %>
112
+
113
113
  <div class="accordion-group">
114
114
  <div class="accordion-heading">
115
115
  <em>There are no products in your store.</em>
116
116
  </div>
117
117
  </div>
118
-
118
+
119
119
  <% else %>
120
-
120
+
121
121
  <% @products.each_with_index do |product, index| %>
122
122
  <div class="accordion-group">
123
123
  <div class="accordion-heading">
124
-
124
+
125
125
  <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#<%= product.id %>">
126
126
  <%= product.title %> <span class="pull-right muted"><%= product.price_range %> <%= shop_session.shop.currency %></span>
127
127
  </a>
128
128
  </div>
129
-
129
+
130
130
  <div id="<%= product.id %>" class="accordion-body collapse <% if index == 1 %>in<% end %>">
131
131
  <div class="accordion-inner">
132
-
132
+
133
133
  <% if !product.images.empty? %>
134
134
  <div class="polaroid">
135
135
  <%= link_to image_tag(product.images.first.medium), '#modal-'+product.id.to_s, :'data-toggle' => 'modal' %>
136
136
  </div>
137
137
  <% end %>
138
-
138
+
139
139
  <p><strong>Type:</strong> <%= product.product_type %></p>
140
140
  <p><strong>Vendor:</strong> <%= product.vendor %></p>
141
141
  <p><%= raw(product.body_html) %></p><br/>
@@ -144,10 +144,10 @@
144
144
  <% end %>
145
145
  <p><%= link_to raw('View in your Shopify Admin <i class="icon-chevron-right" style="opacity:.25"></i>'), "https://#{shop_session.url}/admin/products/#{product.id}", :target => 'blank', :class => 'btn btn-primary' %></p>
146
146
  </div>
147
-
147
+
148
148
  </div>
149
149
  </div>
150
-
150
+
151
151
  <div class="modal hide fade" id="modal-<%= product.id %>" style="display:none;">
152
152
  <div class="modal-header">
153
153
  <a class="close" data-dismiss="modal">×</a>
@@ -160,9 +160,9 @@
160
160
  </div>
161
161
  </div>
162
162
  <% end %>
163
-
163
+
164
164
  <% end %>
165
-
165
+
166
166
  </div> <!-- accordion -->
167
167
  </div> <!-- span8 / right-column -->
168
168
  </div>
@@ -1,8 +1,9 @@
1
1
  # You should replace InMemorySessionStore with what you will be using
2
- # in Production
2
+ # in Production. For example a model called "Shop":
3
3
  #
4
- # Interface to implement are self.retrieve(id) and self.store(ShopifyAPI::Session)
4
+ # ShopifySessionRepository.storage = 'Shop'
5
5
  #
6
+ # Interface to implement are self.retrieve(id) and self.store(ShopifyAPI::Session)
6
7
  # Here is how you would add these functions to an ActiveRecord:
7
8
  #
8
9
  # class Shop < ActiveRecord::Base
@@ -1,5 +1,5 @@
1
1
  class ShopifyApp::Configuration
2
- VALID_KEYS = [:api_key, :secret]
2
+ VALID_KEYS = [:api_key, :secret, :myshopify_domain]
3
3
  attr_writer *VALID_KEYS
4
4
 
5
5
  def initialize(params={})
@@ -1,3 +1,3 @@
1
1
  module ShopifyApp
2
- VERSION = "5.0.1"
2
+ VERSION = "5.0.2"
3
3
  end
@@ -5,3 +5,4 @@ common:
5
5
  development:
6
6
  api_key: development key
7
7
  secret: development secret
8
+ myshopify_domain: myshopify.com
@@ -1,3 +1,4 @@
1
1
  common:
2
2
  api_key: api key from other file
3
3
  secret: secret from other file
4
+ myshopify_domain: example.com
@@ -1,3 +1,4 @@
1
1
  common:
2
2
  api_key: api key from default file
3
3
  secret: secret from default file
4
+ myshopify_domain: myshopify.com
@@ -14,6 +14,7 @@ class ConfigurationTest < Minitest::Test
14
14
  config = ShopifyApp::Configuration.new
15
15
  config.respond_to?(:api_key)
16
16
  config.respond_to?(:secret)
17
+ config.respond_to?(:myshopify_domain)
17
18
  end
18
19
 
19
20
  def test_defaults_to_empty_string
@@ -21,6 +22,7 @@ class ConfigurationTest < Minitest::Test
21
22
 
22
23
  assert_equal '', config.api_key
23
24
  assert_equal '', config.secret
25
+ assert_equal '', config.myshopify_domain
24
26
  end
25
27
 
26
28
  def test_environment_has_precedence_over_common
@@ -28,6 +30,7 @@ class ConfigurationTest < Minitest::Test
28
30
 
29
31
  assert_equal 'development key', config.api_key
30
32
  assert_equal 'development secret', config.secret
33
+ assert_equal 'myshopify.com', config.myshopify_domain
31
34
  end
32
35
 
33
36
  def test_rails_has_precedence_over_environment
@@ -35,44 +38,54 @@ class ConfigurationTest < Minitest::Test
35
38
 
36
39
  assert_equal 'development key', config.api_key
37
40
  assert_equal 'development secret', config.secret
41
+ assert_equal 'myshopify.com', config.myshopify_domain
38
42
 
39
43
  config.api_key = 'rails key'
40
44
  config.secret = 'rails secret'
45
+ config.myshopify_domain = 'example.com'
41
46
 
42
47
  assert_equal 'rails key', config.api_key
43
48
  assert_equal 'rails secret', config.secret
49
+ assert_equal 'example.com', config.myshopify_domain
44
50
  end
45
51
 
46
52
  def test_env_has_precedence_over_rails
47
53
  config = ShopifyApp::Configuration.new
48
54
  config.api_key = 'rails key'
49
55
  config.secret = 'rails secret'
56
+ config.myshopify_domain = 'myshopify.com'
50
57
 
51
58
  assert_equal 'rails key', config.api_key
52
59
  assert_equal 'rails secret', config.secret
60
+ assert_equal 'myshopify.com', config.myshopify_domain
53
61
 
54
62
  ENV.expects(:[]).with('SHOPIFY_APP_API_KEY').returns('env key')
55
63
  ENV.expects(:[]).with('SHOPIFY_APP_SECRET').returns('env secret')
64
+ ENV.expects(:[]).with('SHOPIFY_APP_MYSHOPIFY_DOMAIN').returns('example.com')
56
65
 
57
66
  assert_equal 'env key', config.api_key
58
67
  assert_equal 'env secret', config.secret
68
+ assert_equal 'example.com', config.myshopify_domain
59
69
  end
60
70
 
61
71
  def test_reads_config_from_default_config_file
62
72
  config = ShopifyApp::Configuration.new
63
73
  assert_equal 'api key from default file', config.api_key
64
74
  assert_equal 'secret from default file', config.secret
75
+ assert_equal 'myshopify.com', config.myshopify_domain
65
76
  end
66
77
 
67
78
  def test_reads_config_from_specified_config_file
68
79
  config = ShopifyApp::Configuration.new(config_file: config_file('other_config_file.yml'))
69
80
  assert_equal 'api key from other file', config.api_key
70
81
  assert_equal 'secret from other file', config.secret
82
+ assert_equal 'example.com', config.myshopify_domain
71
83
  end
72
84
 
73
85
  def test_handles_missing_config_file
74
86
  config = ShopifyApp::Configuration.new(config_file: config_file('missing_config_file.yml'))
75
87
  assert_equal '', config.api_key
76
88
  assert_equal '', config.secret
89
+ assert_equal '', config.myshopify_domain
77
90
  end
78
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.1
4
+ version: 5.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
@@ -30,7 +30,7 @@ cert_chain:
30
30
  fl3hbtVFTqbOlwL9vy1fudXcolIE/ZTcxQ+er07ZFZdKCXayR9PPs64heamfn0fp
31
31
  TConQSX2BnZdhIEYW+cKzEC/bLc=
32
32
  -----END CERTIFICATE-----
33
- date: 2014-12-19 00:00:00.000000000 Z
33
+ date: 2015-02-20 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: rails
metadata.gz.sig CHANGED
Binary file