shopify_dashboard_plus 0.0.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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