[QA] Ruby Coding Conventions and RuboCop (was: Rubocop style checker)

S Page spage at wikimedia.org
Tue Nov 25 19:33:49 UTC 2014


The last rubocop failure in Flow is

Offenses: tests/browser/features/support/pages/flow_page.rb:5:1: C:
Class definition is too long. [169/165] class FlowPage < WikiPage

enforced by: .rubocop_todo.yml's
Metrics/ClassLength:
  Max: 165

1. Do we want to enforce a max class length or not?  The suggested base
configuration in
https://www.mediawiki.org/wiki/Manual:Coding_conventions/Ruby#RuboCop
disables it:

Metrics/ClassLength:
  Enabled: false


2. Yes, the flow_page class is big, because it defines a lot of page
elements. I would like separate groups in the file for flow_topic_buttons,
flow_moderation_dialog, etc. because our recommendation[1] to alphabetize
it pushes these groups far apart. Is there an example of refactoring a page
object that would make sense to a r00by nuby?

(In the meantime, https://gerrit.wikimedia.org/r/#/c/175783/ disables  Max
ClassLength for this class.)

[1]
https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests#Page_Objects

 tests/browser/features/support/pages/flow_page.rb:5:1: C: Class
definition is too long. [169/165] class FlowPage < WikiPage

--
=S Page  Features engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/qa/attachments/20141125/cddddc0e/attachment.html>


More information about the QA mailing list