matkoniecz-ruby-style 0.1.0 → 1.5

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
- SHA1:
3
- metadata.gz: a7213fd984305324ba7fd5eb6c61ceefbb8ecd06
4
- data.tar.gz: 3f37fe3708552dcadda7719f56844958eec03734
2
+ SHA256:
3
+ metadata.gz: 995eb438938e22dc49ec02f4db5628d087508a8eb3096b3d8f36f1d09624bdd1
4
+ data.tar.gz: c0e954c94476340b40e1bd66c0f9f98085059c9b05ba30f4b4d57cbce6673e18
5
5
  SHA512:
6
- metadata.gz: d8171f0190b6edf2cd7024fce10c60afb16c4817b6f22116064cec49e3efccd693b4c50a55ee3e06100abf712ba343106c40ac92b6674b2fd02f7b058a6f40b0
7
- data.tar.gz: 25582befabe374ecec220cb76bec15d1260aa1d6a8243579956bb6240e324812484c3829468d318e8da7669bb34ce16c57fba9275bbaa778ebfe0dba6d5494a4
6
+ metadata.gz: e2dd0b30f1423ae87a3be16ba36d08efc5b84c277802f2e3761fb627a25d9eccbd83142880e58cb69eb67efca05cf685d1c4576f3e1e900996f47d53b6939552
7
+ data.tar.gz: ab0507b5b2e102050a0b110204ddf3201e6a0697c2a4de4e0b18af0a384f2d66f2ab7ce0f954bcbbb0466f0195b1a65252e164e13262d9ef020a7576c7b59abe
@@ -0,0 +1 @@
1
+ inherit_from: standard_rubocop_config.yml
data/Gemfile CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
+ git_source(:github) { |repo_name| "https://github.com/matkoniecz/matkoniecz-ruby-style" }
4
6
 
5
7
  # Specify your gem's dependencies in matkoniecz-ruby-style.gemspec
6
8
  gemspec
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
- # Matkoniecz::Ruby::Style
1
+ # matkoniecz-ruby-style
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/matkoniecz/ruby/style`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Shared ruby style config for rubocop.
6
4
 
7
5
  Inspired by [percy-style](https://github.com/percy/percy-style).
8
6
 
@@ -16,6 +14,12 @@ or add this line to your application's Gemfile:
16
14
  gem 'matkoniecz-ruby-style'
17
15
  ```
18
16
 
17
+ or, for a Ruby library, add this to your gemspec:
18
+
19
+ ```ruby
20
+ spec.add_development_dependency 'matkoniecz-ruby-style'
21
+ ```
22
+
19
23
  ## Usage
20
24
 
21
25
  Create a `.rubocop.yml` with the following directives:
@@ -26,14 +30,11 @@ inherit_gem:
26
30
  - standard_rubocop_config.yml
