disco_app 0.6.4

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.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +37 -0
  3. data/app/assets/images/disco_app/icon.svg +1 -0
  4. data/app/assets/javascripts/disco_app/components/shopify_admin_link.js.jsx +29 -0
  5. data/app/assets/javascripts/disco_app/components.js +5 -0
  6. data/app/assets/javascripts/disco_app/disco_app.js +7 -0
  7. data/app/assets/javascripts/disco_app/frame.js +152 -0
  8. data/app/assets/javascripts/disco_app/shopify-turbolinks.js +7 -0
  9. data/app/assets/stylesheets/disco_app/bootstrap/_custom.scss +54 -0
  10. data/app/assets/stylesheets/disco_app/bootstrap/_variables.scss +872 -0
  11. data/app/assets/stylesheets/disco_app/disco/_buttons.scss +31 -0
  12. data/app/assets/stylesheets/disco_app/disco/_cards.scss +51 -0
  13. data/app/assets/stylesheets/disco_app/disco/_forms.scss +23 -0
  14. data/app/assets/stylesheets/disco_app/disco/_grid.scss +58 -0
  15. data/app/assets/stylesheets/disco_app/disco/_sections.scss +61 -0
  16. data/app/assets/stylesheets/disco_app/disco/_tables.scss +51 -0
  17. data/app/assets/stylesheets/disco_app/disco/_tabs.scss +61 -0
  18. data/app/assets/stylesheets/disco_app/disco/_type.scss +21 -0
  19. data/app/assets/stylesheets/disco_app/disco/mixins/_flexbox.scss +394 -0
  20. data/app/assets/stylesheets/disco_app/disco_app.scss +16 -0
  21. data/app/assets/stylesheets/disco_app/frame/_buttons.scss +54 -0
  22. data/app/assets/stylesheets/disco_app/frame/_forms.scss +26 -0
  23. data/app/assets/stylesheets/disco_app/frame/_layout.scss +77 -0
  24. data/app/assets/stylesheets/disco_app/frame/_type.scss +32 -0
  25. data/app/assets/stylesheets/disco_app/frame.scss +9 -0
  26. data/app/controllers/disco_app/app_proxy_controller.rb +41 -0
  27. data/app/controllers/disco_app/authenticated_controller.rb +44 -0
  28. data/app/controllers/disco_app/carrier_request_controller.rb +28 -0
  29. data/app/controllers/disco_app/charges_controller.rb +30 -0
  30. data/app/controllers/disco_app/frame_controller.rb +9 -0
  31. data/app/controllers/disco_app/install_controller.rb +26 -0
  32. data/app/controllers/disco_app/webhooks_controller.rb +42 -0
  33. data/app/helpers/disco_app/application_helper.rb +14 -0
  34. data/app/jobs/disco_app/app_installed_job.rb +3 -0
  35. data/app/jobs/disco_app/app_uninstalled_job.rb +3 -0
  36. data/app/jobs/disco_app/concerns/app_installed_job.rb +20 -0
  37. data/app/jobs/disco_app/concerns/app_uninstalled_job.rb +20 -0
  38. data/app/jobs/disco_app/concerns/shop_update_job.rb +16 -0
  39. data/app/jobs/disco_app/concerns/synchronise_webhooks_job.rb +49 -0
  40. data/app/jobs/disco_app/shop_job.rb +27 -0
  41. data/app/jobs/disco_app/shop_update_job.rb +3 -0
  42. data/app/jobs/disco_app/synchronise_webhooks_job.rb +3 -0
  43. data/app/models/disco_app/concerns/plan.rb +14 -0
  44. data/app/models/disco_app/concerns/shop.rb +62 -0
  45. data/app/models/disco_app/concerns/subscription.rb +14 -0
  46. data/app/models/disco_app/plan.rb +3 -0
  47. data/app/models/disco_app/session_storage.rb +18 -0
  48. data/app/models/disco_app/shop.rb +3 -0
  49. data/app/models/disco_app/subscription.rb +3 -0
  50. data/app/services/disco_app/charges_service.rb +73 -0
  51. data/app/services/disco_app/subscription_service.rb +25 -0
  52. data/app/services/disco_app/webhook_service.rb +30 -0
  53. data/app/views/disco_app/charges/activate.html.erb +1 -0
  54. data/app/views/disco_app/charges/create.html.erb +1 -0
  55. data/app/views/disco_app/charges/new.html.erb +45 -0
  56. data/app/views/disco_app/frame/frame.html.erb +36 -0
  57. data/app/views/disco_app/install/installing.html.erb +7 -0
  58. data/app/views/disco_app/install/uninstalling.html.erb +1 -0
  59. data/app/views/disco_app/proxy_errors/404.html.erb +1 -0
  60. data/app/views/disco_app/shared/_card.html.erb +14 -0
  61. data/app/views/disco_app/shared/_section.html.erb +17 -0
  62. data/app/views/layouts/application.html.erb +18 -0
  63. data/app/views/layouts/embedded_app.html.erb +41 -0
  64. data/app/views/sessions/new.html.erb +26 -0
  65. data/config/routes.rb +26 -0
  66. data/db/migrate/20150525000000_create_shops_if_not_existent.rb +15 -0
  67. data/db/migrate/20150525162112_add_status_to_shops.rb +5 -0
  68. data/db/migrate/20150525171422_add_meta_to_shops.rb +11 -0
  69. data/db/migrate/20150629210346_add_charge_status_to_shop.rb +5 -0
  70. data/db/migrate/20150814214025_add_more_meta_to_shops.rb +15 -0
  71. data/db/migrate/20151017231302_create_disco_app_plans.rb +13 -0
  72. data/db/migrate/20151017232027_create_disco_app_subscriptions.rb +15 -0
  73. data/db/migrate/20151017234409_move_shop_to_disco_app_engine.rb +5 -0
  74. data/lib/disco_app/engine.rb +23 -0
  75. data/lib/disco_app/support/file_fixtures.rb +23 -0
  76. data/lib/disco_app/test_help.rb +11 -0
  77. data/lib/disco_app/version.rb +3 -0
  78. data/lib/disco_app.rb +4 -0
  79. data/lib/generators/disco_app/USAGE +5 -0
  80. data/lib/generators/disco_app/disco_app_generator.rb +146 -0
  81. data/lib/generators/disco_app/mailify/mailify_generator.rb +54 -0
  82. data/lib/generators/disco_app/reactify/reactify_generator.rb +45 -0
  83. data/lib/generators/disco_app/templates/assets/javascripts/application.js +17 -0
  84. data/lib/generators/disco_app/templates/assets/stylesheets/application.scss +5 -0
  85. data/lib/generators/disco_app/templates/config/puma.rb +15 -0
  86. data/lib/generators/disco_app/templates/controllers/home_controller.rb +7 -0
  87. data/lib/generators/disco_app/templates/initializers/disco_app.rb +1 -0
  88. data/lib/generators/disco_app/templates/initializers/shopify_app.rb +7 -0
  89. data/lib/generators/disco_app/templates/initializers/shopify_session_repository.rb +7 -0
  90. data/lib/generators/disco_app/templates/root/Procfile +2 -0
  91. data/lib/generators/disco_app/templates/views/home/index.html.erb +2 -0
  92. data/lib/tasks/start.rake +3 -0
  93. data/lib/tasks/webhooks.rake +10 -0
  94. data/test/controllers/disco_app/install_controller_test.rb +50 -0
  95. data/test/controllers/disco_app/webhooks_controller_test.rb +58 -0
  96. data/test/controllers/home_controller_test.rb +61 -0
  97. data/test/disco_app_test.rb +7 -0
  98. data/test/dummy/Rakefile +6 -0
  99. data/test/dummy/app/assets/javascripts/application.js +17 -0
  100. data/test/dummy/app/assets/stylesheets/application.scss +5 -0
  101. data/test/dummy/app/controllers/application_controller.rb +6 -0
  102. data/test/dummy/app/controllers/home_controller.rb +7 -0
  103. data/test/dummy/app/helpers/application_helper.rb +2 -0
  104. data/test/dummy/app/jobs/disco_app/app_uninstalled_job.rb +11 -0
  105. data/test/dummy/app/models/disco_app/shop.rb +15 -0
  106. data/test/dummy/app/views/home/index.html.erb +2 -0
  107. data/test/dummy/bin/bundle +3 -0
  108. data/test/dummy/bin/rails +4 -0
  109. data/test/dummy/bin/rake +4 -0
  110. data/test/dummy/bin/setup +29 -0
  111. data/test/dummy/config/application.rb +37 -0
  112. data/test/dummy/config/boot.rb +5 -0
  113. data/test/dummy/config/database.yml +25 -0
  114. data/test/dummy/config/environment.rb +5 -0
  115. data/test/dummy/config/environments/development.rb +41 -0
  116. data/test/dummy/config/environments/production.rb +85 -0
  117. data/test/dummy/config/environments/test.rb +42 -0
  118. data/test/dummy/config/initializers/assets.rb +11 -0
  119. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  120. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  121. data/test/dummy/config/initializers/disco_app.rb +1 -0
  122. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  123. data/test/dummy/config/initializers/inflections.rb +16 -0
  124. data/test/dummy/config/initializers/mime_types.rb +4 -0
  125. data/test/dummy/config/initializers/omniauth.rb +9 -0
  126. data/test/dummy/config/initializers/session_store.rb +3 -0
  127. data/test/dummy/config/initializers/shopify_app.rb +7 -0
  128. data/test/dummy/config/initializers/shopify_session_repository.rb +7 -0
  129. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  130. data/test/dummy/config/locales/en.yml +23 -0
  131. data/test/dummy/config/routes.rb +8 -0
  132. data/test/dummy/config/secrets.yml +22 -0
  133. data/test/dummy/config.ru +4 -0
  134. data/test/dummy/db/schema.rb +70 -0
  135. data/test/dummy/public/404.html +67 -0
  136. data/test/dummy/public/422.html +67 -0
  137. data/test/dummy/public/500.html +66 -0
  138. data/test/dummy/public/favicon.ico +0 -0
  139. data/test/fixtures/api/widget_store/shop.json +46 -0
  140. data/test/fixtures/disco_app/plans.yml +32 -0
  141. data/test/fixtures/disco_app/shops.yml +10 -0
  142. data/test/fixtures/disco_app/subscriptions.yml +26 -0
  143. data/test/fixtures/webhooks/app_uninstalled.json +46 -0
  144. data/test/integration/navigation_test.rb +10 -0
  145. data/test/jobs/disco_app/app_installed_job_test.rb +29 -0
  146. data/test/jobs/disco_app/app_uninstalled_job_test.rb +32 -0
  147. data/test/models/disco_app/plan_test.rb +5 -0
  148. data/test/models/disco_app/shop_test.rb +26 -0
  149. data/test/models/disco_app/subscription_test.rb +6 -0
  150. data/test/services/disco_app/subscription_service_test.rb +28 -0
  151. data/test/support/test_file_fixtures.rb +29 -0
  152. data/test/test_helper.rb +51 -0
  153. metadata +478 -0
