shopify_app 7.0.11 → 7.1.0
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 +4 -4
- data/.travis.yml +7 -1
- data/{CHANGELOG → CHANGELOG.md} +12 -2
- data/Gemfile.ruby22 +6 -0
- data/Gemfile.ruby22.rails50 +9 -0
- data/README.md +74 -38
- data/app/controllers/shopify_app/authenticated_controller.rb +1 -0
- data/app/views/shopify_app/sessions/new.html.erb +4 -3
- data/lib/generators/shopify_app/app_proxy_controller/app_proxy_controller_generator.rb +25 -0
- data/lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_controller.rb +8 -0
- data/lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_route.rb +10 -0
- data/lib/generators/shopify_app/app_proxy_controller/templates/index.html.erb +19 -0
- data/lib/generators/shopify_app/install/install_generator.rb +2 -8
- data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +3 -3
- data/lib/generators/shopify_app/install/templates/shopify_app.rb +3 -0
- data/lib/shopify_app/app_proxy_verification.rb +6 -1
- data/lib/shopify_app/configuration.rb +13 -0
- data/lib/shopify_app/scripttags_manager_job.rb +5 -0
- data/lib/shopify_app/sessions_concern.rb +4 -0
- data/lib/shopify_app/version.rb +1 -1
- data/lib/shopify_app/webhook_verification.rb +6 -2
- data/lib/shopify_app/webhooks_manager_job.rb +5 -0
- data/shopify_app.gemspec +1 -1
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95666ea2f773fc1abdccd1dd9fbe7b9a2d52763e
|
4
|
+
data.tar.gz: 997acff43235b5ab32e218f78754f0600c1ab88e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41a95e72af79a9128c34f740294eb49901342ff179a1651332712ac151ece83b2b20ea84fd87861eb681ee8b0b627212abc3c57c8795b8f7618ade804f6a72a1
|
7
|
+
data.tar.gz: d5d05dc80096af9ed3d3219ea7ddd8547aef315885eff4b81f51b01b6c2fbcb18356131223a98100dc511ae6245a8a6d9736dbf0a86c0506cf7b7fda8879912a
|
data/.travis.yml
CHANGED
data/{CHANGELOG → CHANGELOG.md}
RENAMED
@@ -1,9 +1,19 @@
|
|
1
|
+
7.1.0
|
2
|
+
-----
|
3
|
+
* Update login page copy
|
4
|
+
* Add application_name configuration option
|
5
|
+
* Add new optional App Proxy Controller Generator to the Engine. Refer README for details.
|
6
|
+
* Include ShopifyApp::LoginProtection in Authenticated and Session Controller directly instead of Application Controller.
|
7
|
+
* Loosen ShopifyAPI dependency requirements to `>= 4.2.2` and allow ShopifyAPI 4.3.0 and above.
|
8
|
+
* Move application.js to inside HEAD in Embedded App Template.
|
9
|
+
* Add ability to override the ActiveJob queue names in initializer file.
|
10
|
+
|
1
11
|
7.0.11
|
2
12
|
------
|
3
13
|
* Pass configured resources (like webhooks or scripttags) into the job rather than reading the config again. This allows for dynamically setting ShopifyApp config in a web request and having the job handle it correctly. This change does not affect the usage of webhooks or scripttags
|
4
14
|
|
5
15
|
7.0.10
|
6
|
-
|
16
|
+
------
|
7
17
|
* Loosen Rails dependency requirements to `>= 4.2.6` and allow Rails 5.0
|
8
18
|
* Add support for App Proxies
|
9
19
|
|
@@ -25,7 +35,7 @@
|
|
25
35
|
7.0.3
|
26
36
|
-----
|
27
37
|
|
28
|
-
* Bump required Rails version to
|
38
|
+
* Bump required Rails version to `>= 4.2.6` since we are now using `ActiveSupport::SecurityUtils:Module`
|
29
39
|
|
30
40
|
7.0.2
|
31
41
|
-----
|
data/Gemfile.ruby22
ADDED
data/README.md
CHANGED
@@ -1,9 +1,42 @@
|
|
1
|
-
Shopify App
|
1
|
+
Shopify App
|
2
2
|
===========
|
3
|
+
[![Version][gem]][gem_url] [](https://travis-ci.org/Shopify/shopify_app)
|
4
|
+
|
5
|
+
[gem]: https://img.shields.io/gem/v/shopify_app.svg
|
6
|
+
[gem_url]: https://rubygems.org/gems/shopify_app
|
7
|
+
|
3
8
|
|
4
9
|
Shopify Application Rails engine and generator
|
5
10
|
|
6
11
|
|
12
|
+
Table of Contents
|
13
|
+
-----------------
|
14
|
+
* [**Description**](#description)
|
15
|
+
* [**Quickstart**](#quickstart)
|
16
|
+
* [**Becoming a Shopify App Developer**](#becoming-a-shopify-app-developer)
|
17
|
+
* [**Installation**](#installation)
|
18
|
+
* [Rails 5](#rails-5)
|
19
|
+
* [**Generators**](#generators)
|
20
|
+
* [Default Generator](#default-generator)
|
21
|
+
* [Install Generator](#install-generator)
|
22
|
+
* [Shop Model Generator](#shop-model-generator)
|
23
|
+
* [Home Controller Generator](#home-controller-generator)
|
24
|
+
* [App Proxy Controller Generator](#app-proxy-controller-generator)
|
25
|
+
* [Controllers, Routes and Views](#controllers-routes-and-views)
|
26
|
+
* [**Managing Api Keys**](#managing-api-keys)
|
27
|
+
* [**WebhooksManager**](#webhooksmanager)
|
28
|
+
* [**ScripttagsManager**](#scripttagsmanager)
|
29
|
+
* [**ShopifyApp::SessionRepository**](#shopifyappsessionrepository)
|
30
|
+
* [**AuthenticatedController**](#authenticatedcontroller)
|
31
|
+
* [**AppProxyVerification**](#appproxyverification)
|
32
|
+
* [Recommended Usage](#recommended-usage)
|
33
|
+
* [**Troubleshooting**](#troubleshooting)
|
34
|
+
* [Generator shopify_app:install hangs](#generator-shopify_appinstall-hangs)
|
35
|
+
* [**Testing an embedded app outside the Shopify admin**](#testing-an-embedded-app-outside-the-shopify-admin)
|
36
|
+
* [**App Tunneling**](#app-tunneling)
|
37
|
+
* [**Questions or problems?**](#questions-or-problems)
|
38
|
+
|
39
|
+
|
7
40
|
Description
|
8
41
|
-----------
|
9
42
|
This gem includes a Rails Engine and generators for writing Rails applications using the Shopify API. The Engine provides a SessionsController and all the required code for authenticating with a shop via Oauth (other authentication methods are not supported).
|
@@ -60,6 +93,16 @@ $ bundle install
|
|
60
93
|
Now we are ready to run any of the shopify_app generators. The following section explains the generators and what they can do.
|
61
94
|
|
62
95
|
|
96
|
+
#### Rails 5
|
97
|
+
|
98
|
+
shopify_app is compatible with Rails 5 but since the latest ActiveResource release (4.1) is locked on Rails 4.x, you'll need to use the unreleased master version:
|
99
|
+
|
100
|
+
```ruby
|
101
|
+
gem 'shopify_app'
|
102
|
+
gem 'activeresource', github: 'rails/activeresource'
|
103
|
+
```
|
104
|
+
|
105
|
+
|
63
106
|
Generators
|
64
107
|
----------
|
65
108
|
|
@@ -83,6 +126,7 @@ $ rails generate shopify_app:install --api_key <your_api_key> --secret <your_app
|
|
83
126
|
```
|
84
127
|
|
85
128
|
Other options include:
|
129
|
+
* `application_name` - the name of your app
|
86
130
|
* `scope` - the Oauth access scope required for your app, eg 'read_products, write_orders'. For more information read the [docs](http://docs.shopify.com/api/tutorials/oauth)
|
87
131
|
* `embedded` - the default is to generate an [embedded app](http://docs.shopify.com/embedded-app-sdk), if you want a legacy non-embedded app then set this to false, `--embedded false`
|
88
132
|
|
@@ -113,6 +157,15 @@ $ rails generate shopify_app:home_controller
|
|
113
157
|
This generator creates an example home controller and view which fetches and displays products using the ShopifyAPI
|
114
158
|
|
115
159
|
|
160
|
+
### App Proxy Controller Generator
|
161
|
+
|
162
|
+
```sh
|
163
|
+
$ rails generate shopify_app:app_proxy_controller
|
164
|
+
```
|
165
|
+
|
166
|
+
This optional generator, not included with the default generator, creates the app proxy controller to handle proxy requests to the app from your shop storefront, modifies 'config/routes.rb' with a namespace route, and an example view which displays current shop information using the LiquidAPI
|
167
|
+
|
168
|
+
|
116
169
|
### Controllers, Routes and Views
|
117
170
|
|
118
171
|
The last group of generators are for your convenience if you want to start overriding code included as part of the Rails engine. For example by default the engine provides a simple SessionController, if you run the `rails generate shopify_app:controllers` generator then this code gets copied out into your app so you can start adding to it. Routes and views follow the exact same pattern.
|
@@ -125,6 +178,7 @@ The `install` generator places your Api credentials directly into the shopify_ap
|
|
125
178
|
|
126
179
|
```ruby
|
127
180
|
ShopifyApp.configure do |config|
|
181
|
+
config.application_name = 'Your app name' # Optional
|
128
182
|
config.api_key = ENV['SHOPIFY_CLIENT_API_KEY']
|
129
183
|
config.secret = ENV['SHOPIFY_CLIENT_API_SECRET']
|
130
184
|
config.scope = 'read_customers, read_orders, write_products'
|
@@ -209,43 +263,18 @@ The engine provides a mixin for verifying incoming HTTP requests sent via an App
|
|
209
263
|
|
210
264
|
### Recommended Usage
|
211
265
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
resources :reviews
|
225
|
-
# GET /app_proxy/reviews will now be routed to
|
226
|
-
# AppProxy::ReviewsController#index, for example
|
227
|
-
end
|
228
|
-
```
|
229
|
-
|
230
|
-
2. `include` the mixin in your app proxy controllers
|
231
|
-
```ruby
|
232
|
-
# app/controllers/app_proxy_controller.rb
|
233
|
-
class AppProxyController < ApplicationController
|
234
|
-
include ShopifyApp::AppProxyVerification
|
235
|
-
|
236
|
-
def basic
|
237
|
-
render text: 'Signature verification passed!'
|
238
|
-
end
|
239
|
-
end
|
240
|
-
|
241
|
-
# app/controllers/app_proxy/reviews_controller.rb
|
242
|
-
class ReviewsController < ApplicationController
|
243
|
-
include ShopifyApp::AppProxyVerification
|
244
|
-
# ...
|
245
|
-
end
|
246
|
-
```
|
247
|
-
|
248
|
-
3. Create your app proxy url in the [Shopify Partners' Dashboard](https://app.shopify.com/services/partners/api_clients), making sure to point it to `https://your_app_website.com/app_proxy`.
|
266
|
+
The App Proxy Controller Generator automatically adds the mixin to the generated app_proxy_controller.rb
|
267
|
+
Additional controllers for resources within the App_Proxy namespace, will need to include the mixin like so:
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
# app/controllers/app_proxy/reviews_controller.rb
|
271
|
+
class ReviewsController < ApplicationController
|
272
|
+
include ShopifyApp::AppProxyVerification
|
273
|
+
# ...
|
274
|
+
end
|
275
|
+
```
|
276
|
+
|
277
|
+
Create your app proxy url in the [Shopify Partners' Dashboard](https://app.shopify.com/services/partners/api_clients), making sure to point it to `https://your_app_website.com/app_proxy`.
|
249
278
|

|
250
279
|
|
251
280
|
Troubleshooting
|
@@ -270,6 +299,13 @@ By default, loading your embedded app will redirect to the Shopify admin, with t
|
|
270
299
|
forceRedirect: <%= Rails.env.development? || Rails.env.test? ? 'false' : 'true' %>
|
271
300
|
```
|
272
301
|
|
302
|
+
App Tunneling
|
303
|
+
-------------
|
304
|
+
|
305
|
+
For certain features like Application Proxy or Webhooks to receive requests from Shopify, your app needs to be on a publicly visible URL. This can be a hurdle during development or testing on a local machine. Fortunately, this can be overcome by employing a tunneling service like [Forward](https://forwardhq.com/), [RequestBin](requestb.in/), [ngrok](https://ngrok.com/) etc. These tools allow you to create a secure tunnel from the public Internet to your local machine.
|
306
|
+
|
307
|
+
Tunneling is also useful for working the the embedded app sdk to solve mixed content issues since most tunnles provide ssl.
|
308
|
+
|
273
309
|
Questions or problems?
|
274
310
|
----------------------
|
275
311
|
http://api.shopify.com <= Read up on the possible API calls!
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module ShopifyApp
|
2
2
|
class AuthenticatedController < ApplicationController
|
3
|
+
include ShopifyApp::LoginProtection
|
3
4
|
before_action :login_again_if_different_shop
|
4
5
|
around_action :shopify_session
|
5
6
|
layout ShopifyApp.configuration.embedded_app? ? 'embedded_app' : 'application'
|
@@ -76,15 +76,16 @@
|
|
76
76
|
|
77
77
|
<main class="container" role="main">
|
78
78
|
<header>
|
79
|
-
|
79
|
+
<% application_name = ShopifyApp.configuration.application_name %>
|
80
|
+
<h1><%= application_name.presence || 'Shopify App – Installation' %></h1>
|
80
81
|
<p class="subhead">
|
81
|
-
<label for="shop">
|
82
|
+
<label for="shop">Enter your shop domain to log in or install this app.</label>
|
82
83
|
</p>
|
83
84
|
</header>
|
84
85
|
|
85
86
|
<div class="container__form">
|
86
87
|
<form method="GET" action="login">
|
87
|
-
<input type="text" name="shop" id="shop" placeholder="
|
88
|
+
<input type="text" name="shop" id="shop" placeholder="example.myshopify.com"/>
|
88
89
|
<button type="submit">Install</button>
|
89
90
|
</form>
|
90
91
|
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module ShopifyApp
|
4
|
+
module Generators
|
5
|
+
class AppProxyControllerGenerator < Rails::Generators::Base
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
7
|
+
|
8
|
+
def create_app_proxy_controller
|
9
|
+
template 'app_proxy_controller.rb', 'app/controllers/app_proxy_controller.rb'
|
10
|
+
end
|
11
|
+
|
12
|
+
def create_app_proxy_index_view
|
13
|
+
copy_file 'index.html.erb', 'app/views/app_proxy/index.html.erb'
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_app_proxy_route
|
17
|
+
inject_into_file(
|
18
|
+
'config/routes.rb',
|
19
|
+
File.read(File.expand_path(find_in_source_paths('app_proxy_route.rb'))),
|
20
|
+
after: "mount ShopifyApp::Engine, at: '/'\n"
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
namespace :app_proxy do
|
3
|
+
root action: 'index'
|
4
|
+
# simple routes without a specified controller will go to AppProxyController
|
5
|
+
|
6
|
+
# more complex routes will go to controllers in the AppProxy namespace
|
7
|
+
# resources :reviews
|
8
|
+
# GET /app_proxy/reviews will now be routed to
|
9
|
+
# AppProxy::ReviewsController#index, for example
|
10
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h2>App Proxy Page</h2>
|
2
|
+
|
3
|
+
<p>Congratulations! You have successfully configured App Proxy for your shopify application.</p>
|
4
|
+
<p>Any valid liquid code included in this page will be parsed and rendered by Shopify.</p>
|
5
|
+
|
6
|
+
<br>
|
7
|
+
|
8
|
+
<pre>
|
9
|
+
Your Shop Details:
|
10
|
+
<hr>
|
11
|
+
Shop Name : {{ shop.name }}
|
12
|
+
myshopify name : {{ shop.permanent_domain }}
|
13
|
+
Primary Domain of Shop : {{ shop.domain }}
|
14
|
+
Shop URL : {{ shop.url }}
|
15
|
+
Shop Currency : {{ shop.currency }}
|
16
|
+
No. of products in this shop : {{ shop.products_count }}
|
17
|
+
<br>
|
18
|
+
<hr>
|
19
|
+
</pre>
|
@@ -7,12 +7,14 @@ module ShopifyApp
|
|
7
7
|
include Rails::Generators::Migration
|
8
8
|
source_root File.expand_path('../templates', __FILE__)
|
9
9
|
|
10
|
+
class_option :application_name, type: :string
|
10
11
|
class_option :api_key, type: :string, default: '<api_key>'
|
11
12
|
class_option :secret, type: :string, default: '<secret>'
|
12
13
|
class_option :scope, type: :string, default: 'read_orders, read_products'
|
13
14
|
class_option :embedded, type: :string, default: 'true'
|
14
15
|
|
15
16
|
def create_shopify_app_initializer
|
17
|
+
@application_name = options['application_name']
|
16
18
|
@api_key = options['api_key']
|
17
19
|
@secret = options['secret']
|
18
20
|
@scope = options['scope']
|
@@ -43,14 +45,6 @@ module ShopifyApp
|
|
43
45
|
end
|
44
46
|
end
|
45
47
|
|
46
|
-
def inject_into_application_controller
|
47
|
-
inject_into_class(
|
48
|
-
"app/controllers/application_controller.rb",
|
49
|
-
'ApplicationController',
|
50
|
-
" include ShopifyApp::LoginProtection\n"
|
51
|
-
)
|
52
|
-
end
|
53
|
-
|
54
48
|
def create_embedded_app_layout
|
55
49
|
if embedded_app?
|
56
50
|
copy_file 'embedded_app.html.erb', 'app/views/layouts/embedded_app.html.erb'
|
@@ -2,8 +2,10 @@
|
|
2
2
|
<html lang="en">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
|
-
|
5
|
+
<% application_name = ShopifyApp.configuration.application_name %>
|
6
|
+
<title><%= application_name.presence || 'Embedded Shopify App Example' %></title>
|
6
7
|
<%= stylesheet_link_tag 'application' %>
|
8
|
+
<%= javascript_include_tag 'application', "data-turbolinks-track" => true %>
|
7
9
|
<%= csrf_meta_tags %>
|
8
10
|
</head>
|
9
11
|
|
@@ -29,8 +31,6 @@
|
|
29
31
|
});
|
30
32
|
</script>
|
31
33
|
|
32
|
-
<%= javascript_include_tag 'application', "data-turbolinks-track" => true %>
|
33
|
-
|
34
34
|
<% if content_for?(:javascript) %>
|
35
35
|
<div id="ContentForJavascript" data-turbolinks-temporary>
|
36
36
|
<%= yield :javascript %>
|
@@ -3,7 +3,12 @@ module ShopifyApp
|
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
|
5
5
|
included do
|
6
|
-
|
6
|
+
if Rails.version >= '5.0'
|
7
|
+
skip_before_action :verify_authenticity_token, raise: false
|
8
|
+
else
|
9
|
+
skip_before_action :verify_authenticity_token
|
10
|
+
end
|
11
|
+
|
7
12
|
before_action :verify_proxy_request
|
8
13
|
end
|
9
14
|
|
@@ -4,6 +4,7 @@ module ShopifyApp
|
|
4
4
|
# Shopify App settings. These values should match the configuration
|
5
5
|
# for the app in your Shopify Partners page. Change your settings in
|
6
6
|
# `config/initializers/shopify_app.rb`
|
7
|
+
attr_accessor :application_name
|
7
8
|
attr_accessor :api_key
|
8
9
|
attr_accessor :secret
|
9
10
|
attr_accessor :scope
|
@@ -12,6 +13,10 @@ module ShopifyApp
|
|
12
13
|
attr_accessor :webhooks
|
13
14
|
attr_accessor :scripttags
|
14
15
|
|
16
|
+
# customise ActiveJob queue names
|
17
|
+
attr_accessor :scripttags_manager_queue_name
|
18
|
+
attr_accessor :webhooks_manager_queue_name
|
19
|
+
|
15
20
|
# configure myshopify domain for local shopify development
|
16
21
|
attr_accessor :myshopify_domain
|
17
22
|
|
@@ -26,6 +31,14 @@ module ShopifyApp
|
|
26
31
|
def has_scripttags?
|
27
32
|
scripttags.present?
|
28
33
|
end
|
34
|
+
|
35
|
+
def scripttags_manager_queue_name
|
36
|
+
@scripttags_manager_queue_name ||= Rails.application.config.active_job.queue_name
|
37
|
+
end
|
38
|
+
|
39
|
+
def webhooks_manager_queue_name
|
40
|
+
@webhooks_manager_queue_name ||= Rails.application.config.active_job.queue_name
|
41
|
+
end
|
29
42
|
end
|
30
43
|
|
31
44
|
def self.configuration
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module ShopifyApp
|
2
2
|
class ScripttagsManagerJob < ActiveJob::Base
|
3
|
+
|
4
|
+
queue_as do
|
5
|
+
ShopifyApp.configuration.webhooks_manager_queue_name
|
6
|
+
end
|
7
|
+
|
3
8
|
def perform(shop_domain:, shop_token:, scripttags:)
|
4
9
|
ShopifyAPI::Session.temp(shop_domain, shop_token) do
|
5
10
|
manager = ScripttagsManager.new(scripttags)
|
data/lib/shopify_app/version.rb
CHANGED
@@ -3,7 +3,12 @@ module ShopifyApp
|
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
|
5
5
|
included do
|
6
|
-
|
6
|
+
if Rails.version >= '5.0'
|
7
|
+
skip_before_action :verify_authenticity_token, raise: false
|
8
|
+
else
|
9
|
+
skip_before_action :verify_authenticity_token
|
10
|
+
end
|
11
|
+
|
7
12
|
before_action :verify_request
|
8
13
|
end
|
9
14
|
|
@@ -30,6 +35,5 @@ module ShopifyApp
|
|
30
35
|
def shopify_hmac
|
31
36
|
request.headers['HTTP_X_SHOPIFY_HMAC_SHA256']
|
32
37
|
end
|
33
|
-
|
34
38
|
end
|
35
39
|
end
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module ShopifyApp
|
2
2
|
class WebhooksManagerJob < ActiveJob::Base
|
3
|
+
|
4
|
+
queue_as do
|
5
|
+
ShopifyApp.configuration.webhooks_manager_queue_name
|
6
|
+
end
|
7
|
+
|
3
8
|
def perform(shop_domain:, shop_token:, webhooks:)
|
4
9
|
ShopifyAPI::Session.temp(shop_domain, shop_token) do
|
5
10
|
manager = WebhooksManager.new(webhooks)
|
data/shopify_app.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.required_ruby_version = ">= 2.2.4"
|
12
12
|
|
13
13
|
s.add_runtime_dependency('rails', '>= 4.2.6')
|
14
|
-
s.add_runtime_dependency('shopify_api', '
|
14
|
+
s.add_runtime_dependency('shopify_api', '>= 4.2.2')
|
15
15
|
s.add_runtime_dependency('omniauth-shopify-oauth2', '~> 1.1.11')
|
16
16
|
|
17
17
|
s.add_development_dependency('rake')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopify_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: shopify_api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 4.2.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 4.2.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -130,9 +130,11 @@ extra_rdoc_files: []
|
|
130
130
|
files:
|
131
131
|
- ".gitignore"
|
132
132
|
- ".travis.yml"
|
133
|
-
- CHANGELOG
|
133
|
+
- CHANGELOG.md
|
134
134
|
- Gemfile
|
135
135
|
- Gemfile.rails50
|
136
|
+
- Gemfile.ruby22
|
137
|
+
- Gemfile.ruby22.rails50
|
136
138
|
- ISSUE_TEMPLATE.md
|
137
139
|
- LICENSE
|
138
140
|
- QUICKSTART.md
|
@@ -149,6 +151,10 @@ files:
|
|
149
151
|
- images/app-proxy-screenshot.png
|
150
152
|
- lib/generators/shopify_app/add_webhook/add_webhook_generator.rb
|
151
153
|
- lib/generators/shopify_app/add_webhook/templates/webhook_job.rb
|
154
|
+
- lib/generators/shopify_app/app_proxy_controller/app_proxy_controller_generator.rb
|
155
|
+
- lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_controller.rb
|
156
|
+
- lib/generators/shopify_app/app_proxy_controller/templates/app_proxy_route.rb
|
157
|
+
- lib/generators/shopify_app/app_proxy_controller/templates/index.html.erb
|
152
158
|
- lib/generators/shopify_app/controllers/controllers_generator.rb
|
153
159
|
- lib/generators/shopify_app/home_controller/home_controller_generator.rb
|
154
160
|
- lib/generators/shopify_app/home_controller/templates/home_controller.rb
|
@@ -208,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
214
|
version: '0'
|
209
215
|
requirements: []
|
210
216
|
rubyforge_project:
|
211
|
-
rubygems_version: 2.
|
217
|
+
rubygems_version: 2.5.1
|
212
218
|
signing_key:
|
213
219
|
specification_version: 4
|
214
220
|
summary: This gem is used to get quickly started with the Shopify API
|