27
31
  ```
28
32
 
33
+ You do not need to include rubocop directly in your application's dependencies. This gem includes a specific version of `rubocop` and `rubocop-rspec` that is shared across all projects.
34
+
29
35
  ## How to release new gem version
30
36
 
31
- ```
32
- rm *.gem
33
- gem build *.gemspec
34
- gem install --user-install *.gem
35
- gem push *.gem
36
- ```
37
+ See `reinstall.sh` and `reinstall_and_push_new_version.sh` files.
37
38
 
38
39
  ## Contributing
39
40
 
@@ -1,11 +1,6 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "matkoniecz/ruby/style/version"
5
-
6
1
  Gem::Specification.new do |spec|
7
2
  spec.name = "matkoniecz-ruby-style"
8
- spec.version = Matkoniecz::Ruby::Style::VERSION
3
+ spec.version = 1.5
9
4
  spec.authors = ["Mateusz Konieczny"]
10
5
  spec.email = ["matkoniecz@gmail.com"]
11
6
 
@@ -15,10 +10,12 @@ Gem::Specification.new do |spec|
15
10
 
16
11
  # Specify which files should be added to the gem when it is released.
17
12
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
13
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
14
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
15
  end
21
16
  spec.bindir = "exe"
22
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
18
  spec.require_paths = ["lib"]
19
+ spec.add_dependency "rubocop", "~> 0.89.1"
20
+ spec.add_dependency "rubocop-rspec", "~> 1.29.1"
24
21
  end
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ set -Eeuo pipefail
3
+ IFS=$'\n\t'
4
+ err_report() {
5
+ echo "Error on line $1"
6
+ }
7
+ trap 'err_report $LINENO' ERR
8
+
9
+ rm ./*.gem | true
10
+ gem build ./*.gemspec
11
+ gem install --user-install ./*.gem
@@ -0,0 +1,4 @@
1
+ rm ./*.gem
2
+ gem build ./*.gemspec
3
+ gem install --user-install ./*.gem
4
+ gem push *.gem
@@ -1,5 +1,19 @@
1
+ require: rubocop-rspec
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.7
5
+ NewCops: enable
6
+
7
+ # this hurts readability and makes code more confusing
8
+ # Rubocop is has opinion, Python has opinion, I also have opinion
9
+ # I would gladly enable MethodCallRequireArgsParentheses
10
+ Style/MethodCallWithoutArgsParentheses:
11
+ Enabled: false
12
+
1
13
  # not preferred as this rule makes harder to move/add/remove items
2
- Style/TrailingCommaInLiteral:
14
+ Style/TrailingCommaInArrayLiteral:
15
+ Enabled: false
16
+ Style/TrailingCommaInHashLiteral:
3
17
  Enabled: false
4
18
 
5
19
  # change without benefit ( foobar == nil into foobar.nil?)
@@ -37,8 +51,74 @@ Lint/UnusedBlockArgument:
37
51
  Style/SpecialGlobalVars:
38
52
  Enabled: false
39
53
 
40
- #AllCops:
41
- # TargetRubyVersion: 2.3
54
+ # there is no benefit from ugly code of collapsed form
55
+ Style/EmptyMethod:
56
+ EnforcedStyle: expanded
57
+
58
+ # unconvinced that it is useful
59
+ Style/RaiseArgs:
60
+ Enabled: false
61
+
62
+ # adds useless line without benefit outweighting readability loss
63
+ Style/FrozenStringLiteralComment:
64
+ Enabled: false
65
+
66
+ # Ruby-specific syntax has no benefits whatsover over slashes
67
+ # if there is one let me know
68
+ Style/RegexpLiteral:
69
+ EnforcedStyle: slashes
70
+
71
+ # Standard array is much better and less overcomplicated
72
+ Style/SymbolArray:
73
+ EnforcedStyle: brackets
74
+
75
+ # Neither is much better, consistency is much more important
76
+ # for example see:
77
+ # group = ["#{fish[0]}", "#{fish[0]} filet", "filet z #{fish[1]}"]
78
+ # vs
79
+ # group = [(fish[0]).to_s, "#{fish[0]} filet", "filet z #{fish[1]}"]
80
+ Style/RedundantInterpolation:
81
+ Enabled: false
82
+
83
+ # local style optimization is better than global consistency
84
+ Style/StringLiteralsInInterpolation:
85
+ Enabled: false
86
+
87
+ # this rubyism is not more readable
88
+ Style/NumericPredicate:
89
+ Enabled: false
90
+
91
+ # this blank lines are neither helpful nor useful
92
+ Layout/EmptyLineAfterGuardClause:
93
+ Enabled: false
94
+
95
+ # not convinced that removing get_ is useful use of my time
96
+ Naming/AccessorMethodName:
97
+ Enabled: false
98
+
99
+ Naming/MethodParameterName:
100
+ AllowedNames:
101
+ - bb # standard shortening of "bounding box"
102
+ - r # standard shortening of "radius"
103
+ - mb # standard for megabytes
104
+ - x # typically perfectly fine for position to a plane
105
+ - "y" # typically perfectly fine for position to a plane
106
+
107
+ # avoding jumboXXLplus lines is a good idea, but
108
+ # there is no reason to stick to 80 characters
109
+ # a bit longer lines seems fine to me
110
+ Layout/LineLength:
111
+ Max: 88
112
+
113
+ # disabled due to bug reported as https://github.com/rubocop-hq/rubocop/issues/6630
114
+ # note that bug is likely to be closed but wontfixed
115
+ Style/CommentAnnotation:
116
+ Enabled: false
117
+
118
+ # benefits from adding ? to the method names are outweighted
119
+ # by increased costs of context switch between languages
120
+ Naming/PredicateName:
121
+ Enabled: false
42
122
 
43
123
  # Uncomment following rules to allow using tabs:
44
124
  #Layout/Tab:
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: matkoniecz-ruby-style
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: '1.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Konieczny
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-15 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.89.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.89.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.29.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.29.1
13
41
  description:
14
42
  email:
15
43
  - matkoniecz@gmail.com
@@ -18,11 +46,14 @@ extensions: []
18
46
  extra_rdoc_files: []
19
47
  files:
20
48
  - ".gitignore"
49
+ - ".rubocop.yml"
21
50
  - Gemfile
22
51
  - LICENSE.txt
23
52
  - README.md
24
53
  - Rakefile
25
54
  - matkoniecz-ruby-style.gemspec
55
+ - reinstall.sh
56
+ - reinstall_and_push_new_version.sh
26
57
  - standard_rubocop_config.yml
27
58
  homepage: https://github.com/matkoniecz/matkoniecz-ruby-style
28
59
  licenses:
@@ -43,8 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
43
74
  - !ruby/object:Gem::Version
44
75
  version: '0'
45
76
  requirements: []
46
- rubyforge_project:
47
- rubygems_version: 2.6.14.1
77
+ rubygems_version: 3.1.2
48
78
  signing_key:
49
79
  specification_version: 4
50
80
  summary: shared style config for Ruby