Skip to content

Commit 36d5f3e

Browse files
authored
Technical/Update gemspecs (#39)
* Added development environment guide * Updated gemspecs * Updated rubocop/codeclimate/circleci configs * Updated gem version
1 parent 6ed01a9 commit 36d5f3e

File tree

13 files changed

+125
-32
lines changed

13 files changed

+125
-32
lines changed

.circleci/config.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,15 @@ references:
3434
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
3535
chmod +x ./cc-test-reporter
3636
37+
use_latest_gemspec: &use_latest_gemspec
38+
run:
39+
name: Using latest gemspec
40+
command: |
41+
cp .circleci/gemspec_latest truemail-client.gemspec
42+
3743
use_compatible_gemspec: &use_compatible_gemspec
3844
run:
39-
name: Use compatible gemspec
45+
name: Using compatible gemspec
4046
command: |
4147
cp .circleci/gemspec_compatible truemail-client.gemspec
4248
@@ -51,6 +57,7 @@ jobs:
5157
steps:
5258
- checkout
5359

60+
- <<: *use_latest_gemspec
5461
- <<: *restore_bundle_cache
5562
- <<: *bundle_install
5663
- <<: *save_bundle_cache
@@ -71,6 +78,7 @@ jobs:
7178
steps:
7279
- checkout
7380

81+
- <<: *use_latest_gemspec
7482
- <<: *restore_bundle_cache
7583
- <<: *bundle_install
7684
- <<: *save_bundle_cache
@@ -107,7 +115,7 @@ jobs:
107115
- checkout
108116
- <<: *use_compatible_gemspec
109117
- ruby/install-deps:
110-
bundler-version: "2.3.5"
118+
bundler-version: "2.3.9"
111119
with-cache: false
112120
path: './vendor/custom_bundle'
113121
- run:

.circleci/gemspec_compatible

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# frozen_string_literal: true
22

3-
lib = ::File.expand_path('lib', __dir__)
4-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5-
require 'truemail/client/version'
3+
require_relative 'lib/truemail/client/version'
64

75
Gem::Specification.new do |spec|
86
spec.name = 'truemail-client'
@@ -33,8 +31,7 @@ Gem::Specification.new do |spec|
3331

3432
spec.add_development_dependency 'ffaker', '~> 2.20'
3533
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
36-
spec.add_development_dependency 'pry-byebug', '~> 3.9'
3734
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
38-
spec.add_development_dependency 'rspec', '~> 3.10'
35+
spec.add_development_dependency 'rspec', '~> 3.11'
3936
spec.add_development_dependency 'webmock', '~> 3.14'
4037
end

.circleci/gemspec_latest

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# frozen_string_literal: true
2+
3+
require_relative 'lib/truemail/client/version'
4+
5+
Gem::Specification.new do |spec|
6+
spec.name = 'truemail-client'
7+
spec.version = Truemail::Client::VERSION
8+
spec.authors = ['Vladislav Trotsenko']
9+
spec.email = ['admin@bestweb.com.ua']
10+
11+
spec.summary = %(truemail-client)
12+
spec.description = %(Truemail web API client library for Ruby)
13+
14+
spec.homepage = 'https://github.com/truemail-rb/truemail-ruby-client'
15+
spec.license = 'MIT'
16+
17+
spec.metadata = {
18+
'homepage_uri' => 'https://truemail-rb.org',
19+
'changelog_uri' => 'https://github.com/truemail-rb/truemail-ruby-client/blob/master/CHANGELOG.md',
20+
'source_code_uri' => 'https://github.com/truemail-rb/truemail-ruby-client',
21+
'documentation_uri' => 'https://truemail-rb.org/truemail-ruby-client',
22+
'bug_tracker_uri' => 'https://github.com/truemail-rb/truemail-ruby-client/issues'
23+
}
24+
25+
spec.required_ruby_version = '>= 2.5.0'
26+
27+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28+
spec.bindir = 'exe'
29+
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
30+
spec.require_paths = ['lib']
31+
32+
spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
33+
spec.add_development_dependency 'fasterer', '~> 0.9.0'
34+
spec.add_development_dependency 'ffaker', '~> 2.20'
35+
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
36+
spec.add_development_dependency 'overcommit', '~> 0.58.0'
37+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
38+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
39+
spec.add_development_dependency 'reek', '~> 6.1'
40+
spec.add_development_dependency 'rspec', '~> 3.11'
41+
spec.add_development_dependency 'rubocop', '~> 1.26', '>= 1.26.1'
42+
spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.3'
43+
spec.add_development_dependency 'rubocop-rspec', '~> 2.9'
44+
spec.add_development_dependency 'simplecov', '~> 0.21.2'
45+
spec.add_development_dependency 'webmock', '~> 3.14'
46+
end

.codeclimate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ checks:
77
plugins:
88
rubocop:
99
enabled: true
10-
channel: rubocop-1-25
10+
channel: rubocop-1-26
1111

1212
reek:
1313
enabled: true
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Development environment guide
2+
3+
## Preparing
4+
5+
Clone `truemail-ruby-client` repository:
6+
7+
```bash
8+
git clone https://github.com/truemail-rb/truemail-ruby-client.git
9+
cd truemail-ruby-client
10+
```
11+
12+
Configure latest Ruby environment:
13+
14+
```bash
15+
echo 'ruby-3.1.1' > .ruby-version
16+
cp .circleci/gemspec_latest truemail-client.gemspec
17+
```
18+
19+
## Installing dependencies
20+
21+
```bash
22+
bundle install
23+
```
24+
25+
## Commiting
26+
27+
Commit your changes excluding `.ruby-version`, `truemail-client.gemspec`
28+
29+
```bash
30+
git add . ':!.ruby-version' ':!truemail-client.gemspec'
31+
git commit -m 'Your new awesome truemail-client feature'
32+
```

.rubocop.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ Style/OpenStructUse:
174174
Style/SelectByRegexp:
175175
Enabled: true
176176

177+
Style/NestedFileDirname:
178+
Enabled: true
179+
177180
Layout/LineLength:
178181
Max: 140
179182

@@ -405,3 +408,9 @@ RSpec/SubjectDeclaration:
405408

406409
RSpec/FactoryBot/SyntaxMethods:
407410
Enabled: true
411+
412+
RSpec/BeEq:
413+
Enabled: true
414+
415+
RSpec/BeNil:
416+
Enabled: true

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruby-3.1.0
1+
ruby-2.5.0

CHANGELOG.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,23 @@
22

33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
## [0.4.1] - 2022-03-23
6+
7+
### Added
8+
9+
- Development environment guide
10+
11+
### Changed
12+
13+
- Updated gemspecs
14+
- Updated rubocop/codeclimate/circleci configs
15+
- Updated gem version
16+
517
## [0.4.0] - 2022-01-26
618

719
### Changed
820

9-
- Updated default test environment to Ruby 3.1
10-
- Updated gem development dependencies
11-
- Changed faker to ffaker dependency
21+
- Updated gemspecs
1222
- Updated rubocop/codeclimate/simplecov/circleci configs
1323
- Updated gem version
1424

CONTRIBUTING.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ Please adhere to the coding conventions used throughout a project (indentation,
3838

3939
Guidelines for pull requests:
4040

41-
1. Truemail [pull request template](.github/PULL_REQUEST_TEMPLATE.md)
42-
2. Fork the repo, checkout to `develop` branch
41+
1. Fork the repo, checkout to `develop` branch
42+
2. Read our [setup development environment guide](.github/DEVELOPMENT_ENVIRONMENT_GUIDE.md)
4343
3. Run the tests. This is to make sure your starting point works
44-
4. Read our [branch naming convention](.github/BRANCH_NAMING_CONVENTION.md)
45-
5. Create a new branch and make your changes. This includes tests for features!
46-
6. Push to your fork and submit a pull request to `develop` branch
44+
4. Read our [branch naming convention](.github/BRANCH_NAMING_CONVENTION.md), create a new branch
45+
5. Make your changes. Please note that your PR should include tests for the new codebase!
46+
6. Push your changes to your fork
47+
7. Submit a pull request to `develop` branch using our [pull request template](.github/PULL_REQUEST_TEMPLATE.md)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ All Truemail solutions: https://truemail-rb.org
171171
| Name | Type | Description |
172172
| --- | --- | --- |
173173
| [truemail](https://github.com/truemail-rb/truemail) | ruby gem | Configurable framework agnostic plain Ruby email validator, main core |
174+
| [truemail-go](https://github.com/truemail-rb/truemail-go) | go package | Configurable Golang email validator, main core |
174175
| [truemail server](https://github.com/truemail-rb/truemail-rack) | ruby app | Lightweight rack based web API wrapper for Truemail |
175176
| [truemail-rack-docker](https://github.com/truemail-rb/truemail-rack-docker-image) | docker image | Lightweight rack based web API [dockerized image](https://hub.docker.com/r/truemail/truemail-rack) :whale: of Truemail server |
176177
| [truemail-crystal-client](https://github.com/truemail-rb/truemail-crystal-client) | crystal shard | Truemail web API client library for Crystal |

lib/truemail/client/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
module Truemail
44
module Client
5-
VERSION = '0.4.0'
5+
VERSION = '0.4.1'
66
end
77
end

spec/support/config/pry.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# frozen_string_literal: true
22

3-
require 'pry'
3+
require 'pry' if ::RUBY_VERSION[/\A3\.1.+\z/]

truemail-client.gemspec

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# frozen_string_literal: true
22

3-
lib = ::File.expand_path('lib', __dir__)
4-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5-
require 'truemail/client/version'
3+
require_relative 'lib/truemail/client/version'
64

75
Gem::Specification.new do |spec|
86
spec.name = 'truemail-client'
@@ -31,18 +29,9 @@ Gem::Specification.new do |spec|
3129
spec.executables = spec.files.grep(%r{^exe/}) { |f| ::File.basename(f) }
3230
spec.require_paths = ['lib']
3331

34-
spec.add_development_dependency 'bundler-audit', '~> 0.9.0.1'
35-
spec.add_development_dependency 'fasterer', '~> 0.9.0'
3632
spec.add_development_dependency 'ffaker', '~> 2.20'
3733
spec.add_development_dependency 'json_matchers', '~> 0.11.1'
38-
spec.add_development_dependency 'overcommit', '~> 0.58.0'
39-
spec.add_development_dependency 'pry-byebug', '~> 3.9'
4034
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
41-
spec.add_development_dependency 'reek', '~> 6.1'
42-
spec.add_development_dependency 'rspec', '~> 3.10'
43-
spec.add_development_dependency 'rubocop', '~> 1.25'
44-
spec.add_development_dependency 'rubocop-performance', '~> 1.13', '>= 1.13.2'
45-
spec.add_development_dependency 'rubocop-rspec', '~> 2.8'
46-
spec.add_development_dependency 'simplecov', '~> 0.21.2'
35+
spec.add_development_dependency 'rspec', '~> 3.11'
4736
spec.add_development_dependency 'webmock', '~> 3.14'
4837
end

0 commit comments

Comments
 (0)