mail-x_smtpapi-ksr 1.3.0 → 1.4.1
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 +4 -4
- data/.github/actions/setup-rubygems/action.yml +18 -0
- data/.github/workflows/release.yml +19 -0
- data/.github/workflows/test.yml +29 -0
- data/.gitignore +2 -0
- data/Gemfile +0 -1
- data/README.md +3 -3
- data/Rakefile +24 -3
- data/Taskfile.yml +25 -0
- data/lib/mail/x_smtpapi/ksr.rb +1 -0
- data/lib/mail/x_smtpapi.rb +1 -1
- data/lib/mail-x_smtpapi-ksr.rb +1 -0
- data/lib/mail_x_smtpapi/field.rb +1 -1
- data/lib/mail_x_smtpapi/version.rb +1 -1
- data/mail-x_smtpapi.gemspec +4 -4
- data/test/mail_autorequire_test.rb +54 -0
- metadata +23 -20
- data/.github/workflows/main.yml +0 -28
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9b6d361815027c597218c55b10124623256ff7db7f323928bacc123ea921bd36
|
|
4
|
+
data.tar.gz: d5919b3c296b58041a483b3efa76605ff5a032073979284342e1f46d766c2c5c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: df90172b1c415f885da8e3527617ded12245062fa5e3f76a6a07edab9f412a26ad39fcd87f96c14e50b331a567bf10f1fc113ca3bbe0da0576140376457377fe
|
|
7
|
+
data.tar.gz: 6f3a0eb42a50d3951bab00c02c6bb4cacb509011a1da3a00d54633252f8fc578782da22e8eb85b23d6e7082d5e61801ac3656de7ab105fc106b97f0aa6589441
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Setup RubyGems
|
|
2
|
+
description: Setup RubyGems credentials
|
|
3
|
+
inputs:
|
|
4
|
+
api-key:
|
|
5
|
+
description: RubyGems API key
|
|
6
|
+
required: true
|
|
7
|
+
runs:
|
|
8
|
+
using: composite
|
|
9
|
+
steps:
|
|
10
|
+
- name: setup rubygems
|
|
11
|
+
shell: bash
|
|
12
|
+
run: |
|
|
13
|
+
mkdir -p ~/.gem
|
|
14
|
+
cat <<-YAML > ~/.gem/credentials
|
|
15
|
+
---
|
|
16
|
+
:rubygems_api_key: ${{ inputs.api-key }}
|
|
17
|
+
YAML
|
|
18
|
+
chmod 0600 ~/.gem/credentials
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types:
|
|
5
|
+
- published
|
|
6
|
+
jobs:
|
|
7
|
+
publish:
|
|
8
|
+
name: Publish Gem
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v6
|
|
12
|
+
- uses: ruby/setup-ruby@v1
|
|
13
|
+
with:
|
|
14
|
+
bundler-cache: true
|
|
15
|
+
ruby-version: "3.4"
|
|
16
|
+
- uses: ./.github/actions/setup-rubygems
|
|
17
|
+
with:
|
|
18
|
+
api-key: ${{ secrets.RUBYGEMS_API_KEY }}
|
|
19
|
+
- run: bundle exec rake release
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
name: Ruby v${{ matrix.ruby }}, Mail v${{ matrix.mail }}
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
mail:
|
|
16
|
+
- '2.8.1'
|
|
17
|
+
- '2.9.0'
|
|
18
|
+
ruby:
|
|
19
|
+
- '3.3'
|
|
20
|
+
- '3.4'
|
|
21
|
+
- '4.0'
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v6
|
|
24
|
+
- uses: ruby/setup-ruby@v1
|
|
25
|
+
with:
|
|
26
|
+
ruby-version: ${{ matrix.ruby }}
|
|
27
|
+
bundler-cache: true
|
|
28
|
+
- run: bundle add mail -v "${{ matrix.mail }}"
|
|
29
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Mail::X::Smtpapi
|
|
2
2
|
|
|
3
|
-
[](http://badge.fury.io/rb/mail-x_smtpapi
|
|
3
|
+
[](http://badge.fury.io/rb/mail-x_smtpapi-ksr)
|
|
4
4
|
|
|
5
5
|
Integrates support for SendGrid's X-SMTPAPI field into the [Mail](https://github.com/mikel/mail) gem.
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ Please refer to [SendGrid docs](https://sendgrid.com/docs/API_Reference/SMTP_API
|
|
|
11
11
|
Add this line to your application's Gemfile:
|
|
12
12
|
|
|
13
13
|
```ruby
|
|
14
|
-
gem 'mail-x_smtpapi'
|
|
14
|
+
gem 'mail-x_smtpapi-ksr'
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
And then execute:
|
|
@@ -20,7 +20,7 @@ And then execute:
|
|
|
20
20
|
|
|
21
21
|
Or install it yourself as:
|
|
22
22
|
|
|
23
|
-
$ gem install mail-x_smtpapi
|
|
23
|
+
$ gem install mail-x_smtpapi-ksr
|
|
24
24
|
|
|
25
25
|
## Usage
|
|
26
26
|
|
data/Rakefile
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
require
|
|
2
|
-
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'bundler/gem_tasks'
|
|
3
3
|
require 'rake/testtask'
|
|
4
|
+
|
|
5
|
+
task default: :test
|
|
6
|
+
|
|
4
7
|
Rake::TestTask.new do |t|
|
|
5
8
|
t.libs << "test"
|
|
6
9
|
t.test_files = FileList['test/*test.rb']
|
|
7
10
|
t.verbose = true
|
|
8
11
|
end
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
namespace :gem do
|
|
14
|
+
require 'bundler/gem_tasks'
|
|
15
|
+
|
|
16
|
+
@gem = "pkg/egads-#{MailXSMTPAPI::VERSION}.gem"
|
|
17
|
+
|
|
18
|
+
desc "Push #{@gem} to rubygems.org"
|
|
19
|
+
task :push => %i[test build git:check] do
|
|
20
|
+
sh %{gem push #{@gem}}
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
namespace :git do
|
|
25
|
+
desc 'Check git workspace'
|
|
26
|
+
task :check do
|
|
27
|
+
sh %{git diff HEAD --quiet} do |ok|
|
|
28
|
+
abort "\e[31mRefusing to continue - git workspace is dirty\e[0m" unless ok
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
data/Taskfile.yml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# https://taskfile.dev
|
|
2
|
+
---
|
|
3
|
+
version: "3"
|
|
4
|
+
|
|
5
|
+
tasks:
|
|
6
|
+
init:
|
|
7
|
+
desc: Initialize project
|
|
8
|
+
cmds:
|
|
9
|
+
- bundle install
|
|
10
|
+
|
|
11
|
+
release:
|
|
12
|
+
desc: Publish gem with GitHub
|
|
13
|
+
preconditions:
|
|
14
|
+
- sh: git diff HEAD --quiet
|
|
15
|
+
msg: Refusing to release with local uncommitted changes
|
|
16
|
+
vars:
|
|
17
|
+
VERSION:
|
|
18
|
+
sh: bundle exec ruby -e 'puts "v#{MailXSMTPAPI::VERSION}"'
|
|
19
|
+
cmds:
|
|
20
|
+
- gh release create {{.VERSION}} --generate-notes
|
|
21
|
+
|
|
22
|
+
test:
|
|
23
|
+
desc: Run test suite
|
|
24
|
+
cmds:
|
|
25
|
+
- bundle exec rake test
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require_relative '../../mail-x_smtpapi'
|
data/lib/mail/x_smtpapi.rb
CHANGED
|
@@ -18,6 +18,6 @@ module Mail
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
MailXSMTPAPI::Field::FIELD_NAME.tap do |name|
|
|
21
|
-
Mail::Field::FIELDS_MAP[name] = MailXSMTPAPI::Field
|
|
21
|
+
Mail::Field::FIELDS_MAP[name] = Gem::Version.new(Mail::VERSION::STRING) >= Gem::Version.new('2.9.0') ? MailXSMTPAPI::Field.to_s : MailXSMTPAPI::Field
|
|
22
22
|
Mail::Field::FIELD_NAME_MAP[name] = MailXSMTPAPI::Field::CAPITALIZED_FIELD
|
|
23
23
|
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require_relative 'mail-x_smtpapi'
|
data/lib/mail_x_smtpapi/field.rb
CHANGED
data/mail-x_smtpapi.gemspec
CHANGED
|
@@ -17,10 +17,10 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
18
18
|
spec.require_paths = ["lib"]
|
|
19
19
|
|
|
20
|
-
spec.add_development_dependency "bundler"
|
|
21
|
-
spec.add_development_dependency "rake"
|
|
22
|
-
spec.add_development_dependency "minitest"
|
|
20
|
+
spec.add_development_dependency "bundler"
|
|
21
|
+
spec.add_development_dependency "rake"
|
|
22
|
+
spec.add_development_dependency "minitest"
|
|
23
23
|
|
|
24
|
-
spec.add_dependency "mail", "~> 2.8
|
|
24
|
+
spec.add_dependency "mail", "~> 2.8"
|
|
25
25
|
spec.add_dependency "net-smtp"
|
|
26
26
|
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
require_relative 'test_helper'
|
|
2
|
+
require 'open3'
|
|
3
|
+
|
|
4
|
+
class MailAutorequireTest < Minitest::Test
|
|
5
|
+
PROJECT_ROOT = File.expand_path('..', __dir__)
|
|
6
|
+
|
|
7
|
+
def test_bundler_default_require_loads_smtpapi_extension
|
|
8
|
+
script = <<~RUBY
|
|
9
|
+
require 'bundler'
|
|
10
|
+
Bundler.require(:default)
|
|
11
|
+
require 'mail'
|
|
12
|
+
puts Mail.new.respond_to?(:smtpapi)
|
|
13
|
+
RUBY
|
|
14
|
+
|
|
15
|
+
out, err, status = run_bundle_ruby(script)
|
|
16
|
+
|
|
17
|
+
assert status.success?, "Expected script to succeed, got:\n#{err}"
|
|
18
|
+
assert_equal 'true', out.chomp
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_hyphenated_gem_name_is_requireable
|
|
22
|
+
script = <<~RUBY
|
|
23
|
+
require 'mail-x_smtpapi-ksr'
|
|
24
|
+
require 'mail'
|
|
25
|
+
puts Mail.new.respond_to?(:smtpapi)
|
|
26
|
+
RUBY
|
|
27
|
+
|
|
28
|
+
out, err, status = run_bundle_ruby(script)
|
|
29
|
+
|
|
30
|
+
assert status.success?, "Expected script to succeed, got:\n#{err}"
|
|
31
|
+
assert_equal 'true', out.chomp
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_slash_form_is_requireable
|
|
35
|
+
script = <<~RUBY
|
|
36
|
+
require 'mail/x_smtpapi/ksr'
|
|
37
|
+
require 'mail'
|
|
38
|
+
puts Mail.new.respond_to?(:smtpapi)
|
|
39
|
+
RUBY
|
|
40
|
+
|
|
41
|
+
out, err, status = run_bundle_ruby(script)
|
|
42
|
+
|
|
43
|
+
assert status.success?, "Expected script to succeed, got:\n#{err}"
|
|
44
|
+
assert_equal 'true', out.chomp
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
def run_bundle_ruby(script)
|
|
50
|
+
Bundler.with_unbundled_env do
|
|
51
|
+
Open3.capture3('bundle', 'exec', 'ruby', '-e', script, chdir: PROJECT_ROOT)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mail-x_smtpapi-ksr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kickstarter
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -16,56 +15,56 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
18
|
+
version: '0'
|
|
20
19
|
type: :development
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - ">="
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
25
|
+
version: '0'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: rake
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
|
-
- - "
|
|
30
|
+
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '0'
|
|
34
33
|
type: :development
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
|
-
- - "
|
|
37
|
+
- - ">="
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: minitest
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
|
-
- - "
|
|
44
|
+
- - ">="
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
46
|
+
version: '0'
|
|
48
47
|
type: :development
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
|
-
- - "
|
|
51
|
+
- - ">="
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
53
|
+
version: '0'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
55
|
name: mail
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - "~>"
|
|
60
59
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 2.8
|
|
60
|
+
version: '2.8'
|
|
62
61
|
type: :runtime
|
|
63
62
|
prerelease: false
|
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
64
|
requirements:
|
|
66
65
|
- - "~>"
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 2.8
|
|
67
|
+
version: '2.8'
|
|
69
68
|
- !ruby/object:Gem::Dependency
|
|
70
69
|
name: net-smtp
|
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,27 +79,32 @@ dependencies:
|
|
|
80
79
|
- - ">="
|
|
81
80
|
- !ruby/object:Gem::Version
|
|
82
81
|
version: '0'
|
|
83
|
-
description:
|
|
84
82
|
email:
|
|
85
83
|
- devops@kickstarter.com
|
|
86
84
|
executables: []
|
|
87
85
|
extensions: []
|
|
88
86
|
extra_rdoc_files: []
|
|
89
87
|
files:
|
|
90
|
-
- ".github/
|
|
88
|
+
- ".github/actions/setup-rubygems/action.yml"
|
|
89
|
+
- ".github/workflows/release.yml"
|
|
90
|
+
- ".github/workflows/test.yml"
|
|
91
91
|
- ".gitignore"
|
|
92
92
|
- CHANGELOG.md
|
|
93
93
|
- Gemfile
|
|
94
94
|
- LICENSE.txt
|
|
95
95
|
- README.md
|
|
96
96
|
- Rakefile
|
|
97
|
+
- Taskfile.yml
|
|
98
|
+
- lib/mail-x_smtpapi-ksr.rb
|
|
97
99
|
- lib/mail-x_smtpapi.rb
|
|
98
100
|
- lib/mail/x_smtpapi.rb
|
|
101
|
+
- lib/mail/x_smtpapi/ksr.rb
|
|
99
102
|
- lib/mail_x_smtpapi/accessors.rb
|
|
100
103
|
- lib/mail_x_smtpapi/field.rb
|
|
101
104
|
- lib/mail_x_smtpapi/version.rb
|
|
102
105
|
- mail-x_smtpapi.gemspec
|
|
103
106
|
- test/mail_accessors_test.rb
|
|
107
|
+
- test/mail_autorequire_test.rb
|
|
104
108
|
- test/mail_integration_test.rb
|
|
105
109
|
- test/mail_x_smtpapi_field_test.rb
|
|
106
110
|
- test/test_helper.rb
|
|
@@ -108,7 +112,6 @@ homepage: https://github.com/kickstarter/mail-x_smtpapi
|
|
|
108
112
|
licenses:
|
|
109
113
|
- MIT
|
|
110
114
|
metadata: {}
|
|
111
|
-
post_install_message:
|
|
112
115
|
rdoc_options: []
|
|
113
116
|
require_paths:
|
|
114
117
|
- lib
|
|
@@ -123,12 +126,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
123
126
|
- !ruby/object:Gem::Version
|
|
124
127
|
version: '0'
|
|
125
128
|
requirements: []
|
|
126
|
-
rubygems_version: 3.
|
|
127
|
-
signing_key:
|
|
129
|
+
rubygems_version: 3.6.9
|
|
128
130
|
specification_version: 4
|
|
129
131
|
summary: Adds SendGrid X-SMTPAPI header support to Mail
|
|
130
132
|
test_files:
|
|
131
133
|
- test/mail_accessors_test.rb
|
|
134
|
+
- test/mail_autorequire_test.rb
|
|
132
135
|
- test/mail_integration_test.rb
|
|
133
136
|
- test/mail_x_smtpapi_field_test.rb
|
|
134
137
|
- test/test_helper.rb
|
data/.github/workflows/main.yml
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: Ruby
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
pull_request:
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
build:
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
name: Ruby ${{ matrix.ruby }}
|
|
14
|
-
strategy:
|
|
15
|
-
matrix:
|
|
16
|
-
ruby:
|
|
17
|
-
- '3.2'
|
|
18
|
-
- '3.3'
|
|
19
|
-
|
|
20
|
-
steps:
|
|
21
|
-
- uses: actions/checkout@v4
|
|
22
|
-
- name: Set up Ruby
|
|
23
|
-
uses: ruby/setup-ruby@v1
|
|
24
|
-
with:
|
|
25
|
-
ruby-version: ${{ matrix.ruby }}
|
|
26
|
-
bundler-cache: true
|
|
27
|
-
- name: Run the default task
|
|
28
|
-
run: bundle exec rake
|