shopify_dashboard_plus 0.0.7 → 1.0.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +16 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile.lock +99 -35
  5. data/README.md +16 -7
  6. data/Rakefile +13 -0
  7. data/bin/shopify_dashboard_plus.rb +1 -1
  8. data/config.ru +4 -0
  9. data/lib/shopify_dashboard_plus.rb +40 -52
  10. data/lib/shopify_dashboard_plus/currency.rb +31 -0
  11. data/lib/shopify_dashboard_plus/discount_report.rb +36 -0
  12. data/lib/shopify_dashboard_plus/helpers.rb +65 -51
  13. data/lib/shopify_dashboard_plus/report.rb +4 -196
  14. data/lib/shopify_dashboard_plus/revenue_report.rb +55 -0
  15. data/lib/shopify_dashboard_plus/sales_report.rb +86 -0
  16. data/lib/shopify_dashboard_plus/traffic_report.rb +65 -0
  17. data/lib/shopify_dashboard_plus/version.rb +3 -1
  18. data/shopify_dashboard_plus.gemspec +17 -7
  19. data/test/fixtures/vcr_cassettes/.gitkeep +0 -0
  20. data/test/fixtures/vcr_cassettes/authenticate.yml +88 -0
  21. data/test/fixtures/vcr_cassettes/multiple_pages_orders.yml +1544 -0
  22. data/test/fixtures/vcr_cassettes/orders_from_2010_01_01.yml +815 -0
  23. data/test/fixtures/vcr_cassettes/orders_from_2010_01_01_to_2015_01_01.yml +566 -0
  24. data/test/fixtures/vcr_cassettes/orders_no_paramaters.yml +81 -0
  25. data/test/fixtures/vcr_cassettes/orders_none.yml +77 -0
  26. data/test/fixtures/vcr_cassettes/orders_to_2015-06-26.yml +81 -0
  27. data/test/resources/anonymizer.rb +125 -0
  28. data/test/resources/modify_data.rb +110 -0
  29. data/test/strip_sensitive_data.rb +79 -0
  30. data/test/test_app.rb +60 -0
  31. data/test/test_frontend.rb +76 -0
  32. data/test/test_mockdata.rb +237 -0
  33. data/views/connect.erb +6 -6
  34. data/views/layout.erb +2 -3
  35. data/views/report.erb +1 -1
  36. metadata +190 -59
@@ -1,26 +1,26 @@
1
1
  <div class="well" style="text-align:center; max-width:600px; margin-left:auto; margin-right:auto; margin-top:30px">
2
2
  <h2 style="margin-top:10px; margin-bottom:20px">Connect to your Shopify Admin</h2>
3
3
  <hr>
4
- <% if not connected? %>
5
- <% if $flash %><p class="flash"><%= $flash %><% end %>
6
- <form class="form-inline" id="connect" method="post" action="/connect">
4
+ <% if not connected? or not authenticated? %>
5
+ <% if $flash %><p id="flash" class="flash"><%= $flash %><% end %>
6
+ <form class="form-inline" id="connect-box" method="post" action="/connect">
7
7
  <div class="form-group">
8
8
  <input id="api_key" name="api_key" class="form-control form-field-small" value="<%= h(params[:api_key]) %>" pattern="^[0-9a-z]*$" placeholder="API_KEY">
9
9
  <input id="api_pwd" name="api_pwd" class="form-control form-field-small" value="<%= h(params[:api_pwd]) %>" pattern="^[0-9a-z]*$" placeholder="API PASSWORD" type="password">
10
10
  <input id="shop_name" name="shop_name" class="form-control form-field-small" value="<%= h(params[:shop_name]) %>" pattern="^[0-9a-z]*$" placeholder="SHOP NAME">
11
11
  </div>
12
12
  <div class="form-group" style="margin-top:20px">
13
- <input type="submit" class="btn btn-primary" style="width:200px" value="Set Connection">
13
+ <input id="connect" name="connect" type="submit" class="btn btn-primary" style="width:200px" value="Set Connection">
14
14
  </div>
15
15
  </form>
16
16
  <% else %>
17
- <form class="form-inline" id="connect" method="post" action="/disconnect">
17
+ <form class="form-inline" id="disconnect-box" method="post" action="/disconnect">
18
18
  Currently connected as <b><%= shop_name %></b><br/>
19
19
  <div style="margin-top:10px">
20
20
  <a href="/">Back to Metrics</a>
21
21
  </div>
22
22
  <div class="form-group" style="display:block; margin-top:20px">
23
- <input type="submit" class="btn btn-primary" style="width:200px" value="Disconnect">
23
+ <input id="disconnect" type="submit" class="btn btn-primary" style="width:200px" value="Disconnect">
24
24
  </div>
25
25
  </form>
26
26
  <% end %>
@@ -5,9 +5,8 @@
5
5
  <script>
6
6
  var Chartkick = {"language": "en"};
7
7
  </script>
