tt_ruby_style 0.0.2 → 0.0.4

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
2
  SHA256:
3
- metadata.gz: 19195f82dbff113f629546f7b4cf2f13016eba2cafb0ce31314f5a18958bff4a
4
- data.tar.gz: 23e7d2c90d97d3439c008504e049e3f5e1abee97fa0d53eedbbcd1b76fd1c288
3
+ metadata.gz: 66a59d69f4690563f9f62d29f23bd4bc32bb881d5b9cc9c8eb7bbeb3c1086e65
4
+ data.tar.gz: 5e95401ed73046be6e6e60bca6cfdfb9ba2666a5e385794c670b72af895d33f3
5
5
  SHA512:
6
- metadata.gz: 45ce5af0b63473a0ef9caf282cc5123b9a9c5885ea4a306d721353e4437dcffb62f6f729d31299487794a5ee7393d47d6eb137df7ee0b3dd67ff8ce71ac239ac
7
- data.tar.gz: 56db112f786d2062b147daf5f0d1199f28facc3552b36c10c8af50e85f8ccba12d294503a0067a4d55b51fb11c4e5275dfd248992771b8b6670aeab18227b9bc
6
+ metadata.gz: b875ccf8c3932fd2b5c90beac53709a8d759140a14f7a197e87d6702ff7403e4b9081251d0ed1cfec12841822f00d800b4013f96c6d31cbcab2ceb676350e4d7
7
+ data.tar.gz: e9f66d1f2d8daff4cf7065c153e299d00439817a3fb82810c9e6a35fb20d38f5b4b2502a74c115f909598c1781749ddaac552634bb5ef2954916cc5fc49b75db
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /.idea/
11
+ .DS_Store
12
+
13
+ # rspec failure tracking
14
+ .rspec_status
data/.rubocop.yml ADDED
@@ -0,0 +1 @@
1
+ inherit_from: default.yml
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify dependencies in tt_ruby_style.gemspec
4
+ gemspec
data/Makefile ADDED
@@ -0,0 +1,13 @@
1
+ setup:
2
+ bin/setup
3
+
4
+ cleanup:
5
+ rm -f pkg/tt_ruby_style-*.gem
6
+
7
+ build:
8
+ bin/build
9
+
10
+ publish:
11
+ bin/publish
12
+
13
+ deploy: build publish cleanup
data/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # tt_ruby_style
2
+
3
+ Percy shared style configs.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ group :test, :development do
11
+ gem 'tt_ruby_style'
12
+ end
13
+ ```
14
+
15
+ Or, for a Ruby library, add this to your gemspec:
16
+
17
+ ```ruby
18
+ spec.add_development_dependency 'tt_ruby_style'
19
+ ```
20
+
21
+ And then run:
22
+
23
+ ```bash
24
+ $ bundle install
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ Create a `.rubocop.yml` with the following directives:
30
+
31
+ ```yaml
32
+ inherit_gem:
33
+ tt_ruby_style:
34
+ - default.yml
35
+ ```
36
+
37
+ Now, run:
38
+
39
+ ```bash
40
+ $ bundle exec rubocop
41
+ ```
42
+
43
+ You do not need to include rubocop directly in your application's dependencies. tt_ruby_style will include a specific version of `rubocop` and `rubocop-rails` that is shared across all projects.
data/RELEASING.md ADDED
@@ -0,0 +1,15 @@
1
+ # Releasing
2
+
3
+ 1. Update version.rb file accordingly.
4
+ 1. Tag the release: `git tag vVERSION`
5
+ 1. Push changes: `git push --tags`
6
+ 1. Update the release notes on GitHub.com
7
+ 1. Build and publish:
8
+
9
+ ```bash
10
+ make deploy
11
+ ```
12
+
13
+ * Announce the new release,
14
+ making sure to say "thank you" to the contributors
15
+ who helped shape this version!
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/bin/build ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -v
5
+
6
+ gem build tt_ruby_style.gemspec
data/bin/bundle ADDED
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'bundle' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'rubygems'
10
+
11
+ m = Module.new do
12
+ module_function
13
+
14
+ def invoked_as_script?
15
+ File.expand_path($PROGRAM_NAME) == File.expand_path(__FILE__)
16
+ end
17
+
18
+ def env_var_version
19
+ ENV['BUNDLER_VERSION']
20
+ end
21
+
22
+ def cli_arg_version
23
+ return unless invoked_as_script? # don't want to hijack other binstubs
24
+ return unless 'update'.start_with?(ARGV.first || ' ') # must be running `bundle update`
25
+
26
+ bundler_version = nil
27
+ update_index = nil
28
+ ARGV.each_with_index do |a, i|
29
+ bundler_version = a if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
30
+ next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
31
+
32
+ bundler_version = Regexp.last_match(1) || '>= 0.a'
33
+ update_index = i
34
+ end
35
+ bundler_version
36
+ end
37
+
38
+ def gemfile
39
+ gemfile = ENV['BUNDLE_GEMFILE']
40
+ return gemfile if gemfile.present?
41
+
42
+ File.expand_path('../Gemfile', __dir__)
43
+ end
44
+
45
+ def lockfile
46
+ lockfile =
47
+ case File.basename(gemfile)
48
+ when 'gems.rb' then gemfile.sub(/\.rb$/, gemfile)
49
+ else "#{gemfile}.lock"
50
+ end
51
+ File.expand_path(lockfile)
52
+ end
53
+
54
+ def lockfile_version
55
+ return unless File.file?(lockfile)
56
+
57
+ lockfile_contents = File.read(lockfile)
58
+ return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
59
+
60
+ Regexp.last_match(1)
61
+ end
62
+
63
+ def bundler_version
64
+ @bundler_version ||= begin
65
+ env_var_version || cli_arg_version ||
66
+ lockfile_version || "#{Gem::Requirement.default}.a"
67
+ end
68
+ end
69
+
70
+ def load_bundler!
71
+ ENV['BUNDLE_GEMFILE'] ||= gemfile
72
+
73
+ # must dup string for RG < 1.8 compatibility
74
+ activate_bundler(bundler_version.dup)
75
+ end
76
+
77
+ def activate_bundler(bundler_version)
78
+ if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new('2.0')
79
+ bundler_version = '< 2'
80
+ end
81
+ gem_error = activation_error_handling do
82
+ gem 'bundler', bundler_version
83
+ end
84
+ return if gem_error.nil?
85
+
86
+ require_error = activation_error_handling do
87
+ require 'bundler/version'
88
+ end
89
+ if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION))
90
+ return
91
+ end
92
+
93
+ # rubocop:disable Metrics/LineLength
94
+ warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`"
95
+ # rubocop:enable Metrics/LineLength
96
+ exit 42
97
+ end
98
+
99
+ def activation_error_handling
100
+ yield
101
+ nil
102
+ rescue StandardError, LoadError => e
103
+ e
104
+ end
105
+ end
106
+
107
+ m.load_bundler!
108
+
109
+ load Gem.bin_path('bundler', 'bundle') if m.invoked_as_script?
data/bin/publish ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -v
5
+
6
+ bundle exec rake release
data/bin/rake ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'rake' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ bundle_binstub = File.expand_path('bundle', __dir__)
14
+
15
+ if File.file?(bundle_binstub)
16
+ if /This file was generated by Bundler/.match?(File.read(bundle_binstub, 300))
17
+ load(bundle_binstub)
18
+ else
19
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21
+ end
22
+ end
23
+
24
+ require 'rubygems'
25
+ require 'bundler/setup'
26
+
27
+ load Gem.bin_path('rake', 'rake')
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/default.yml ADDED
@@ -0,0 +1,69 @@
1
+ require: rubocop-rails
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.6.5
5
+ Exclude:
6
+ - 'db/schema.rb'
7
+ - 'lib/tasks/auto_annotate_models.rake'
8
+ - 'lib/twirp/**/*'
9
+
10
+ # Eats a lot of the upper section space
11
+ Style/FrozenStringLiteralComment:
12
+ Enabled: false
13
+
14
+ # Why not?
15
+ Style/LambdaCall:
16
+ Enabled: false
17
+
18
+ # Sometimes can be useful to chain blocks
19
+ Style/MultilineBlockChain:
20
+ Enabled: false
21
+
22
+ # Don't think we should document any files
23
+ Style/Documentation:
24
+ Enabled: false
25
+
26
+ # Class::() {} - looks fine to me
27
+ Style/ColonMethodCall:
28
+ Enabled: false
29
+
30
+ # Eats the indentation level
31
+ Style/ClassAndModuleChildren:
32
+ Enabled: false
33
+
34
+ # Писать комменты на русском
35
+ Style/AsciiComments:
36
+ Enabled: false
37
+
38
+ Security/Eval:
39
+ Enabled: false
40
+
41
+ # Specs size could be enormous
42
+ Metrics/BlockLength:
43
+ Exclude:
44
+ - spec/**/*_spec.rb
45
+
46
+ Metrics/LineLength:
47
+ Max: 120
48
+
49
+ # TODO need to agree
50
+ Metrics/CyclomaticComplexity:
51
+ Max: 10
52
+
53
+ # TODO need to agree
54
+ Metrics/MethodLength:
55
+ Max: 20
56
+
57
+ # TODO need to agree
58
+ Metrics/PerceivedComplexity:
59
+ Max: 20
60
+
61
+ Metrics/AbcSize:
62
+ Max: 20
63
+
64
+ # Offense count: 85
65
+ # Configuration parameters: CountComments, ExcludedMethods.
66
+ # ExcludedMethods: refine
67
+ Metrics/BlockLength:
68
+ Max: 203
69
+
@@ -0,0 +1,5 @@
1
+ module TalentTech
2
+ module Style
3
+ VERSION = '0.0.4'.freeze
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ require 'talent_tech/style/version'
2
+
3
+ module TalentTech
4
+ module Style
5
+ # nothing here
6
+ end
7
+ end
@@ -0,0 +1,32 @@
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'talent_tech/style/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.author = 'TalentTech Team'
7
+ spec.name = 'tt_ruby_style'
8
+ spec.version = TalentTech::Style::VERSION
9
+ spec.date = '2020-03-26'
10
+ spec.summary = 'TalentTech rules for rubocop'
11
+ spec.require_paths = ['lib']
12
+
13
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
14
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
15
+ if spec.respond_to?(:metadata)
16
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
17
+ else
18
+ raise 'RubyGems 2.0 or newer is required to protect against ' \
19
+ 'public gem pushes.'
20
+ end
21
+
22
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
23
+ f.match(%r{^(test|spec|features)/})
24
+ end
25
+ spec.bindir = 'exe'
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+
28
+ spec.add_dependency 'rubocop', '~> 0.77.0'
29
+ spec.add_dependency 'rubocop-rails', '~> 2.4.1'
30
+ spec.add_development_dependency 'bundler', '~> 2.1'
31
+ spec.add_development_dependency 'rake', '~> 13.0'
32
+ end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tt_ruby_style
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - TalentTech Team
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
11
  date: 2020-03-26 00:00:00.000000000 Z
12
12
  dependencies:
@@ -71,10 +71,27 @@ email:
71
71
  executables: []
72
72
  extensions: []
73
73
  extra_rdoc_files: []
74
- files: []
74
+ files:
75
+ - ".gitignore"
76
+ - ".rubocop.yml"
77
+ - Gemfile
78
+ - Makefile
79
+ - README.md
80
+ - RELEASING.md
81
+ - Rakefile
82
+ - bin/build
83
+ - bin/bundle
84
+ - bin/publish
85
+ - bin/rake
86
+ - bin/setup
87
+ - default.yml
88
+ - lib/talent_tech/style.rb
89
+ - lib/talent_tech/style/version.rb
90
+ - tt_ruby_style.gemspec
75
91
  homepage:
76
92
  licenses: []
77
- metadata: {}
93
+ metadata:
94
+ allowed_push_host: https://rubygems.org
78
95
  post_install_message:
79
96
  rdoc_options: []
80
97
  require_paths: