spree_analytics_trackers 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +24 -3
- data/Appraisals +7 -0
- data/app/controllers/spree_analytics_trackers/store_controller_decorator.rb +11 -0
- data/app/helpers/spree/trackers_helper.rb +16 -7
- data/app/models/spree_analytics_trackers/user_decorator.rb +9 -0
- data/app/overrides/add_analytics_to_admin_sidebar.rb +2 -3
- data/app/views/spree/admin/shared/_analytics_sidebar_menu.html.erb +3 -5
- data/app/views/spree/admin/trackers/_form.html.erb +6 -6
- data/app/views/spree/admin/trackers/index.html.erb +4 -8
- data/gemfiles/spree_3_7.gemfile +1 -0
- data/gemfiles/spree_4_0.gemfile +9 -0
- data/lib/spree_analytics_trackers/version.rb +2 -2
- data/spree_analytics_trackers.gemspec +2 -1
- metadata +23 -11
- data/app/controllers/spree/store_controller_decorator.rb +0 -5
- data/app/models/spree/line_item_decorator.rb +0 -6
- data/app/models/spree/order_decorator.rb +0 -7
- data/app/models/spree/product_decorator.rb +0 -11
- data/app/models/spree/user_decorator.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6f1b28e6012acef941df826e5815966db364756eee0ed406993e7ffcfd2f3c8
|
4
|
+
data.tar.gz: a068b460859953446838873b5d89b09099e5567ab06cf65b3a2e7ebfaae4fd6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8179531fa524a7e17aed73f743eeafd961be9d583c54a521b7a9bf1b5a344527e1bb2a447d763ef274bea91cedc6219e5305bc4b987c837d50d3b5ca2e9e1594
|
7
|
+
data.tar.gz: fc3849ab2602836c69f914e2a502650ff67ba842a95e2a6e3f9e0c4622b47cb4b77b1e8a70c03958967954a3fa77969f7bdb0bcbf8f83e3ecdc8c723bd9e3545
|
data/.travis.yml
CHANGED
@@ -7,9 +7,14 @@ env:
|
|
7
7
|
- DB=postgres
|
8
8
|
- DB=mysql
|
9
9
|
|
10
|
+
addons:
|
11
|
+
chrome: stable
|
12
|
+
postgresql: 9.4
|
13
|
+
|
10
14
|
gemfile:
|
11
15
|
- gemfiles/spree_3_5.gemfile
|
12
16
|
- gemfiles/spree_3_7.gemfile
|
17
|
+
- gemfiles/spree_4_0.gemfile
|
13
18
|
- gemfiles/spree_master.gemfile
|
14
19
|
|
15
20
|
script:
|
@@ -17,13 +22,29 @@ script:
|
|
17
22
|
- bundle exec rake spec
|
18
23
|
|
19
24
|
rvm:
|
20
|
-
- 2.
|
21
|
-
- 2.4.
|
22
|
-
- 2.
|
25
|
+
- 2.5.1
|
26
|
+
- 2.4.4
|
27
|
+
- 2.3.8
|
23
28
|
|
24
29
|
matrix:
|
25
30
|
allow_failures:
|
26
31
|
- gemfile: gemfiles/spree_master.gemfile
|
32
|
+
exclude:
|
33
|
+
- rvm: 2.3.8
|
34
|
+
gemfile: gemfiles/spree_4_0.gemfile
|
35
|
+
- rvm: 2.4.4
|
36
|
+
gemfile: gemfiles/spree_4_0.gemfile
|
37
|
+
- rvm: 2.3.8
|
38
|
+
gemfile: gemfiles/spree_master.gemfile
|
39
|
+
- rvm: 2.4.4
|
40
|
+
gemfile: gemfiles/spree_master.gemfile
|
41
|
+
- rvm: 2.5.1
|
42
|
+
gemfile: gemfiles/spree_3_5.gemfile
|
27
43
|
|
28
44
|
before_install:
|
29
45
|
- mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
|
46
|
+
- wget -N https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip -P ~/
|
47
|
+
- unzip ~/chromedriver_linux64.zip -d ~/
|
48
|
+
- rm ~/chromedriver_linux64.zip
|
49
|
+
- sudo mv -f ~/chromedriver /usr/local/share/
|
50
|
+
- sudo chmod +x /usr/local/share/chromedriver
|
data/Appraisals
CHANGED
@@ -8,6 +8,13 @@ appraise 'spree-3-7' do
|
|
8
8
|
gem 'spree', '~> 3.7.0'
|
9
9
|
gem 'spree_auth_devise', '~> 3.5.0'
|
10
10
|
gem 'rails-controller-testing'
|
11
|
+
gem 'sass-rails'
|
12
|
+
end
|
13
|
+
|
14
|
+
appraise 'spree-4-0' do
|
15
|
+
gem 'spree', '~> 4.0.0.beta'
|
16
|
+
gem 'spree_auth_devise', '~> 4.0.0.rc2'
|
17
|
+
gem 'rails-controller-testing'
|
11
18
|
end
|
12
19
|
|
13
20
|
appraise 'spree-master' do
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module SpreeAnalyticsTrackers
|
2
|
+
module StoreControllerDecorator
|
3
|
+
def self.prepended(base)
|
4
|
+
base.helper Spree::TrackersHelper
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
if defined?(Spree::StoreController)
|
10
|
+
::Spree::StoreController.prepend(::SpreeAnalyticsTrackers::StoreControllerDecorator)
|
11
|
+
end
|
@@ -9,15 +9,24 @@ module Spree
|
|
9
9
|
brand: product.brand.try(:name),
|
10
10
|
price: product.price.to_f,
|
11
11
|
currency: product.currency,
|
12
|
-
url: product_url(product)
|
12
|
+
url: product_url(product)
|
13
13
|
}.tap do |hash|
|
14
|
-
|
15
|
-
if defined?(ActiveStorage) && !Rails.application.config.use_paperclip
|
16
|
-
hash[:image_url] = request.base_url + Rails.application.routes.url_helpers.rails_blob_path(optional.delete(:image).attachment, only_path: true) if optional[:image]
|
17
|
-
else
|
18
|
-
hash[:image_url] = request.base_url + asset_url(optional.delete(:image).attachment) if optional[:image]
|
19
|
-
end
|
14
|
+
hash[:image_url] = product_for_segment_image_url(hash, optional)
|
20
15
|
end.merge(optional).to_json.html_safe
|
21
16
|
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
# This method returns either asset_url (Paperclip) or rails_blob_path (ActiveStorage) to return the specified image(s)
|
21
|
+
def product_for_segment_image_url(hash, optional)
|
22
|
+
return unless optional[:image]
|
23
|
+
|
24
|
+
# Spree 4.0 dropped Paperclip support
|
25
|
+
if Gem.loaded_specs['spree_core'].version >= Gem::Version.create('4.0.0.alpha') || (defined?(ActiveStorage) && !Rails.application.config.use_paperclip)
|
26
|
+
request.base_url + Rails.application.routes.url_helpers.rails_blob_path(optional.delete(:image).attachment, only_path: true)
|
27
|
+
else
|
28
|
+
request.base_url + asset_url(optional.delete(:image).attachment)
|
29
|
+
end
|
30
|
+
end
|
22
31
|
end
|
23
32
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
if Gem.loaded_specs['spree_core'].version >= Gem::Version.create('3.5.0')
|
2
2
|
Deface::Override.new(
|
3
3
|
virtual_path: 'spree/admin/shared/sub_menu/_configuration',
|
4
|
-
name: '
|
4
|
+
name: 'add_analytics_to_admin_sidebar',
|
5
5
|
insert_bottom: '[data-hook="admin_configurations_sidebar_menu"]',
|
6
|
-
|
7
|
-
text: '<%= configurations_sidebar_menu_item(Spree.t(:analytics_trackers), spree.admin_trackers_path) if can? :manage, Spree::Tracker %>'
|
6
|
+
partial: 'spree/admin/shared/analytics_sidebar_menu'
|
8
7
|
)
|
9
8
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
</ul>
|
5
|
-
<% end %>
|
1
|
+
<%= configurations_sidebar_menu_item(
|
2
|
+
Spree.t(:analytics), spree.admin_trackers_path
|
3
|
+
) if can? :manage, Spree::Config %>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div data-hook="admin_tracker_form_fields" class="row">
|
2
|
-
<div class="col-
|
2
|
+
<div class="col-12 col-lg-6" data-hook="analytics_engine">
|
3
3
|
<%= f.field_container :engine, class: ["form-group"], "data-hook" => "analytics_engine" do %>
|
4
4
|
<%= f.label :engine, Spree.t(:analytics_engine) %>
|
5
5
|
<%= f.select :engine, Spree::Tracker.engines.keys.sort.map { |k| [k.humanize, k] }, {}, { class: 'select2' } %>
|
6
6
|
<%= f.error_message_on :engine %>
|
7
7
|
<% end %>
|
8
8
|
</div>
|
9
|
-
<div class="col-
|
9
|
+
<div class="col-12 col-lg-6">
|
10
10
|
<div data-hook="active" class="form-group">
|
11
11
|
<%= label_tag nil, Spree.t(:active) %>
|
12
12
|
<div class="radio">
|
@@ -23,14 +23,14 @@
|
|
23
23
|
</div>
|
24
24
|
</div>
|
25
25
|
</div>
|
26
|
-
<div class="col-
|
26
|
+
<div class="col-12 col-lg-6" data-hook="analytics_id">
|
27
27
|
<%= f.field_container :analytics_id, class: ["form-group"], "data-hook" => "analytics_id" do %>
|
28
28
|
<%= f.label :analytics_id, Spree.t(:google_analytics_id) %>
|
29
29
|
<%= f.text_field :analytics_id, class: 'form-control' %>
|
30
30
|
<%= f.error_message_on :analytics_id %>
|
31
31
|
<% end %>
|
32
32
|
</div>
|
33
|
-
<div data-hook="additional_tracker_fields"></div>
|
34
|
-
</div>
|
35
|
-
<div data-hook="admin_tracker_form_fields" class="row">
|
33
|
+
<div class="col-12 col-lg-6" data-hook="additional_tracker_fields"></div>
|
36
34
|
</div>
|
35
|
+
|
36
|
+
<div data-hook="admin_tracker_form_fields" class="row"></div>
|
@@ -8,12 +8,6 @@
|
|
8
8
|
|
9
9
|
<% if @trackers.any? %>
|
10
10
|
<table class="table">
|
11
|
-
<colgroup>
|
12
|
-
<col style="width: 30%">
|
13
|
-
<col style="width: 40%">
|
14
|
-
<col style="width: 15%">
|
15
|
-
<col style="width: 15%">
|
16
|
-
</colgroup>
|
17
11
|
<thead>
|
18
12
|
<tr data-hook="admin_trackers_index_headers">
|
19
13
|
<th><%= Spree.t(:google_analytics_id) %></th>
|
@@ -27,7 +21,9 @@
|
|
27
21
|
<tr id="<%= spree_dom_id tracker %>" data-hook="admin_trackers_index_rows">
|
28
22
|
<td><%= tracker.analytics_id %></td>
|
29
23
|
<td><%= tracker.engine.humanize %></td>
|
30
|
-
<td class="text-center"
|
24
|
+
<td class="text-center">
|
25
|
+
<%= tracker.active ? Spree.t(:say_yes) : Spree.t(:say_no) %>
|
26
|
+
</td>
|
31
27
|
<td class="actions text-right">
|
32
28
|
<%= link_to_edit(tracker, no_text: true) if can? :edit, tracker %>
|
33
29
|
<%= link_to_delete(tracker, no_text: true) if can? :delete, tracker %>
|
@@ -37,7 +33,7 @@
|
|
37
33
|
</tbody>
|
38
34
|
</table>
|
39
35
|
<% else %>
|
40
|
-
<div class="alert alert-
|
36
|
+
<div class="alert alert-info">
|
41
37
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::Tracker)) %>,
|
42
38
|
<%= link_to(Spree.t(:add_one), new_object_url) if can? :create, Spree::Tracker %>!
|
43
39
|
</div>
|
data/gemfiles/spree_3_7.gemfile
CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_dependency 'spree_core', spree_version
|
26
26
|
s.add_dependency 'spree_backend', spree_version
|
27
27
|
s.add_dependency 'spree_extension'
|
28
|
+
s.add_dependency 'deface', '~> 1.0'
|
28
29
|
|
29
30
|
s.add_development_dependency 'appraisal'
|
30
31
|
s.add_development_dependency 'capybara'
|
@@ -40,5 +41,5 @@ Gem::Specification.new do |s|
|
|
40
41
|
s.add_development_dependency 'sass-rails'
|
41
42
|
s.add_development_dependency 'selenium-webdriver'
|
42
43
|
s.add_development_dependency 'simplecov'
|
43
|
-
s.add_development_dependency 'sqlite3'
|
44
|
+
s.add_development_dependency 'sqlite3'
|
44
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_analytics_trackers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Spark Solutions
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -64,6 +64,20 @@ dependencies:
|
|
64
64
|
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '0'
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: deface
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1.0'
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '1.0'
|
67
81
|
- !ruby/object:Gem::Dependency
|
68
82
|
name: appraisal
|
69
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -264,16 +278,16 @@ dependencies:
|
|
264
278
|
name: sqlite3
|
265
279
|
requirement: !ruby/object:Gem::Requirement
|
266
280
|
requirements:
|
267
|
-
- - "
|
281
|
+
- - ">="
|
268
282
|
- !ruby/object:Gem::Version
|
269
|
-
version:
|
283
|
+
version: '0'
|
270
284
|
type: :development
|
271
285
|
prerelease: false
|
272
286
|
version_requirements: !ruby/object:Gem::Requirement
|
273
287
|
requirements:
|
274
|
-
- - "
|
288
|
+
- - ">="
|
275
289
|
- !ruby/object:Gem::Version
|
276
|
-
version:
|
290
|
+
version: '0'
|
277
291
|
description: 'Supports Google Analytics '
|
278
292
|
email: we@sparksolutions.co
|
279
293
|
executables: []
|
@@ -289,13 +303,10 @@ files:
|
|
289
303
|
- README.md
|
290
304
|
- Rakefile
|
291
305
|
- app/controllers/spree/admin/trackers_controller.rb
|
292
|
-
- app/controllers/
|
306
|
+
- app/controllers/spree_analytics_trackers/store_controller_decorator.rb
|
293
307
|
- app/helpers/spree/trackers_helper.rb
|
294
|
-
- app/models/spree/line_item_decorator.rb
|
295
|
-
- app/models/spree/order_decorator.rb
|
296
|
-
- app/models/spree/product_decorator.rb
|
297
308
|
- app/models/spree/tracker.rb
|
298
|
-
- app/models/
|
309
|
+
- app/models/spree_analytics_trackers/user_decorator.rb
|
299
310
|
- app/overrides/add_analytics_to_admin_sidebar.rb
|
300
311
|
- app/overrides/add_cart_viewed_to_orders_edit.rb
|
301
312
|
- app/overrides/add_checkout_step_viewed_to_checkout_edit.rb
|
@@ -334,6 +345,7 @@ files:
|
|
334
345
|
- gemfiles/.bundle/config
|
335
346
|
- gemfiles/spree_3_5.gemfile
|
336
347
|
- gemfiles/spree_3_7.gemfile
|
348
|
+
- gemfiles/spree_4_0.gemfile
|
337
349
|
- gemfiles/spree_master.gemfile
|
338
350
|
- lib/generators/spree_analytics_trackers/install/install_generator.rb
|
339
351
|
- lib/spree_analytics_trackers.rb
|
@@ -1,11 +0,0 @@
|
|
1
|
-
if Gem.loaded_specs['spree_core'].version < Gem::Version.create('3.2.0')
|
2
|
-
Spree::Product.class_eval do
|
3
|
-
def category
|
4
|
-
taxons.joins(:taxonomy).find_by(spree_taxonomies: { name: Spree.t(:taxonomy_categories_name) })
|
5
|
-
end
|
6
|
-
|
7
|
-
def brand
|
8
|
-
taxons.joins(:taxonomy).find_by(spree_taxonomies: { name: Spree.t(:taxonomy_brands_name) })
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|