8
- <script src="http://www.google.com/jsapi"></script> <!-- Chart library dependency for chartkick -->
9
- <script src="js/chartkick.min.js"></script> <!-- Front end chart library -->
10
- <script src="/js/spin.min.js"></script> <!-- Spinner Animation -->
8
+ <script src="http://www.google.com/jsapi"></script>
9
+ <script src="js/chartkick.min.js"></script>
11
10
  </head>
12
11
  <body>
13
12
  <%= yield %>
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
  </div>
20
20
 
21
- <% if $metrics %>
21
+ <% if @metrics %>
22
22
  <h3 class="section-divider">Sales</h3>
23
23
  <div class="graph-container">
24
24
  <div class="graph-border">
metadata CHANGED
@@ -1,137 +1,245 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_dashboard_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Willems
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-03 00:00:00.000000000 Z
11
+ date: 2018-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sinatra
14
+ name: chartkick
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.4'
20
- - - '>='
21
- - !ruby/object:Gem::Version
22
- version: 1.4.5
19
+ version: '2.3'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: shopify_api
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
28
32
  - !ruby/object:Gem::Version
29
- version: '1.4'
30
- - - '>='
33
+ version: 4.9.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
31
39
  - !ruby/object:Gem::Version
32
- version: 1.4.5
40
+ version: 4.9.1
33
41
  - !ruby/object:Gem::Dependency
34
- name: tilt
42
+ name: sinatra
35
43
  requirement: !ruby/object:Gem::Requirement
36
44
  requirements:
37
- - - '>='
45
+ - - "~>"
38
46
  - !ruby/object:Gem::Version
39
- version: '0'
47
+ version: '2.0'
40
48
  type: :runtime
41
49
  prerelease: false
42
50
  version_requirements: !ruby/object:Gem::Requirement
43
51
  requirements:
44
- - - '>='
52
+ - - "~>"
45
53
  - !ruby/object:Gem::Version
46
- version: '0'
54
+ version: '2.0'
47
55
  - !ruby/object:Gem::Dependency
48
- name: shopify_api
56
+ name: vegas
49
57
  requirement: !ruby/object:Gem::Requirement
50
58
  requirements:
51
- - - ~>
59
+ - - "~>"
52
60
  - !ruby/object:Gem::Version
53
- version: '4.0'
54
- - - '>='
61
+ version: '0.1'
62
+ - - ">="
55
63
  - !ruby/object:Gem::Version
56
- version: 4.0.3
64
+ version: 0.1.11
57
65
  type: :runtime
58
66
  prerelease: false
59
67
  version_requirements: !ruby/object:Gem::Requirement
60
68
  requirements:
61
- - - ~>
69
+ - - "~>"
62
70
  - !ruby/object:Gem::Version
63
- version: '4.0'
64
- - - '>='
71
+ version: '0.1'
72
+ - - ">="
65
73
  - !ruby/object:Gem::Version
66
- version: 4.0.3
74
+ version: 0.1.11
67
75
  - !ruby/object:Gem::Dependency
68
- name: chartkick
76
+ name: bundler
69
77
  requirement: !ruby/object:Gem::Requirement
70
78
  requirements:
71
- - - ~>
79
+ - - "~>"
72
80
  - !ruby/object:Gem::Version
73
- version: '1.3'
74
- - - '>='
81
+ version: '1.16'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
75
87
  - !ruby/object:Gem::Version
76
- version: 1.3.2
77
- type: :runtime
88
+ version: '1.16'
89
+ - !ruby/object:Gem::Dependency
90
+ name: byebug
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '10.0'
96
+ type: :development
78
97
  prerelease: false
79
98
  version_requirements: !ruby/object:Gem::Requirement
80
99
  requirements:
81
- - - ~>
100
+ - - "~>"
82
101
  - !ruby/object:Gem::Version
83
- version: '1.3'
84
- - - '>='
102
+ version: '10.0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: capybara
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.18'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
85
115
  - !ruby/object:Gem::Version
86
- version: 1.3.2
116
+ version: '2.18'
87
117
  - !ruby/object:Gem::Dependency
88
- name: vegas
118
+ name: capybara-webkit
89
119
  requirement: !ruby/object:Gem::Requirement
90
120
  requirements:
91
- - - ~>
121
+ - - "~>"
92
122
  - !ruby/object:Gem::Version
93
- version: '0.1'
94
- - - '>='
123
+ version: '1.15'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
95
129
  - !ruby/object:Gem::Version
96
- version: 0.1.11
97
- type: :runtime
130
+ version: '1.15'
131
+ - !ruby/object:Gem::Dependency
132
+ name: minitest
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '5.11'
138
+ type: :development
98
139
  prerelease: false
99
140
  version_requirements: !ruby/object:Gem::Requirement
100
141
  requirements:
101
- - - ~>
142
+ - - "~>"
102
143
  - !ruby/object:Gem::Version
103
- version: '0.1'
104
- - - '>='
144
+ version: '5.11'
145
+ - !ruby/object:Gem::Dependency
146
+ name: faker
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
105
150
  - !ruby/object:Gem::Version
