From 6a535b0083032f6958766b3bda5365b1e9d6ed92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 19:54:26 +0100 Subject: [PATCH 01/14] - Using active_link_to if defined (falling back to link_to) - Cleaning up concat of html (no longer need html_safe on generated output) - Removing inline html (except the icon chevron) - When a block is passed to sidebar_item (for generating a dropdown), an random id is created --- .../helpers/sidebar_helper.rb | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 5cdac84..cd6fa0c 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -13,17 +13,29 @@ def sidebar(*args, &block) end end - def sidebar_item(title, url, &block) + def sidebar_item(title, url = nil, &block) if block_given? + url = "##{(0...20).map { ('a'..'z').to_a[rand(26)] }.join}" unless url.present? + content_tag :li do - html = link_to("#{title} ".html_safe, url, data: { toggle: 'collapse' }) - html << content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do + concat(link_to("#{title} ".html_safe, url, data: {toggle: 'collapse'})) + concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield - end - html.html_safe + end) end else - "
  • #{link_to title, url}
  • ".html_safe + content_tag :li, class: 'nav-item' do + smart_link_to title, url, class: 'nav-link' + end end - end end + end + + def smart_link_to(title, url, options = {}) + if defined?(ActiveLinkTo) + active_link_to(title, url, options) + else + link_to title, url, options + end + end + end end From be035c9a19cfc5c435b7762836424613cf16fea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 21:53:55 +0100 Subject: [PATCH 02/14] Small fixes --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index cd6fa0c..1d1d128 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -15,10 +15,10 @@ def sidebar(*args, &block) def sidebar_item(title, url = nil, &block) if block_given? - url = "##{(0...20).map { ('a'..'z').to_a[rand(26)] }.join}" unless url.present? + url = "##{(0...20).map { ('a'..'z').to_a.sample }.join }" unless url.present? content_tag :li do - concat(link_to("#{title} ".html_safe, url, data: {toggle: 'collapse'})) + concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: { toggle: 'collapse' })) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield end) @@ -37,5 +37,9 @@ def smart_link_to(title, url, options = {}) link_to title, url, options end end + + def dropdown_arrow_icon + tag :i, class: 'fa fa-chevron-right' + end end end From afc131486835de6890abf43e94675ab90472d5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 21:55:23 +0100 Subject: [PATCH 03/14] Fixing long line --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 1d1d128..f65e004 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -15,7 +15,9 @@ def sidebar(*args, &block) def sidebar_item(title, url = nil, &block) if block_given? - url = "##{(0...20).map { ('a'..'z').to_a.sample }.join }" unless url.present? + url = "##{(0...20).map { + ('a'..'z').to_a.sample + }.join }" unless url.present? content_tag :li do concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: { toggle: 'collapse' })) From e79507e4d0bb42a4fae097e8a38d7a1c8f68f444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 21:57:32 +0100 Subject: [PATCH 04/14] Refactoring to method --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index f65e004..ffdb369 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -15,9 +15,7 @@ def sidebar(*args, &block) def sidebar_item(title, url = nil, &block) if block_given? - url = "##{(0...20).map { - ('a'..'z').to_a.sample - }.join }" unless url.present? + url = "##{generate_random_id}" unless url.present? content_tag :li do concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: { toggle: 'collapse' })) @@ -43,5 +41,9 @@ def smart_link_to(title, url, options = {}) def dropdown_arrow_icon tag :i, class: 'fa fa-chevron-right' end + + def generate_random_id + (0...20).map { ('a'..'z').to_a.sample }.join + end end end From a39d3dae0248191752ea4a40bc3d94ba14b5bdee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:00:28 +0100 Subject: [PATCH 05/14] Reducing method size --- .../helpers/sidebar_helper.rb | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index ffdb369..b979e34 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -16,25 +16,24 @@ def sidebar(*args, &block) def sidebar_item(title, url = nil, &block) if block_given? url = "##{generate_random_id}" unless url.present? - content_tag :li do - concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: { toggle: 'collapse' })) + concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: {toggle: 'collapse'})) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield end) end else - content_tag :li, class: 'nav-item' do - smart_link_to title, url, class: 'nav-link' - end + smart_link_to title, url, class: 'nav-link' end end def smart_link_to(title, url, options = {}) - if defined?(ActiveLinkTo) - active_link_to(title, url, options) - else - link_to title, url, options + content_tag :li, class: 'nav-item' do + if defined?(ActiveLinkTo) + active_link_to(title, url, options) + else + link_to title, url, options + end end end From 0d586f6490100b667f934f7d8d65c2e79abc156c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:01:40 +0100 Subject: [PATCH 06/14] Space inside {} --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index b979e34..8358e01 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -17,7 +17,7 @@ def sidebar_item(title, url = nil, &block) if block_given? url = "##{generate_random_id}" unless url.present? content_tag :li do - concat(link_to("#{title} #{dropdown_arrow_icon}".html_safe, url, data: {toggle: 'collapse'})) + concat(link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: { toggle: 'collapse' })) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield end) From 060b8c6dbb3f3d5634e956db4a2244b051d72ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:04:43 +0100 Subject: [PATCH 07/14] Splitting lines --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 8358e01..d3fb3b1 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -17,7 +17,9 @@ def sidebar_item(title, url = nil, &block) if block_given? url = "##{generate_random_id}" unless url.present? content_tag :li do - concat(link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: { toggle: 'collapse' })) + concat( + link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) + ) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield end) From 37e233973ec3f5b7836d9a00b177bfa431d6aa4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:12:37 +0100 Subject: [PATCH 08/14] Fiddling with line length --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index d3fb3b1..dbef0f6 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -18,7 +18,7 @@ def sidebar_item(title, url = nil, &block) url = "##{generate_random_id}" unless url.present? content_tag :li do concat( - link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) + link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) ) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield From cb01e52d9cac71b1dd80a0d0707879ea981f9ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:14:32 +0100 Subject: [PATCH 09/14] Shortening more to please Hound --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index dbef0f6..7500888 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -18,7 +18,7 @@ def sidebar_item(title, url = nil, &block) url = "##{generate_random_id}" unless url.present? content_tag :li do concat( - link_to("#{ title } #{ dropdown_arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) + link_to("#{ title } #{ arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) ) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield @@ -39,7 +39,7 @@ def smart_link_to(title, url, options = {}) end end - def dropdown_arrow_icon + def arrow_icon tag :i, class: 'fa fa-chevron-right' end From b68097fb06d666da640c71378785cb20b6e0f6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:15:53 +0100 Subject: [PATCH 10/14] More improvments --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 7500888..da86738 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -18,7 +18,8 @@ def sidebar_item(title, url = nil, &block) url = "##{generate_random_id}" unless url.present? content_tag :li do concat( - link_to("#{ title } #{ arrow_icon }".html_safe, url, data: {toggle: 'collapse'}) + link_to("#{ title } #{ arrow_icon }".html_safe, + url, data: { toggle: 'collapse' }) ) concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do yield From 4a11b59d1f78844efb0275b14b78d01aad4e0a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:17:05 +0100 Subject: [PATCH 11/14] Fixing long line --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index da86738..d419c10 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -21,9 +21,12 @@ def sidebar_item(title, url = nil, &block) link_to("#{ title } #{ arrow_icon }".html_safe, url, data: { toggle: 'collapse' }) ) - concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do - yield - end) + concat( + content_tag(:ul, class: 'submenu collapse', + id: url.delete('#')) do + yield + end + ) end else smart_link_to title, url, class: 'nav-link' From 86b4f6be7d53a87940a780c3fb051e931156cc65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:18:30 +0100 Subject: [PATCH 12/14] Align hash --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index d419c10..7367a5e 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -23,7 +23,7 @@ def sidebar_item(title, url = nil, &block) ) concat( content_tag(:ul, class: 'submenu collapse', - id: url.delete('#')) do + id: url.delete('#')) do yield end ) From 984eb9ce21f5b746329ad630f3ba4e98e8f59fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:23:09 +0100 Subject: [PATCH 13/14] Fixing closing i-tag --- lib/sigbit_admin_rails/helpers/sidebar_helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 7367a5e..119a606 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -44,7 +44,8 @@ def smart_link_to(title, url, options = {}) end def arrow_icon - tag :i, class: 'fa fa-chevron-right' + content_tag :i, class: 'fa fa-chevron-right' do + end end def generate_random_id From 3a7f1f2eb8788d9364d83429cc12923e3ab302fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andre=CC=81?= Date: Fri, 17 Feb 2017 22:29:31 +0100 Subject: [PATCH 14/14] Restore long lines due to horrible code --- .../helpers/sidebar_helper.rb | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb index 119a606..53ad24b 100644 --- a/lib/sigbit_admin_rails/helpers/sidebar_helper.rb +++ b/lib/sigbit_admin_rails/helpers/sidebar_helper.rb @@ -4,11 +4,10 @@ def sidebar(*args, &block) options = args.extract_options! if block_given? content_tag :div, id: 'sidebar-wrapper' do - html = link_to '', options[:brand_url], class: 'sidebar-brand hidden-sm-down' - html << content_tag(:ul, class: 'sidebar-nav') do + concat(link_to '', options[:brand_url], class: 'sidebar-brand hidden-sm-down') + concat(content_tag(:ul, class: 'sidebar-nav') do yield - end - html.html_safe + end) end end end @@ -17,16 +16,10 @@ def sidebar_item(title, url = nil, &block) if block_given? url = "##{generate_random_id}" unless url.present? content_tag :li do - concat( - link_to("#{ title } #{ arrow_icon }".html_safe, - url, data: { toggle: 'collapse' }) - ) - concat( - content_tag(:ul, class: 'submenu collapse', - id: url.delete('#')) do - yield - end - ) + concat(link_to("#{ title } #{ arrow_icon }".html_safe, url, data: { toggle: 'collapse' })) + concat(content_tag(:ul, class: 'submenu collapse', id: url.delete('#')) do + yield + end) end else smart_link_to title, url, class: 'nav-link'