ama_layout 6.10.0.pre → 7.0.pre

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d916fc4391d6da9e16396a302ffd07345566779b
4
- data.tar.gz: 85c756a461a179396cd619ba12a38e1b53b998e6
3
+ metadata.gz: b6b9a4cdafc68754b4b609a395a2a320ffd1be61
4
+ data.tar.gz: 70892459cd1d3e4b09d9304ccf2ed15a3f678611
5
5
  SHA512:
6
- metadata.gz: 722d5c576646f4d9e1959e2c647446d271a64c34b34e11e3999b4694a14a69f81512287123f25ca2f894cad93ce96afd4eec6382981f4e73775e543f0da32996
7
- data.tar.gz: 67e035cda98f69a883ecbdbc2f4229d3d750b4fa2a4f7e82c0bc8e52b0c72c28b5bbd558c013b69fa1172ef1740bfc51bdcb73cc1ad7ceec6d84247ca3cea23d
6
+ metadata.gz: 856dbbca7af3686fa5fd57b873c0ab448b3df411d9e1ba66abbb1a2194bb480033eb4ac4997ec6e708ad446265545a0a30e600dfd2c85c1405bf0a8303dc4600
7
+ data.tar.gz: 9fd42c8bf9c50e2e5eb01564759977b6b17e118cb7d5b8ff5c41c834bd94e4781241916f56d74fec5f1bf9e302fca19a5c728adede34214fc66a85638bb231e4
@@ -0,0 +1,10 @@
1
+ ### PR Review Checklist
2
+ To be completed by the person who opens the PR. Use strikethroughs for items that are not applicable in list.
3
+ - [ ] I have reviewed my own PR to check syntax & logic, removed unnecessary/old code, made sure everything aligns with our style guide and BEM.
4
+ - [ ] I've added new components to the style guide (or have a PR in to add them).
5
+ - [ ] Any applicable version numbers have been updated.
6
+ - [ ] I've tested on mobile, tablet, and desktop, as well as across all of the browsers we support.
7
+ - [ ] I've proof-read all text for legibility, proper grammar, punctuation, and capitalization (titlecase).
8
+ - [ ] I have written a detailed PR message explaining what is being changed and why
9
+ - [ ] I’ve linked to any relevant VSTS tickets
10
+ - [ ] I’ve added the appropriate review symbols to my PR - (elephant) for dev review, (art) for design
@@ -17,12 +17,11 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
+
20
21
  spec.add_dependency 'foundation-rails', '>= 6.4.1.2'
21
- spec.add_dependency 'rails', '>= 5.0'
22
- spec.add_dependency 'activemodel-serializers-xml'
23
- spec.add_dependency 'draper', '>= 3.0.0'
22
+ spec.add_dependency 'rails', '>= 4.2'
24
23
  spec.add_dependency 'browser', '~> 2.0'
25
- spec.add_dependency 'breadcrumbs_on_rails', '>= 3'
24
+ spec.add_dependency 'breadcrumbs_on_rails', '~> 3.0.1'
26
25
  spec.add_dependency 'redis-rails'
27
26
  spec.add_development_dependency 'bundler', '~> 1.11'
28
27
  spec.add_development_dependency 'rake', '>= 11.0'
@@ -6,7 +6,7 @@ module AmaLayoutPathHelper
6
6
  def youraccount_dashboard_path
7
7
  "#{Rails.configuration.youraccount_site}/dashboard"
8
8
  end
9
-
9
+
10
10
  def youraccount_billing_path
11
11
  "#{Rails.configuration.youraccount_site}/billing"
12
12
  end
@@ -0,0 +1,3 @@
1
+ <li class="side-nav__item">
2
+ <a class="side-nav__link" href="/logout">Sign Out</a>
3
+ </li>
@@ -1,10 +1,10 @@
1
1
  require 'ama_layout/version'
2
2
  require 'rails/all'
3
3
  require 'foundation-rails'
4
- require 'draper'
5
4
  require 'browser'
6
5
  require 'breadcrumbs_on_rails'
7
6
  require 'redis-rails'
7
+ require 'ama_layout/draper_replacement'
8
8
  require 'ama_layout/breadcrumb_builder'
9
9
  require 'ama_layout/moneris'
10
10
  require 'ama_layout/navigation'
@@ -25,6 +25,7 @@ require 'ama_layout/notifications'
25
25
  module AmaLayout
