From 8d681dd90aec31c1b31f93a5c0c51fd3ad2ab46e Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 17 Oct 2017 17:29:48 +1300 Subject: [PATCH 01/11] Another code style fixup --- .rubocop_todo.yml | 5 ----- app/controllers/omniauth_callbacks_controller.rb | 8 ++++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 1e5e3c9d0..344c609b0 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -256,11 +256,6 @@ Style/SymbolProc: Exclude: - 'lib/tasks/growstuff.rake' -# Cop supports --auto-correct. -Style/UnlessElse: - Exclude: - - 'app/controllers/omniauth_callbacks_controller.rb' - # Cop supports --auto-correct. # Configuration parameters: SupportedStyles, WordRegex. # SupportedStyles: percent, brackets diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb index 11bb634b7..afb56d3db 100644 --- a/app/controllers/omniauth_callbacks_controller.rb +++ b/app/controllers/omniauth_callbacks_controller.rb @@ -29,15 +29,15 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController member = action.find_or_create_from_authorization(auth) @authentication = action.establish_authentication(auth, member) - unless action.member_created? - sign_in_and_redirect member, event: :authentication # this will throw if @user is not activated - set_flash_message(:notice, :success, kind: auth['provider']) if is_navigational_format? - else + if action.member_created? raise "Invalid provider" unless ['facebook', 'twitter', 'flickr'].index(auth['provider'].to_s) session["devise.#{auth['provider']}_data"] = request.env["omniauth.auth"] sign_in member redirect_to finish_signup_url(member) + else + sign_in_and_redirect member, event: :authentication # this will throw if @user is not activated + set_flash_message(:notice, :success, kind: auth['provider']) if is_navigational_format? end end From 1279dd63bcbbb586a736853ef09951093be441fb Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 17 Oct 2017 22:20:17 +1300 Subject: [PATCH 02/11] Reduced complexity of growstuff_markdown --- .rubocop_todo.yml | 5 -- lib/haml/filters/growstuff_markdown.rb | 69 +++++++++++++++----------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 344c609b0..c162bce19 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -226,11 +226,6 @@ Style/PercentLiteralDelimiters: - 'spec/features/signin_spec.rb' - 'spec/features/signout_spec.rb' -# Cop supports --auto-correct. -Style/PerlBackrefs: - Exclude: - - 'lib/haml/filters/growstuff_markdown.rb' - # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. # SupportedStyles: slashes, percent_r, mixed diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index e03e8c306..adf4391f6 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -2,55 +2,68 @@ require 'bluecloth' module Haml::Filters module GrowstuffMarkdown + include Haml::Filters::Base + + def render(text) + @expanded = text + expand_crops + expand_members + BlueCloth.new(@expanded).to_html + end + + private + CROP_REGEX = /(? Date: Tue, 17 Oct 2017 22:29:02 +1300 Subject: [PATCH 03/11] More simplification of growstuff markup --- lib/haml/filters/growstuff_markdown.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index adf4391f6..dd544f991 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -17,10 +17,11 @@ module Haml::Filters MEMBER_REGEX = /(? Date: Tue, 17 Oct 2017 22:33:22 +1300 Subject: [PATCH 04/11] Removed some rubocop todos --- .rubocop_todo.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index c162bce19..50da3b32b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -28,7 +28,6 @@ Lint/UnusedBlockArgument: Exclude: - 'app/controllers/sessions_controller.rb' - 'config/unicorn.rb' - - 'lib/haml/filters/growstuff_markdown.rb' # Cop supports --auto-correct. # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods. @@ -121,7 +120,6 @@ Style/ClassAndModuleChildren: - 'app/controllers/admin/orders_controller.rb' - 'lib/actions/oauth_signup_action.rb' - 'lib/haml/filters/escaped_markdown.rb' - - 'lib/haml/filters/growstuff_markdown.rb' # Cop supports --auto-correct. Style/ColonMethodCall: From 33656a41049e5182d7cef3855cfb673ff311663c Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 12:05:22 +1300 Subject: [PATCH 05/11] Fixed links to crops in growstuff markdown --- lib/haml/filters/growstuff_markdown.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index dd544f991..7c31648aa 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -58,12 +58,12 @@ module Haml::Filters end end - def crop_link(crop, _link_text) + def crop_link(crop, link_text) if crop url = Rails.application.routes.url_helpers.crop_url(crop, host: HOST) - "[#{crop_str}](#{url})" + "[#{link_text}](#{url})" else - crop_str + link_text end end end From 42a10bcd8067afb7a2f070abac5174942eeaf0d3 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 12:10:04 +1300 Subject: [PATCH 06/11] Fixed members link in growstuff markdown --- lib/haml/filters/growstuff_markdown.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index 7c31648aa..07a4d7e35 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -54,7 +54,7 @@ module Haml::Filters url = Rails.application.routes.url_helpers.member_url(member, only_path: true) "[#{link_text}](#{url})" else - member_str + link_text end end From ce9a71cdadf99e24aebd1ddf250336e41af7a917 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 12:10:59 +1300 Subject: [PATCH 07/11] Moved member look up to a method (less duplicate code) --- lib/haml/filters/growstuff_markdown.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index 07a4d7e35..45e4026b2 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -33,16 +33,14 @@ module Haml::Filters # turn [jane](member) into [jane](http://growstuff.org/members/jane) @expanded = @expanded.gsub(MEMBER_REGEX) do member_str = Regexp.last_match(1) - # find member case-insensitively - member = Member.case_insensitive_login_name(member_str).first + member = find_member(member_str) member_link(member, member_str) end # turn @jane into [@jane](http://growstuff.org/members/jane) @expanded = @expanded.gsub(MEMBER_AT_REGEX) do member_str = Regexp.last_match(1) - # find member case-insensitively - member = Member.case_insensitive_login_name(member_str[1..-1]).first + member = find_member(member_str) member_link(member, member_str) end @@ -66,6 +64,12 @@ module Haml::Filters link_text end end + + def find_member(login_name) + # Remove @ if present + login_name = login_name[1..-1] if login_name.start_with?('@') + Member.case_insensitive_login_name(login_name).first + end end # Register it as the handler for the :growstuff_markdown HAML command. From b5fbfaf5151cfd1da68b8dc639e0df0564f71d11 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 12:13:05 +1300 Subject: [PATCH 08/11] Fixed duplicated code in growstuff member link markdown --- lib/haml/filters/growstuff_markdown.rb | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index 45e4026b2..b40c30d9f 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -31,17 +31,13 @@ module Haml::Filters def expand_members # turn [jane](member) into [jane](http://growstuff.org/members/jane) - @expanded = @expanded.gsub(MEMBER_REGEX) do - member_str = Regexp.last_match(1) - member = find_member(member_str) - member_link(member, member_str) - end - # turn @jane into [@jane](http://growstuff.org/members/jane) - @expanded = @expanded.gsub(MEMBER_AT_REGEX) do - member_str = Regexp.last_match(1) - member = find_member(member_str) - member_link(member, member_str) + [MEMBER_REGEX, MEMBER_AT_REGEX].each do |re| + @expanded = @expanded.gsub(re) do + member_str = Regexp.last_match(1) + member = find_member(member_str) + member_link(member, member_str) + end end @expanded = @expanded.gsub(MEMBER_ESCAPE_AT_REGEX, '') From d8f41b5ca07ea9d87c37f321e4cc5ff4a163e9dc Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 12:20:28 +1300 Subject: [PATCH 09/11] Use ! to indicate the method changes class variables --- lib/haml/filters/growstuff_markdown.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index b40c30d9f..9076eda92 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -6,8 +6,8 @@ module Haml::Filters def render(text) @expanded = text - expand_crops - expand_members + expand_crops! + expand_members! BlueCloth.new(@expanded).to_html end @@ -19,7 +19,7 @@ module Haml::Filters MEMBER_ESCAPE_AT_REGEX = /(? Date: Wed, 18 Oct 2017 19:25:41 +1300 Subject: [PATCH 10/11] Added hound config --- .hound.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .hound.yml diff --git a/.hound.yml b/.hound.yml new file mode 100644 index 000000000..d62d2897a --- /dev/null +++ b/.hound.yml @@ -0,0 +1,10 @@ +--- +fail_on_violations: true +ruby: + config_file: .rubocop.yml +haml: + config_file: .haml-lint.yml +scss: + config_file: .scss-lint.yml +eslint: + config_file: .eslintrc From 310f631f4051f0612277fcb757dc2be8556ee45d Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Wed, 18 Oct 2017 20:45:27 +1300 Subject: [PATCH 11/11] Ignore one Style/ClassAndModuleChildren --- lib/haml/filters/growstuff_markdown.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/haml/filters/growstuff_markdown.rb b/lib/haml/filters/growstuff_markdown.rb index 9076eda92..b7b257b53 100644 --- a/lib/haml/filters/growstuff_markdown.rb +++ b/lib/haml/filters/growstuff_markdown.rb @@ -1,6 +1,6 @@ require 'bluecloth' -module Haml::Filters +module Haml::Filters # rubocop:disable Style/ClassAndModuleChildren module GrowstuffMarkdown include Haml::Filters::Base