@@ -0,0 +1,29 @@
1
+ module DiscoApp::Test
2
+ module FileFixtures
3
+
4
+ # Return an XML fixture as an XML string.
5
+ def xml_fixture(path)
6
+ filename = File.join(File.dirname(File.dirname(__FILE__)), 'fixtures', 'xml', "#{path}.xml")
7
+ File.read(filename)
8
+ end
9
+
10
+ # Return a JSON fixture as an indifferent hash.
11
+ def json_fixture(path)
12
+ filename = File.join(File.dirname(File.dirname(__FILE__)), 'fixtures', 'json', "#{path}.json")
13
+ HashWithIndifferentAccess.new(ActiveSupport::JSON.decode(File.read(filename)))
14
+ end
15
+
16
+ # API fixtures are special-case JSON fixtures.
17
+ def api_fixture(path)
18
+ filename = File.join(File.dirname(File.dirname(__FILE__)), 'fixtures', 'api', "#{path}.json")
19
+ File.read(filename)
20
+ end
21
+
22
+ # Webhook fixtures are special-case JSON fixtures.
23
+ def webhook_fixture(path)
24
+ filename = File.join(File.dirname(File.dirname(__FILE__)), 'fixtures', 'webhooks', "#{path}.json")
25
+ File.read(filename)
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,51 @@
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
+ ENV['DEFAULT_HOST'] = 'https://test.example.com'
4
+ ENV['SHOPIFY_APP_NAME'] = 'Test Application'
5
+ ENV['SHOPIFY_APP_API_KEY'] = 'f61b26d635309536c3c83c0adc3cb972'
6
+ ENV['SHOPIFY_APP_SECRET'] = 'b607d1f8b992dccb017f9315f07af9c4'
7
+ ENV['SHOPIFY_APP_REDIRECT_URI'] = 'https://test.example.com/shopify/auth/callback'
8
+ ENV['SHOPIFY_APP_SCOPE'] = 'read_products'
9
+ ENV['SHOPIFY_CHARGES_REAL'] = 'false'
10
+
11
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
12
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
13
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
14
+ require "rails/test_help"
15
+
16
+ # Require our additional test support helpers.
17
+ require 'support/test_file_fixtures'
18
+
19
+ # Require WebMock
20
+ require 'webmock/minitest'
21
+
22
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
23
+ # to be shown.
24
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
25
+
26
+ # Load support files
27
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
28
+
29
+ # Load fixtures from the engine
30
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
31
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
32
+ ActiveSupport::TestCase.fixtures :all
33
+ end
34
+
35
+ # Set up the base test class.
36
+ class ActiveSupport::TestCase
37
+
38
+ # Include helper modules common to all tests.
39
+ include DiscoApp::Test::FileFixtures
40
+
41
+ def log_in_as(shop)
42
+ session[:shopify] = shop.id
43
+ session[:shopify_domain] = shop.shopify_domain
44
+ end
45
+
46
+ def log_out
47
+ session[:shopify] = nil
48
+ session[:shopify_domain] = nil
49
+ end
50
+
51
+ end
metadata ADDED
@@ -0,0 +1,478 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: disco_app
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.4
5
+ platform: ruby
6
+ authors:
7
+ - Gavin Ballard
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: shopify_app
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 6.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 6.2.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: puma
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.14.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.14.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: sidekiq
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.5.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.5.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: bootstrap-sass
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 3.3.5.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 3.3.5.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: jquery-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 4.0.5
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 4.0.5
97
+ - !ruby/object:Gem::Dependency
98
+ name: turbolinks
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.5.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.5.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: pg
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.18.3
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.18.3
125
+ - !ruby/object:Gem::Dependency
126
+ name: rails_12factor
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.0.3
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.0.3
139
+ - !ruby/object:Gem::Dependency
140
+ name: active_utils
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 3.2.0
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 3.2.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: sqlite3
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 1.3.11
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 1.3.11
167
+ - !ruby/object:Gem::Dependency
168
+ name: dotenv-rails
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 2.0.2
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 2.0.2
181
+ - !ruby/object:Gem::Dependency
182
+ name: minitest-reporters
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.0.19
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.0.19
195
+ - !ruby/object:Gem::Dependency
196
+ name: guard
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 2.13.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 2.13.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: guard-minitest
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 2.4.4
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 2.4.4
223
+ - !ruby/object:Gem::Dependency
224
+ name: webmock
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 1.22.1
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 1.22.1
237
+ description: Rails engine for Shopify applications.
238
+ email:
239
+ - gavin@gavinballard.com
240
+ executables: []
241
+ extensions: []
242
+ extra_rdoc_files: []
243
+ files:
244
+ - Rakefile
245
+ - app/assets/images/disco_app/icon.svg
246
+ - app/assets/javascripts/disco_app/components.js
247
+ - app/assets/javascripts/disco_app/components/shopify_admin_link.js.jsx
248
+ - app/assets/javascripts/disco_app/disco_app.js
249
+ - app/assets/javascripts/disco_app/frame.js
250
+ - app/assets/javascripts/disco_app/shopify-turbolinks.js
251
+ - app/assets/stylesheets/disco_app/bootstrap/_custom.scss
252
+ - app/assets/stylesheets/disco_app/bootstrap/_variables.scss
253
+ - app/assets/stylesheets/disco_app/disco/_buttons.scss
254
+ - app/assets/stylesheets/disco_app/disco/_cards.scss
255
+ - app/assets/stylesheets/disco_app/disco/_forms.scss
256
+ - app/assets/stylesheets/disco_app/disco/_grid.scss
257
+ - app/assets/stylesheets/disco_app/disco/_sections.scss
258
+ - app/assets/stylesheets/disco_app/disco/_tables.scss
259
+ - app/assets/stylesheets/disco_app/disco/_tabs.scss
260
+ - app/assets/stylesheets/disco_app/disco/_type.scss
261
+ - app/assets/stylesheets/disco_app/disco/mixins/_flexbox.scss
262
+ - app/assets/stylesheets/disco_app/disco_app.scss
263
+ - app/assets/stylesheets/disco_app/frame.scss
264
+ - app/assets/stylesheets/disco_app/frame/_buttons.scss
265
+ - app/assets/stylesheets/disco_app/frame/_forms.scss
266
+ - app/assets/stylesheets/disco_app/frame/_layout.scss
267
+ - app/assets/stylesheets/disco_app/frame/_type.scss
268
+ - app/controllers/disco_app/app_proxy_controller.rb
269
+ - app/controllers/disco_app/authenticated_controller.rb
270
+ - app/controllers/disco_app/carrier_request_controller.rb
271
+ - app/controllers/disco_app/charges_controller.rb
272
+ - app/controllers/disco_app/frame_controller.rb
273
+ - app/controllers/disco_app/install_controller.rb
274
+ - app/controllers/disco_app/webhooks_controller.rb
275
+ - app/helpers/disco_app/application_helper.rb
276
+ - app/jobs/disco_app/app_installed_job.rb
277
+ - app/jobs/disco_app/app_uninstalled_job.rb
278
+ - app/jobs/disco_app/concerns/app_installed_job.rb
279
+ - app/jobs/disco_app/concerns/app_uninstalled_job.rb
280
+ - app/jobs/disco_app/concerns/shop_update_job.rb
281
+ - app/jobs/disco_app/concerns/synchronise_webhooks_job.rb
282
+ - app/jobs/disco_app/shop_job.rb
283
+ - app/jobs/disco_app/shop_update_job.rb
284
+ - app/jobs/disco_app/synchronise_webhooks_job.rb
285
+ - app/models/disco_app/concerns/plan.rb
286
+ - app/models/disco_app/concerns/shop.rb
287
+ - app/models/disco_app/concerns/subscription.rb
288
+ - app/models/disco_app/plan.rb
289
+ - app/models/disco_app/session_storage.rb
290
+ - app/models/disco_app/shop.rb
291
+ - app/models/disco_app/subscription.rb
292
+ - app/services/disco_app/charges_service.rb
293
+ - app/services/disco_app/subscription_service.rb
294
+ - app/services/disco_app/webhook_service.rb
295
+ - app/views/disco_app/charges/activate.html.erb
296
+ - app/views/disco_app/charges/create.html.erb
297
+ - app/views/disco_app/charges/new.html.erb
298
+ - app/views/disco_app/frame/frame.html.erb
299
+ - app/views/disco_app/install/installing.html.erb
300
+ - app/views/disco_app/install/uninstalling.html.erb
301
+ - app/views/disco_app/proxy_errors/404.html.erb
302
+ - app/views/disco_app/shared/_card.html.erb
303
+ - app/views/disco_app/shared/_section.html.erb
304
+ - app/views/layouts/application.html.erb
305
+ - app/views/layouts/embedded_app.html.erb
306
+ - app/views/sessions/new.html.erb
307
+ - config/routes.rb
308
+ - db/migrate/20150525000000_create_shops_if_not_existent.rb
309
+ - db/migrate/20150525162112_add_status_to_shops.rb
310
+ - db/migrate/20150525171422_add_meta_to_shops.rb
311
+ - db/migrate/20150629210346_add_charge_status_to_shop.rb
312
+ - db/migrate/20150814214025_add_more_meta_to_shops.rb
313
+ - db/migrate/20151017231302_create_disco_app_plans.rb
314
+ - db/migrate/20151017232027_create_disco_app_subscriptions.rb
315
+ - db/migrate/20151017234409_move_shop_to_disco_app_engine.rb
316
+ - lib/disco_app.rb
317
+ - lib/disco_app/engine.rb
318
+ - lib/disco_app/support/file_fixtures.rb
319
+ - lib/disco_app/test_help.rb
320
+ - lib/disco_app/version.rb
321
+ - lib/generators/disco_app/USAGE
322
+ - lib/generators/disco_app/disco_app_generator.rb
323
+ - lib/generators/disco_app/mailify/mailify_generator.rb
324
+ - lib/generators/disco_app/reactify/reactify_generator.rb
325
+ - lib/generators/disco_app/templates/assets/javascripts/application.js
326
+ - lib/generators/disco_app/templates/assets/stylesheets/application.scss
327
+ - lib/generators/disco_app/templates/config/puma.rb
328
+ - lib/generators/disco_app/templates/controllers/home_controller.rb
329
+ - lib/generators/disco_app/templates/initializers/disco_app.rb
330
+ - lib/generators/disco_app/templates/initializers/shopify_app.rb
331
+ - lib/generators/disco_app/templates/initializers/shopify_session_repository.rb
332
+ - lib/generators/disco_app/templates/root/Procfile
333
+ - lib/generators/disco_app/templates/views/home/index.html.erb
334
+ - lib/tasks/start.rake
335
+ - lib/tasks/webhooks.rake
336
+ - test/controllers/disco_app/install_controller_test.rb
337
+ - test/controllers/disco_app/webhooks_controller_test.rb
338
+ - test/controllers/home_controller_test.rb
339
+ - test/disco_app_test.rb
340
+ - test/dummy/Rakefile
341
+ - test/dummy/app/assets/javascripts/application.js
342
+ - test/dummy/app/assets/stylesheets/application.scss
343
+ - test/dummy/app/controllers/application_controller.rb
344
+ - test/dummy/app/controllers/home_controller.rb
345
+ - test/dummy/app/helpers/application_helper.rb
346
+ - test/dummy/app/jobs/disco_app/app_uninstalled_job.rb
347
+ - test/dummy/app/models/disco_app/shop.rb
348
+ - test/dummy/app/views/home/index.html.erb
349
+ - test/dummy/bin/bundle
350
+ - test/dummy/bin/rails
351
+ - test/dummy/bin/rake
352
+ - test/dummy/bin/setup
353
+ - test/dummy/config.ru
354
+ - test/dummy/config/application.rb
355
+ - test/dummy/config/boot.rb
356
+ - test/dummy/config/database.yml
357
+ - test/dummy/config/environment.rb
358
+ - test/dummy/config/environments/development.rb
359
+ - test/dummy/config/environments/production.rb
360
+ - test/dummy/config/environments/test.rb
361
+ - test/dummy/config/initializers/assets.rb
362
+ - test/dummy/config/initializers/backtrace_silencers.rb
363
+ - test/dummy/config/initializers/cookies_serializer.rb
364
+ - test/dummy/config/initializers/disco_app.rb
365
+ - test/dummy/config/initializers/filter_parameter_logging.rb
366
+ - test/dummy/config/initializers/inflections.rb
367
+ - test/dummy/config/initializers/mime_types.rb
368
+ - test/dummy/config/initializers/omniauth.rb
369
+ - test/dummy/config/initializers/session_store.rb
370
+ - test/dummy/config/initializers/shopify_app.rb
371
+ - test/dummy/config/initializers/shopify_session_repository.rb
372
+ - test/dummy/config/initializers/wrap_parameters.rb
373
+ - test/dummy/config/locales/en.yml
374
+ - test/dummy/config/routes.rb
375
+ - test/dummy/config/secrets.yml
376
+ - test/dummy/db/schema.rb
377
+ - test/dummy/public/404.html
378
+ - test/dummy/public/422.html
379
+ - test/dummy/public/500.html
380
+ - test/dummy/public/favicon.ico
381
+ - test/fixtures/api/widget_store/shop.json
382
+ - test/fixtures/disco_app/plans.yml
383
+ - test/fixtures/disco_app/shops.yml
384
+ - test/fixtures/disco_app/subscriptions.yml
385
+ - test/fixtures/webhooks/app_uninstalled.json
386
+ - test/integration/navigation_test.rb
387
+ - test/jobs/disco_app/app_installed_job_test.rb
388
+ - test/jobs/disco_app/app_uninstalled_job_test.rb
389
+ - test/models/disco_app/plan_test.rb
390
+ - test/models/disco_app/shop_test.rb
391
+ - test/models/disco_app/subscription_test.rb
392
+ - test/services/disco_app/subscription_service_test.rb
393
+ - test/support/test_file_fixtures.rb
394
+ - test/test_helper.rb
395
+ homepage: https://github.com/discolabs/disco_app/
396
+ licenses:
397
+ - MIT
398
+ metadata: {}
399
+ post_install_message:
400
+ rdoc_options: []
401
+ require_paths:
402
+ - lib
403
+ required_ruby_version: !ruby/object:Gem::Requirement
404
+ requirements:
405
+ - - ">="
406
+ - !ruby/object:Gem::Version
407
+ version: '0'
408
+ required_rubygems_version: !ruby/object:Gem::Requirement
409
+ requirements:
410
+ - - ">="
411
+ - !ruby/object:Gem::Version
412
+ version: '0'
413
+ requirements: []
414
+ rubyforge_project:
415
+ rubygems_version: 2.7.6
416
+ signing_key:
417
+ specification_version: 4
418
+ summary: Rails engine for Shopify applications.
419
+ test_files:
420
+ - test/dummy/public/500.html
421
+ - test/dummy/public/favicon.ico
422
+ - test/dummy/public/422.html
423
+ - test/dummy/public/404.html
424
+ - test/dummy/bin/rake
425
+ - test/dummy/bin/rails
426
+ - test/dummy/bin/setup
427
+ - test/dummy/bin/bundle
428
+ - test/dummy/Rakefile
429
+ - test/dummy/config.ru
430
+ - test/dummy/app/assets/stylesheets/application.scss
431
+ - test/dummy/app/assets/javascripts/application.js
432
+ - test/dummy/app/jobs/disco_app/app_uninstalled_job.rb
433
+ - test/dummy/app/controllers/home_controller.rb
434
+ - test/dummy/app/controllers/application_controller.rb
435
+ - test/dummy/app/helpers/application_helper.rb
436
+ - test/dummy/app/models/disco_app/shop.rb
437
+ - test/dummy/app/views/home/index.html.erb
438
+ - test/dummy/db/schema.rb
439
+ - test/dummy/config/locales/en.yml
440
+ - test/dummy/config/initializers/filter_parameter_logging.rb
441
+ - test/dummy/config/initializers/assets.rb
442
+ - test/dummy/config/initializers/session_store.rb
443
+ - test/dummy/config/initializers/inflections.rb
444
+ - test/dummy/config/initializers/mime_types.rb
445
+ - test/dummy/config/initializers/wrap_parameters.rb
446
+ - test/dummy/config/initializers/disco_app.rb
447
+ - test/dummy/config/initializers/shopify_app.rb
448
+ - test/dummy/config/initializers/shopify_session_repository.rb
449
+ - test/dummy/config/initializers/backtrace_silencers.rb
450
+ - test/dummy/config/initializers/omniauth.rb
451
+ - test/dummy/config/initializers/cookies_serializer.rb
452
+ - test/dummy/config/secrets.yml
453
+ - test/dummy/config/routes.rb
454
+ - test/dummy/config/environments/production.rb
455
+ - test/dummy/config/environments/test.rb
456
+ - test/dummy/config/environments/development.rb
457
+ - test/dummy/config/environment.rb
458
+ - test/dummy/config/boot.rb
459
+ - test/dummy/config/database.yml
460
+ - test/dummy/config/application.rb
461
+ - test/fixtures/api/widget_store/shop.json
462
+ - test/fixtures/disco_app/shops.yml
463
+ - test/fixtures/disco_app/subscriptions.yml
464
+ - test/fixtures/disco_app/plans.yml
465
+ - test/fixtures/webhooks/app_uninstalled.json
466
+ - test/support/test_file_fixtures.rb
467
+ - test/test_helper.rb
468
+ - test/disco_app_test.rb
469
+ - test/jobs/disco_app/app_uninstalled_job_test.rb
470
+ - test/jobs/disco_app/app_installed_job_test.rb
471
+ - test/controllers/disco_app/install_controller_test.rb
472
+ - test/controllers/disco_app/webhooks_controller_test.rb
473
+ - test/controllers/home_controller_test.rb
474
+ - test/integration/navigation_test.rb
475
+ - test/models/disco_app/plan_test.rb
476
+ - test/models/disco_app/shop_test.rb
477
+ - test/models/disco_app/subscription_test.rb
478
+ - test/services/disco_app/subscription_service_test.rb