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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2dc958a654b3a3c27b0c08ddbce12d514691889367ee499b3c11e5fe1764f4ba
4
- data.tar.gz: 3b8ad87c7deeb1e3c357ec42c9d1d2b003cf7e7aa86870f9695c6c8fe97f0a4d
3
+ metadata.gz: 9b6d361815027c597218c55b10124623256ff7db7f323928bacc123ea921bd36
4
+ data.tar.gz: d5919b3c296b58041a483b3efa76605ff5a032073979284342e1f46d766c2c5c
5
5
  SHA512:
6
- metadata.gz: 13191e816e6f83a45426d86d0716771d73befa5347c252981e399aad5a667808965c4b90a5fcfb815f644cd58a6dc947ef13532b7747db67c32bfd0b1c761cfd
7
- data.tar.gz: 3b6369a8743f6dd7466a06d8110c3e095b74c8f7aedec6ef6d95a4d000b94bbabe7629a0b6fc2bbbe03f21fa0a18b79cf6b18bb96bbb6aa8f9eefe3c11d00d80
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
@@ -12,3 +12,5 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+
16
+ .ruby-version
data/Gemfile CHANGED
@@ -5,5 +5,4 @@ group :development do
5
5
  gem 'debug'
6
6
  end
7
7
 
8
- # Specify your gem's dependencies in mail-x_smtpapi.gemspec
9
8
  gemspec
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Mail::X::Smtpapi
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/mail-x_smtpapi.svg)](http://badge.fury.io/rb/mail-x_smtpapi) [![Circle CI](https://img.shields.io/circleci/project/kickstarter/mail-x_smtpapi.svg?style=shield)](https://circleci.com/gh/kickstarter/mail-x_smtpapi/tree/master) [![Code Climate](https://codeclimate.com/github/kickstarter/mail-x_smtpapi/badges/gpa.svg)](https://codeclimate.com/github/kickstarter/mail-x_smtpapi)
3
+ [![Gem Version](https://badge.fury.io/rb/mail-x_smtpapi-ksr.svg)](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 "bundler/gem_tasks"
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
- task :default => :test
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'
@@ -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'
@@ -5,7 +5,7 @@ require_relative 'accessors'
5
5
  module MailXSMTPAPI
6
6
  class Field < ::Mail::UnstructuredField
7
7
  FIELD_NAME = 'x-smtpapi'
8
- CAPITALIZED_FIELD = 'X-SMTPAPI'
8
+ NAME = CAPITALIZED_FIELD = 'X-SMTPAPI'
9
9
 
10
10
  def self.singular? = true
11
11
 
@@ -1,3 +1,3 @@
1
1
  module MailXSMTPAPI
2
- VERSION = '1.3.0'
2
+ VERSION = '1.4.1'
3
3
  end
@@ -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", ">= 2.2.3"
21
- spec.add_development_dependency "rake", "~> 13.1"
22
- spec.add_development_dependency "minitest", "~> 5.21"
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.1"
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.3.0
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: 2024-12-16 00:00:00.000000000 Z
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: 2.2.3
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: 2.2.3
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: '13.1'
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: '13.1'
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: '5.21'
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: '5.21'
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.1
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.1
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/workflows/main.yml"
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.5.23
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
@@ -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