26
26
  class Engine < Rails::Engine
27
27
  initializer('ama_layout') do
28
+ Rails.configuration.view_paths = File.join(self.root, 'app', 'views')
28
29
  I18n.load_path << File.join(self.root, 'app', 'config', 'locales', 'en.yml')
29
30
  ::ActionController::Base.send :include, AmaLayout::ActionController
30
31
  end
@@ -1,6 +1,7 @@
1
1
  module AmaLayout
2
- class MonerisDecorator < Draper::Decorator
3
- delegate_all
2
+ class MonerisDecorator
3
+ include AmaLayout::DraperReplacement
4
+ extend AmaLayout::DraperReplacement
4
5
 
5
6
  def textbox
6
7
  h.raw File.read textbox_style_file
@@ -1,20 +1,19 @@
1
1
  module AmaLayout
2
- class NavigationDecorator < Draper::Decorator
3
- delegate_all
2
+ class NavigationDecorator
3
+ include AmaLayout::DraperReplacement
4
+ extend AmaLayout::DraperReplacement
4
5
 
5
6
  def items
6
7
  object.items.map { |i| i.decorate }
7
8
  end
8
9
 
9
10
  def display_name_text
10
- name_or_email.truncate(30)
11
+ name_or_email.try(:truncate,30)
11
12
  end
12
13
 
13
14
  def sign_out_link
14
15
  return "" unless user
15
- h.content_tag :li, class: "side-nav__item" do
16
- h.concat h.link_to "Sign Out", "/logout", class: "side-nav__link"
17
- end
16
+ h.render partial: "ama_layout/sign_out_link"
18
17
  end
19
18
 
20
19
  def top_nav
@@ -1,6 +1,7 @@
1
1
  module AmaLayout
2
- class NavigationItemDecorator < Draper::Decorator
3
- delegate_all
2
+ class NavigationItemDecorator
3
+ include AmaLayout::DraperReplacement
4
+ extend AmaLayout::DraperReplacement
4
5
 
5
6
  def sub_nav
6
7
  object.sub_nav.map { |sn| sn.decorate }
@@ -1,6 +1,7 @@
1
1
  module AmaLayout
2
- class NotificationDecorator < Draper::Decorator
3
- delegate_all
2
+ class NotificationDecorator
3
+ include AmaLayout::DraperReplacement
4
+ extend AmaLayout::DraperReplacement
4
5
 
