defra_ruby_style 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29b0b223aa2eeffdc62e2d839134a2c71db7a354
4
- data.tar.gz: 602b2ce08954050f68f36f26dd2df67bedabb023
3
+ metadata.gz: 0c6dd1fde6b73075da53caf161fde3e56508926e
4
+ data.tar.gz: a3b19d22fe67b54f50f3f425e6cfea3baf5692b9
5
5
  SHA512:
6
- metadata.gz: 1841e1547bb97ed4ae7ced8f608a4b22f103e0dd1640effb8ad483a47059e50bed83608aa5a058555da1ece901a977c9e72cb42a6d73b7dab69c021266e2a7fd
7
- data.tar.gz: 7055b465fbca3f84a69b478090878a2690d1349bb2d43bf9c35bf0ae0521a0d96de1df91fc1a77594750d4769e95f1dd1bc2cabd78733983c6dd6714e01f6113
6
+ metadata.gz: fecbab42bca3a7a25495575a09ce70a4fa9ace8f796880d810a1d6c8583007abdd5799458f2b4de33d888931720751f59abfc379f943da4f51c922743ecee768
7
+ data.tar.gz: 1251fb973723f7e0afca8407b3d2e204f71fc11347914c87706b489196a6bd63f14574fedd9d29b8393e3e45189c77733c1dab18465702ca65140ad36539ebbc
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  <img src="/defra-ruby-style.png" alt="Defra ruby style logo" />
2
2
 
3
3
  [![Build Status](https://travis-ci.com/DEFRA/defra-ruby-style.svg?branch=master)](https://travis-ci.com/DEFRA/defra-ruby-style)
4
+ [![Gem Version](https://badge.fury.io/rb/defra_ruby_style.svg)](https://badge.fury.io/rb/defra_ruby_style)
5
+ [![Licence](https://img.shields.io/badge/Licence-OGLv3-blue.svg)](http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3)
4
6
 
5
7
  This repository is used to manage the ruby code style we use at DEFRA.
6
8
 
data/default.yml ADDED
@@ -0,0 +1,107 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.4
3
+ # Cop names are not displayed in offense messages by default. We find it
4
+ # useful to include this information so we can use it to investigate what the
5
+ # fix may be.
6
+ DisplayCopNames: true
7
+ # Style guide URLs are not displayed in offense messages by default. Again we
8
+ # find it useful to go straight to the documentation for a rule when
9
+ # investigating what the fix may be.
10
+ DisplayStyleGuide: true
11
+ Include:
12
+ - "**/*.gemspec"
13
+ - "**/*.rake"
14
+ - "**/*.thor"
15
+ - "**/*.rb"
16
+ - "**/*.ru"
17
+ - "**/Gemfile"
18
+ - "**/Rakefile"
19
+ Exclude:
20
+ # config contains standard files created when Rails is initialised and
21
+ # therefore they should be left as is
22
+ - "config/**/*"
23
+ # bin contains standard files created when Rails is initialised and
24
+ # therefore they should be left as is
25
+ - "bin/**/*"
26
+ # locally when we run rubocop it ignores the vendor folder but when running
27
+ # in Travis-CI it seems to include. This will stop this from happening
28
+ - "vendor/**/*"
29
+ ## schema.rb is generated automatically based on migrations, so leave as is
30
+ - "**/db/schema.rb"
31
+ - "db/migrate*/**/*.rb"
32
+ # Skip dummy application files as they're only used for testing purposes
33
+ - "spec/dummy/**/*"
34
+
35
+ # It is our opinion that code is easier to read if a white space is
36
+ # permitted between the initial declaration and the first statement. Ditto the
37
+ # last statement and the closing tag.
38
+ Layout/EmptyLinesAroundModuleBody:
39
+ Enabled: false
40
+ Layout/EmptyLinesAroundClassBody:
41
+ Enabled: false
42
+ Layout/EmptyLinesAroundBlockBody:
43
+ Enabled: false
44
+
45
+ # It's okay to use `catch { foo }` in specs
46
+ #
47
+ # https://github.com/rubocop-hq/rubocop/issues/4222
48
+ Lint/AmbiguousBlockAssociation:
49
+ Exclude:
50
+ - "spec/**/*_spec.rb"
51
+
52
+ # We felt as a team that the default size of 15 was too low, and blocked what to
53
+ # us are sound methods which would not add any value if broken up, for example
54
+ # composer type methods. Therefore we agreed to up the score to 30 to allow for
55
+ # these types of methods
56
+ Metrics/AbcSize:
57
+ Max: 30
58
+
59
+ # We don't feel it makes sense to split specs and factories over multiple files,
60
+ # or when in a context be forced to try and come up with slightly different ones
61
+ # in order to reduce the block length. Hence we exclude specs and factories from
62
+ # this rule.
63
+ # Shared examples are the same as specs, but don't have the _spec.rb extension
64
+ # hence they are listed separately
65
+ Metrics/BlockLength:
66
+ Exclude:
67
+ # We're not bothered about a gemspec file having long block length
68
+ - "**/*.gemspec"
69
+ - "spec/**/*_spec.rb"
70
+ - "spec/shared_examples/**/*.rb"
71
+ - "spec/factories/**/*.rb"
72
+ - "spec/support/shared_examples/**/*.rb"
73
+
74
+ # We believe the default 80 characters is too restrictive and that lines can
75
+ # still be readable and maintainable when no more than 120 characters. This also
76
+ # allows us to maximise our screen space.
77
+ Metrics/LineLength:
78
+ Max: 120
79
+ Exclude:
80
+ - "spec/**/*_spec.rb"
81
+ - "spec/factories/**/*.rb"
82
+ - "spec/support/shared_examples/**/*.rb"
83
+
84
+ # We wish we were good enough to remain within the rubocop limit of 10 lines
85
+ # however we often just seem to tip over by a few lines. Hence we have chosen
86
+ # to bump it to 20.
87
+ Metrics/MethodLength:
88
+ Max: 20
89
+
90
+ # Spec files can be quite long, so we shouldn't be forced to break them up
91
+ # if it doesn't make sense.
92
+ Metrics/ModuleLength:
93
+ Exclude:
94
+ - "spec/**/*_spec.rb"
95
+ - "spec/factories/**/*.rb"
96
+ - "spec/support/shared_examples/**/*.rb"
97
+
98
+ # As a web app, as long as the team commit to using well named classes for
99
+ # controllers, models etc it should not be necessary to add top-level class
100
+ # documentation.
101
+ Style/Documentation:
102
+ Enabled: false
103
+
104
+ # There are no relative performance improvements using '' over "", therefore we believe there is more
105
+ # value in using "" for all strings irrespective of whether string interpolation is used
106
+ Style/StringLiterals:
107
+ EnforcedStyle: double_quotes
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Defra
4
4
  module Style
5
- VERSION = "0.0.1"
5
+ VERSION = "0.0.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defra_ruby_style
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Defra
@@ -63,6 +63,7 @@ files:
63
63
  - LICENSE
64
64
  - README.md
65
65
  - Rakefile
66
+ - default.yml
66
67
  - lib/defra/style.rb
67
68
  - lib/defra/style/version.rb
68
69
  homepage: https://github.com/DEFRA/defra-ruby-style