106
- version: 0.1.11
151
+ version: '1.8'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '1.8'
107
159
  - !ruby/object:Gem::Dependency
108
- name: bundler
160
+ name: rack-test
109
161
  requirement: !ruby/object:Gem::Requirement
110
162
  requirements:
111
- - - ~>
163
+ - - "~>"
112
164
  - !ruby/object:Gem::Version
113
- version: '1.7'
165
+ version: '0.8'
114
166
  type: :development
115
167
  prerelease: false
116
168
  version_requirements: !ruby/object:Gem::Requirement
117
169
  requirements:
118
- - - ~>
170
+ - - "~>"
119
171
  - !ruby/object:Gem::Version
120
- version: '1.7'
172
+ version: '0.8'
121
173
  - !ruby/object:Gem::Dependency
122
174
  name: rake
123
175
  requirement: !ruby/object:Gem::Requirement
124
176
  requirements:
125
- - - ~>
177
+ - - "~>"
126
178
  - !ruby/object:Gem::Version
127
- version: '10.0'
179
+ version: '12.3'
128
180
  type: :development
129
181
  prerelease: false
130
182
  version_requirements: !ruby/object:Gem::Requirement
131
183
  requirements:
132
- - - ~>
184
+ - - "~>"
133
185
  - !ruby/object:Gem::Version
134
- version: '10.0'
186
+ version: '12.3'
187
+ - !ruby/object:Gem::Dependency
188
+ name: rubocop
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: 0.53.0
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: 0.53.0
201
+ - !ruby/object:Gem::Dependency
202
+ name: tilt
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '2.0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '2.0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: vcr
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '3.0'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '3.0'
229
+ - !ruby/object:Gem::Dependency
230
+ name: webmock
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '3.3'
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '3.3'
135
243
  description: Dashboard for Shopify Admin with lots of graphs and other metrics
136
244
  email:
137
245
  - jason@willems.ca
@@ -140,20 +248,43 @@ executables:
140
248
  extensions: []
141
249
  extra_rdoc_files: []
142
250
  files:
143
- - .gitignore
251
+ - ".gitignore"
252
+ - ".rubocop.yml"
253
+ - ".travis.yml"
144
254
  - Gemfile
145
255
  - Gemfile.lock
146
256
  - LICENSE
147
257
  - README.md
258
+ - Rakefile
148
259
  - bin/shopify_dashboard_plus.rb
260
+ - config.ru
149
261
  - lib/shopify_dashboard_plus.rb
262
+ - lib/shopify_dashboard_plus/currency.rb
263
+ - lib/shopify_dashboard_plus/discount_report.rb
150
264
  - lib/shopify_dashboard_plus/helpers.rb
151
265
  - lib/shopify_dashboard_plus/report.rb
266
+ - lib/shopify_dashboard_plus/revenue_report.rb
267
+ - lib/shopify_dashboard_plus/sales_report.rb
268
+ - lib/shopify_dashboard_plus/traffic_report.rb
152
269
  - lib/shopify_dashboard_plus/version.rb
153
270
  - public/css/bootstrap.min.css
154
271
  - public/css/common.css
155
272
  - public/js/chartkick.min.js
156
273
  - shopify_dashboard_plus.gemspec
274
+ - test/fixtures/vcr_cassettes/.gitkeep
275
+ - test/fixtures/vcr_cassettes/authenticate.yml
276
+ - test/fixtures/vcr_cassettes/multiple_pages_orders.yml
277
+ - test/fixtures/vcr_cassettes/orders_from_2010_01_01.yml
278
+ - test/fixtures/vcr_cassettes/orders_from_2010_01_01_to_2015_01_01.yml
279
+ - test/fixtures/vcr_cassettes/orders_no_paramaters.yml
280
+ - test/fixtures/vcr_cassettes/orders_none.yml
281
+ - test/fixtures/vcr_cassettes/orders_to_2015-06-26.yml
282
+ - test/resources/anonymizer.rb
283
+ - test/resources/modify_data.rb
284
+ - test/strip_sensitive_data.rb
285
+ - test/test_app.rb
286
+ - test/test_frontend.rb
287
+ - test/test_mockdata.rb
157
288
  - views/connect.erb
158
289
  - views/layout.erb
159
290
  - views/report.erb
@@ -167,17 +298,17 @@ require_paths:
167
298
  - lib
168
299
  required_ruby_version: !ruby/object:Gem::Requirement
169
300
  requirements:
170
- - - '>='
301
+ - - ">="
171
302
  - !ruby/object:Gem::Version
172
303
  version: '0'
173
304
  required_rubygems_version: !ruby/object:Gem::Requirement
174
305
  requirements:
175
- - - '>='
306
+ - - ">="
176
307
  - !ruby/object:Gem::Version
177
308
  version: '0'
178
309
  requirements: []
179
310
  rubyforge_project:
180
- rubygems_version: 2.2.2
311
+ rubygems_version: 2.5.2.2
181
312
  signing_key:
182
313
  specification_version: 4
183
314
  summary: Extended dashboard for shopify admin