5
6
  ICONS = {
6
7
  notice: {
@@ -0,0 +1,27 @@
1
+ module AmaLayout
2
+ module DraperReplacement
3
+ attr_accessor :object
4
+
5
+ def h
6
+ ActionView::Base.new(::ActionController::Base.view_paths, {}, ::ApplicationController.new)
7
+ end
8
+
9
+ def initialize(args = {})
10
+ self.object = args
11
+ end
12
+
13
+ def self.decorate_collection(objects = {})
14
+ objects.map { |o| self.new(o) }
15
+ end
16
+
17
+ def method_missing(method, *args, &block)
18
+ return super unless delegatable?(method)
19
+
20
+ (object || DraperReplacement).send(method, *args, &block)
21
+ end
22
+
23
+ def delegatable?(method)
24
+ object.respond_to?(method) || DraperReplacement.respond_to?(method)
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,10 @@
1
1
  module AmaLayout
2
2
  class Moneris
3
3
  include ActiveModel::Model
4
- include Draper::Decoratable
4
+
5
+ def decorate
6
+ AmaLayout::MonerisDecorator.new(self)
7
+ end
5
8
 
6
9
  attr_accessor :textbox_style_file
7
10
 
@@ -1,7 +1,10 @@
1
1
  module AmaLayout
2
2
  class Navigation
3
3
  include ActiveModel::Model
4
- include Draper::Decoratable
4
+
5
+ def decorate
6
+ AmaLayout::NavigationDecorator.new(self)
7
+ end
5
8
 
6
9
  attr_accessor :user, :current_url, :nav_file_path, :display_name
7
10
 
@@ -1,7 +1,10 @@
1
1
  module AmaLayout
2
2
  class NavigationItem
3
3
  include ActiveModel::Model
4
- include Draper::Decoratable
4
+
5
+ def decorate
6
+ AmaLayout::NavigationItemDecorator.new(self)
7
+ end
5
8
 
6
9
  attr_accessor :text, :icon, :link, :target, :alt, :sub_nav, :current_url
7
10
 
@@ -1,7 +1,5 @@
1
1
  module AmaLayout
2
2
  class Notification
3
- include Draper::Decoratable
4
-
5
3
  TYPES = %i[notice warning alert].freeze
6
4
  DEFAULT_LIFESPAN = 1.year.freeze
7
5
  FORMAT_VERSION = '1.0.0'.freeze
@@ -1,3 +1,3 @@
1
1
  module AmaLayout
2
- VERSION = '6.10.0.pre'
2
+ VERSION = '7.0.pre'
3
3
  end
@@ -94,8 +94,9 @@ describe AmaLayout::NavigationDecorator do
94
94
  context "with items" do
95
95
  it "renders the partial" do
96
96
  allow_any_instance_of(AmaLayout::Navigation).to receive(:user).and_return(OpenStruct.new(navigation: "member"))
97
- allow_any_instance_of(Draper::HelperProxy).to receive(:render).and_return "render"
98
- expect(navigation_presenter.top_nav).to eq "render"
97
+ allow(Rails.configuration).to receive(:amaabca_site).and_return("amaabca.example.com")
98
+ allow(navigation_presenter).to receive(:sign_out_link).and_return("sign_out_link")
99
+ expect(navigation_presenter.top_nav).to include("AMA Road Reports", "http://auth.waffles.ca")
99
100
  end
100
101
  end
101
102
 
@@ -110,8 +111,7 @@ describe AmaLayout::NavigationDecorator do
110
111
  context "with items" do
111
112
  it "renders the partial" do
112
113
  allow_any_instance_of(AmaLayout::Navigation).to receive(:user).and_return(OpenStruct.new(navigation: "member"))
113
- allow_any_instance_of(Draper::HelperProxy).to receive(:render).and_return "render"
114
- expect(navigation_presenter.sidebar).to eq "render"
114
+ expect(navigation_presenter.sidebar).to include("Online Account", "Membership Overview", "Rewards Overview")
115
115
  end
116
116
  end
117
117
 
@@ -125,8 +125,7 @@ describe AmaLayout::NavigationDecorator do
125
125
  context "account toggle" do
126
126
  it "in ama_layout it renders a blank partial" do
127
127
  allow_any_instance_of(AmaLayout::Navigation).to receive(:user).and_return(OpenStruct.new(navigation: "member"))
128
- allow_any_instance_of(Draper::HelperProxy).to receive(:render).and_return "render"
129
- expect(navigation_presenter.account_toggle).to eq "render"
128
+ expect(navigation_presenter.account_toggle).to eq ""
130
129
  end
131
130
  end
132
131
 
@@ -153,8 +152,7 @@ describe AmaLayout::NavigationDecorator do
153
152
 
154
153
  describe '#notifications' do
155
154
  it 'renders the content to the page' do
156
- expect(subject.h).to receive(:render).once.and_return true
157
- expect(subject.notifications).to be true
155
+ expect(subject.notifications).to include("data-notifications-toggle")
158
156
  end
159
157
  end
160
158
 
@@ -217,8 +215,7 @@ describe AmaLayout::NavigationDecorator do
217
215
 
218
216
  describe '#notification_sidebar' do
219
217
  it 'renders content to the page' do
220
- expect(subject.h).to receive(:render).once.and_return true
221
- expect(subject.notification_sidebar).to be true
218
+ expect(subject.notification_sidebar).to include("Sign up now","off-canvas position-right")
222
219
  end
223
220
  end
224
221
 
@@ -39,8 +39,7 @@ describe AmaLayout::NavigationItemDecorator do
39
39
  context "with items" do
40
40
  it "renders the partial" do
41
41
  navigation_item.sub_nav = items
42
- allow_any_instance_of(Draper::HelperProxy).to receive(:render).and_return "render"
43
- expect(navigation_item_presenter.top_sub_nav).to eq "render"
42
+ expect(navigation_item_presenter.top_sub_nav).to include("Othersite Overview", "http://othersite.com")
44
43
  end
45
44
  end
46
45
 
@@ -55,8 +54,7 @@ describe AmaLayout::NavigationItemDecorator do
55
54
  context "with items" do
56
55
  it "renders the partial" do
57
56
  navigation_item.sub_nav = items
58
- allow_any_instance_of(Draper::HelperProxy).to receive(:render).and_return "render"
59
- expect(navigation_item_presenter.sidebar_sub_nav).to eq "render"
57
+ expect(navigation_item_presenter.sidebar_sub_nav).to include(">Othersite Overview", "http://othersite.com")
60
58
  end
61
59
  end
62
60
 
@@ -18,8 +18,6 @@ ActionView::TestCase::TestController.instance_eval do
18
18
  helper Rails.application.routes.url_helpers
19
19
  end
20
20
 
21
- Draper::ViewContext.test_strategy :fast
22
-
23
21
  RSpec.configure do |config|
24
22
  config.infer_spec_type_from_file_location!
25
23
  config.include Rails.application.routes.url_helpers
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ama_layout
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.10.0.pre
4
+ version: 7.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael van den Beuken
@@ -18,7 +18,7 @@ authors:
18
18
  autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
- date: 2017-08-02 00:00:00.000000000 Z
21
+ date: 2017-08-15 00:00:00.000000000 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: foundation-rails
@@ -40,42 +40,14 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: '5.0'
43
+ version: '4.2'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: '5.0'
51
- - !ruby/object:Gem::Dependency
52
- name: activemodel-serializers-xml
53
- requirement: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: '0'
58
- type: :runtime
59
- prerelease: false
60
- version_requirements: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: '0'
65
- - !ruby/object:Gem::Dependency
66
- name: draper
67
- requirement: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- version: 3.0.0
72
- type: :runtime
73
- prerelease: false
74
- version_requirements: !ruby/object:Gem::Requirement
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 3.0.0
50
+ version: '4.2'
79
51
  - !ruby/object:Gem::Dependency
80
52
  name: browser
81
53
  requirement: !ruby/object:Gem::Requirement
@@ -94,16 +66,16 @@ dependencies:
94
66
  name: breadcrumbs_on_rails
95
67
  requirement: !ruby/object:Gem::Requirement
96
68
  requirements:
97
- - - ">="
69
+ - - "~>"
98
70
  - !ruby/object:Gem::Version
99
- version: '3'
71
+ version: 3.0.1
100
72
  type: :runtime
101
73
  prerelease: false
102
74
  version_requirements: !ruby/object:Gem::Requirement
103
75
  requirements:
104
- - - ">="
76
+ - - "~>"
105
77
  - !ruby/object:Gem::Version
106
- version: '3'
78
+ version: 3.0.1
107
79
  - !ruby/object:Gem::Dependency
108
80
  name: redis-rails
109
81
  requirement: !ruby/object:Gem::Requirement
@@ -267,6 +239,7 @@ files:
267
239
  - ".travis.yml"
268
240
  - Gemfile
269
241
  - LICENSE.txt
242
+ - PULL_REQUEST_TEMPLATE.md
270
243
  - README.md
271
244
  - Rakefile
272
245
  - ama_layout.gemspec
@@ -306,6 +279,7 @@ files:
306
279
  - app/views/ama_layout/_notification_sidebar.html.erb
307
280
  - app/views/ama_layout/_notifications.html.erb
308
281
  - app/views/ama_layout/_sidebar.html.erb
282
+ - app/views/ama_layout/_sign_out_link.html.erb
309
283
  - app/views/ama_layout/_siteheader.html.erb
310
284
  - app/views/ama_layout/_sub_nav.html.erb
311
285
  - app/views/ama_layout/_sub_nav_item.html.erb
@@ -322,6 +296,7 @@ files:
322
296
  - lib/ama_layout/decorators/navigation_decorator.rb
323
297
  - lib/ama_layout/decorators/navigation_item_decorator.rb
324
298
  - lib/ama_layout/decorators/notification_decorator.rb
299
+ - lib/ama_layout/draper_replacement.rb
325
300
  - lib/ama_layout/moneris.rb
326
301
  - lib/ama_layout/moneris/textbox.txt
327
302
  - lib/ama_layout/navigation.rb
@@ -390,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
390
365
  version: 1.3.1
391
366
  requirements: []
392
367
  rubyforge_project:
393
- rubygems_version: 2.4.5.1
368
+ rubygems_version: 2.5.1
394
369
  signing_key:
395
370
  specification_version: 4
396
371
  summary: ".ama.ab.ca site layouts"