gravity_mailbox 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff342147e916a7f207acf163e0dfb44e66fcc2619a5d5e585bcb4c4bbc3153b6
4
- data.tar.gz: 2b522879f42bf910804e405a9097f9a277e442b7b8c9e0d6154f19597c8aae1c
3
+ metadata.gz: 570d181cfe915276f4974ccfcf0d3e155201ab1b801ace546f8f3f492072640d
4
+ data.tar.gz: 4bfa2c3ae452251cd56fd5cbcfb8da0dda6b3ec967df6310cb192881dc23c14f
5
5
  SHA512:
6
- metadata.gz: b903157b42b0a571d79d2a046f59a045543ab5722d70d00969829cbe7ffb17ed16644aed83619b5eb8ebed8b689e7aef70a12c12d027e0e1bb83632aea2aa2af
7
- data.tar.gz: b5b4e508a4cfdf3500f034b06ea6896434c1968c04cae5560b2cda5d5b04369698e3d386c828730424cfac02ab530a226f3b866b333a9ae35233e88a68b8cc14
6
+ metadata.gz: 38e58ed90b91cd01fd22b4ce0d6643a1a747fc195681c83d43a8831ba73f956ff1fca06c60f197fa38443f6c4cbf0c40c6c2b2dd0de150c8eb9b60e3f9e22a85
7
+ data.tar.gz: 3cb194679c08136d8ab6f4957a5651e346dff20c710b54f28649e9db3d82f4a0080ccd64eddfcc052d71783e49cd2e98b44ea8ec033d5839d28a1d659524279d
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/gravity_mailbox.svg)](https://badge.fury.io/rb/gravity_mailbox)
2
2
  [![Ruby](https://github.com/petalmd/gravity_mailbox/actions/workflows/main.yml/badge.svg)](https://github.com/petalmd/gravity_mailbox/actions/workflows/main.yml)
3
3
 
4
- # GravityMailbox
4
+ <p align="center">
5
+ <img src="https://user-images.githubusercontent.com/7858787/213794938-f55aef73-ce49-45b5-a388-d16f2435de15.png" />
6
+ </p>
5
7
 
6
8
  Development tools that aim to make it simple to visualize mail sent by your Rails app directly through your Rails app.
7
9
  It works in development and also in a staging environment by using the `Rails.cache` to store the mails.
@@ -34,7 +36,9 @@ config.action_mailer.perform_deliveries = true
34
36
  * Send mails
35
37
  * Go to http://localhost:3000/gravity_mailbox to see the mails.
36
38
 
37
- <img width="520" alt="image" src="https://user-images.githubusercontent.com/7858787/206336575-e1455a43-154d-4632-bc80-ecb849e2e224.png">
39
+ <p align="center">
40
+ <img width="520" alt="image" src="https://user-images.githubusercontent.com/7858787/213796119-a22ac9da-3943-4cd0-95e6-2fb724de999a.png">
41
+ </p>
38
42
 
39
43
  ## Development
40
44
 
@@ -1,5 +1,5 @@
1
1
 
2
- <div class="p-4 mail-list-item <%= mail.message_id == params[:id] ? 'selected-mail' : '' %>" data-mail-id="<%= mail.message_id %>">
2
+ <div class="mail-list-item <%= mail.message_id == params[:id] ? 'selected-mail' : '' %>" data-mail-id="<%= mail.message_id %>">
3
3
  <div class="level" style="margin-bottom: 12px">
4
4
  <div class="level-left" style="width: 80%">
5
5
  <span class="has-text-weight-semibold mail-subject"><%= mail.subject %></span>
@@ -1,5 +1,5 @@
1
1
  <% content_for :style do %>
2
- body, iframe {
2
+ body, iframe {
3
3
  height: 100vh;
4
4
  }
5
5
 
@@ -8,6 +8,14 @@
8
8
  width: 100%;
9
9
  }
10
10
 
11
+ .navbar {
12
+ background-color: #007bff !important;
13
+ }
14
+
15
+ .navbar-brand > h1 {
16
+ font-family: 'Righteous', cursive !important;
17
+ }
18
+
11
19
  .mail-list-column {
12
20
  height: 100vh;
13
21
  overflow: scroll;
@@ -21,14 +29,42 @@
21
29
  font-family: arial, sans-serif;
22
30
  color: #000;
23
31
  cursor: pointer;
32
+ width: 100%;
33
+ text-align: left;
34
+ }
35
+
36
+ .mail-list-item {
37
+ background-color: #fff!important;
38
+ padding: 1rem;
39
+ box-shadow: inset 0 -1px 0 0 rgb(100 121 143 / 12%) !important;
24
40
  }
25
41
 
26
- .selected-mail {
42
+ .mail-list-item.selected-mail {
27
43
  background-color: #ffffff!important;
44
+ border-left: 8px solid #ed900c;
45
+ padding-left: calc(1rem - 8px);
28
46
  }
29
47
 
30
- .mail-list-item {
31
- background-color: hsl(206deg 27% 96%);
48
+ .mail-list-item:hover {
49
+ cursor: pointer !important;
50
+ border-left: 8px solid lightgrey;
51
+ padding-left: calc(1rem - 8px);
52
+ }
53
+
54
+ .mail-list-item.selected-mail:hover {
55
+ border-left: 8px solid #ed900c;
56
+ }
57
+
58
+ #iframe-mail-container {
59
+ background-color: whitesmoke !important;
60
+ }
61
+
62
+ .dropdown-trigger:hover {
63
+ cursor: pointer !important;
64
+ }
65
+
66
+ .dropdown-item:hover {
67
+ background-color: whitesmoke !important;
32
68
  }
33
69
  <% end %>
34
70
 
@@ -67,45 +103,71 @@
67
103
  </div>
68
104
  </div>
69
105
 
70
- <% @mails.each_with_index do |mail, index| %>
71
- <%= render partial: 'mail', locals: { mail: mail, index: index } %>
72
- <% end %>
106
+ <% @mails.each_with_index do |mail, index| %>
107
+ <%= render partial: 'mail', locals: { mail: mail, index: index } %>
108
+ <% end %>
73
109
  </div>
74
110
  <div class="column pb-0 pt-0 pl-0">
75
- <iframe id="iframe-mail-container" seamless name="messageBody" src="<%= params[:id] ? "?part=true&id=#{params[:id]}" : '' %>"></iframe>
111
+ <iframe id="iframe-mail-container" seamless name="messageBody" src="<%= params[:id] ? "?part=true&id=#{params[:id]}" : '' %>"></iframe>
76
112
  </div>
77
113
  </div>
78
114
 
79
115
  <script>
80
- function closeAllOtherDropdown(e) {
81
- document.querySelectorAll(".dropdown").forEach((dropdown) => {
82
- dropdown.classList.remove('is-active');
83
- })
84
- }
116
+ function closeAllOtherDropdown(e) {
117
+ document.querySelectorAll(".dropdown").forEach((dropdown) => {
118
+ dropdown.classList.remove('is-active');
119
+ })
120
+ }
85
121
 
86
- // Click on mail and change iframe src
87
- let mailItems = document.querySelectorAll(".mail-list-item")
88
- mailItems.forEach(mailItem => {
89
- mailItem.addEventListener("click", () => {
90
- document.querySelector("#iframe-mail-container").src = "/gravity_mailbox?part=true&id=" + mailItem.dataset.mailId
91
- mailItems.forEach(mailItem => mailItem.classList.remove("selected-mail"))
92
- mailItem.classList.add("selected-mail")
122
+ // Click on mail and change iframe src
123
+ let mailItems = document.querySelectorAll(".mail-list-item")
124
+ mailItems.forEach(mailItem => {
125
+ mailItem.addEventListener("click", () => {
126
+ document.querySelector("#iframe-mail-container").src = "/gravity_mailbox?part=true&id=" + mailItem.dataset.mailId
127
+ mailItems.forEach(mailItem => mailItem.classList.remove("selected-mail"))
128
+ mailItem.classList.add("selected-mail")
129
+ })
93
130
  })
94
- })
95
131
 
96
- // Close all dropdowns if the user clicks outside of them
97
- document.addEventListener("click", (e) => {
98
- document.querySelectorAll(".dropdown").forEach((dropdown) => {
99
- dropdown.classList.remove("is-active")
100
- })
101
- });
102
-
103
- // Each mail menu dropdown
104
- document.querySelectorAll('.dropdown-trigger').forEach((dropdown) => {
105
- dropdown.addEventListener('click', function (e) {
106
- closeAllOtherDropdown(e)
107
- e.target.closest(".dropdown").classList.toggle('is-active');
108
- e.stopPropagation();
109
- })
132
+ // Close all dropdowns if the user clicks outside of them
133
+ document.addEventListener("click", (e) => {
134
+ document.querySelectorAll(".dropdown").forEach((dropdown) => {
135
+ dropdown.classList.remove("is-active")
136
+ })
137
+ });
138
+
139
+ // Each mail menu dropdown
140
+ document.querySelectorAll('.dropdown-trigger').forEach((dropdown) => {
141
+ dropdown.addEventListener('click', function (e) {
142
+ closeAllOtherDropdown(e)
143
+ e.target.closest(".dropdown").classList.toggle('is-active');
144
+ e.stopPropagation();
145
+ })
110
146
  })
147
+
148
+ function displayAutomaticallyTheFirstEmail() {
149
+ const mailItems = document.querySelectorAll(".mail-list-item");
150
+ if (mailItems.length) {
151
+ const mailItem = mailItems[0];
152
+ document.querySelector("#iframe-mail-container").src = "/gravity_mailbox?part=true&id=" + mailItem.dataset.mailId;
153
+ mailItem.classList.add("selected-mail");
154
+ } else {
155
+ const iframe = document.querySelector("#iframe-mail-container");
156
+
157
+ const iframeBody = iframe.contentDocument.body;
158
+ if (iframeBody) {
159
+ const p = document.createElement('p');
160
+ p.textContent = "No email received yet.";
161
+ p.style.fontFamily = "sans-serif";
162
+ p.style.fontSize = "20px";
163
+ p.style.fontWeight = "100";
164
+ iframeBody.appendChild(p);
165
+ iframeBody.style.display = "flex";
166
+ iframeBody.style.justifyContent = "center";
167
+ iframeBody.style.alignItems = "center";
168
+ }
169
+ }
170
+ }
171
+
172
+ document.addEventListener("DOMContentLoaded", displayAutomaticallyTheFirstEmail);
111
173
  </script>
@@ -3,14 +3,16 @@
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width" />
5
5
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
6
-
6
+ <link rel="preconnect" href="https://fonts.googleapis.com">
7
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
8
+ <link href="https://fonts.googleapis.com/css2?family=Righteous&display=swap" rel="stylesheet">
7
9
  <style>
8
10
  <%= yield :style %>
9
11
  </style>
10
12
  </head>
11
13
  <body>
12
- <%= yield %>
13
- <script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
14
- <script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
14
+ <%= yield %>
15
+ <script type="module" src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js"></script>
16
+ <script nomodule src="https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js"></script>
15
17
  </body>
16
18
  </html>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GravityMailbox
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gravity_mailbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Francis Bastien
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-16 00:00:00.000000000 Z
11
+ date: 2023-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer
@@ -44,21 +44,12 @@ email:
44
44
  - jfbastien@petalmd.com
45
45
  executables: []
46
46
  extensions: []
47
- extra_rdoc_files: []
47
+ extra_rdoc_files:
48
+ - LICENSE.txt
49
+ - README.md
48
50
  files:
49
- - ".github/workflows/main.yml"
50
- - ".gitignore"
51
- - ".rspec"
52
- - ".rubocop.yml"
53
- - CHANGELOG.md
54
- - Gemfile
55
- - Gemfile.lock
56
51
  - LICENSE.txt
57
52
  - README.md
58
- - Rakefile
59
- - bin/console
60
- - bin/setup
61
- - gravity_mailbox.gemspec
62
53
  - lib/gravity_mailbox.rb
63
54
  - lib/gravity_mailbox/mailbox_controller.rb
64
55
  - lib/gravity_mailbox/rails_cache_delivery_method.rb
@@ -72,8 +63,9 @@ licenses:
72
63
  - MIT
73
64
  metadata:
74
65
  homepage_uri: https://github.com/petalmd/gravity_mailbox
75
- source_code_uri: https://github.com/petalmd/gravity_mailbox
76
66
  changelog_uri: https://github.com/petalmd/gravity_mailbox/blob/main/CHANGELOG.md
67
+ source_code_uri: https://github.com/petalmd/gravity_mailbox
68
+ bug_tracker_uri: https://github.com/petalmd/gravity_mailbox/issues
77
69
  rubygems_mfa_required: 'true'
78
70
  post_install_message:
79
71
  rdoc_options: []
@@ -1,18 +0,0 @@
1
- name: Build
2
-
3
- on: [push,pull_request]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v2
10
- - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
12
- with:
13
- ruby-version: 2.6.6
14
- - name: Run the default task
15
- run: |
16
- gem install bundler -v 2.2.3
17
- bundle install
18
- bundle exec rake
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
12
- .idea
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
data/.rubocop.yml DELETED
@@ -1,8 +0,0 @@
1
- AllCops:
2
- NewCops: enable
3
-
4
- Layout/LineLength:
5
- Max: 120
6
-
7
- Style/Documentation:
8
- Enabled: false
data/CHANGELOG.md DELETED
@@ -1,12 +0,0 @@
1
- # Changelog
2
-
3
- ## main (unreleased)
4
-
5
- ## v0.2.0 (2022-12-15)
6
-
7
- * New look ([#7](https://github.com/petalmd/gravity_mailbox/pull/7))
8
- * Download eml file ([#7](https://github.com/petalmd/gravity_mailbox/pull/7))
9
-
10
- ## v0.1.0 (2022-11-15)
11
-
12
- * Initial release
data/Gemfile DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in gravity_mailbox.gemspec
6
- gemspec
7
-
8
- gem 'rake', '~> 13.0'
9
-
10
- group :test do
11
- gem 'rspec'
12
- gem 'rubocop'
13
- end
data/Gemfile.lock DELETED
@@ -1,144 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- gravity_mailbox (0.2.0)
5
- actionmailer (>= 5.2)
6
- railties (>= 5.2)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- actionmailer (6.1.7)
12
- actionpack (= 6.1.7)
13
- actionview (= 6.1.7)
14
- activejob (= 6.1.7)
15
- activesupport (= 6.1.7)
16
- mail (~> 2.5, >= 2.5.4)
17
- rails-dom-testing (~> 2.0)
18
- actionpack (6.1.7)
19
- actionview (= 6.1.7)
20
- activesupport (= 6.1.7)
21
- rack (~> 2.0, >= 2.0.9)
22
- rack-test (>= 0.6.3)
23
- rails-dom-testing (~> 2.0)
24
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
25
- actionview (6.1.7)
26
- activesupport (= 6.1.7)
27
- builder (~> 3.1)
28
- erubi (~> 1.4)
29
- rails-dom-testing (~> 2.0)
30
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
31
- activejob (6.1.7)
32
- activesupport (= 6.1.7)
33
- globalid (>= 0.3.6)
34
- activesupport (6.1.7)
35
- concurrent-ruby (~> 1.0, >= 1.0.2)
36
- i18n (>= 1.6, < 2)
37
- minitest (>= 5.1)
38
- tzinfo (~> 2.0)
39
- zeitwerk (~> 2.3)
40
- ast (2.4.2)
41
- builder (3.2.4)
42
- concurrent-ruby (1.1.10)
43
- crass (1.0.6)
44
- date (3.3.1)
45
- diff-lcs (1.5.0)
46
- erubi (1.11.0)
47
- globalid (1.0.0)
48
- activesupport (>= 5.0)
49
- i18n (1.12.0)
50
- concurrent-ruby (~> 1.0)
51
- json (2.6.2)
52
- loofah (2.19.1)
53
- crass (~> 1.0.2)
54
- nokogiri (>= 1.5.9)
55
- mail (2.8.0)
56
- mini_mime (>= 0.1.1)
57
- net-imap
58
- net-pop
59
- net-smtp
60
- method_source (1.0.0)
61
- mini_mime (1.1.2)
62
- mini_portile2 (2.8.0)
63
- minitest (5.16.3)
64
- net-imap (0.3.2)
65
- date
66
- net-protocol
67
- net-pop (0.1.2)
68
- net-protocol
69
- net-protocol (0.2.1)
70
- timeout
71
- net-smtp (0.3.3)
72
- net-protocol
73
- nokogiri (1.13.10)
74
- mini_portile2 (~> 2.8.0)
75
- racc (~> 1.4)
76
- nokogiri (1.13.10-x86_64-linux)
77
- racc (~> 1.4)
78
- parallel (1.22.1)
79
- parser (3.1.2.1)
80
- ast (~> 2.4.1)
81
- racc (1.6.1)
82
- rack (2.2.4)
83
- rack-test (2.0.2)
84
- rack (>= 1.3)
85
- rails-dom-testing (2.0.3)
86
- activesupport (>= 4.2.0)
87
- nokogiri (>= 1.6)
88
- rails-html-sanitizer (1.4.4)
89
- loofah (~> 2.19, >= 2.19.1)
90
- railties (6.1.7)
91
- actionpack (= 6.1.7)
92
- activesupport (= 6.1.7)
93
- method_source
94
- rake (>= 12.2)
95
- thor (~> 1.0)
96
- rainbow (3.1.1)
97
- rake (13.0.6)
98
- regexp_parser (2.6.0)
99
- rexml (3.2.5)
100
- rspec (3.12.0)
101
- rspec-core (~> 3.12.0)
102
- rspec-expectations (~> 3.12.0)
103
- rspec-mocks (~> 3.12.0)
104
- rspec-core (3.12.0)
105
- rspec-support (~> 3.12.0)
106
- rspec-expectations (3.12.0)
107
- diff-lcs (>= 1.2.0, < 2.0)
108
- rspec-support (~> 3.12.0)
109
- rspec-mocks (3.12.0)
110
- diff-lcs (>= 1.2.0, < 2.0)
111
- rspec-support (~> 3.12.0)
112
- rspec-support (3.12.0)
113
- rubocop (1.38.0)
114
- json (~> 2.3)
115
- parallel (~> 1.10)
116
- parser (>= 3.1.2.1)
117
- rainbow (>= 2.2.2, < 4.0)
118
- regexp_parser (>= 1.8, < 3.0)
119
- rexml (>= 3.2.5, < 4.0)
120
- rubocop-ast (>= 1.23.0, < 2.0)
121
- ruby-progressbar (~> 1.7)
122
- unicode-display_width (>= 1.4.0, < 3.0)
123
- rubocop-ast (1.23.0)
124
- parser (>= 3.1.1.0)
125
- ruby-progressbar (1.11.0)
126
- thor (1.2.1)
127
- timeout (0.3.1)
128
- tzinfo (2.0.5)
129
- concurrent-ruby (~> 1.0)
130
- unicode-display_width (2.3.0)
131
- zeitwerk (2.6.6)
132
-
133
- PLATFORMS
134
- -darwin-21
135
- x86_64-linux
136
-
137
- DEPENDENCIES
138
- gravity_mailbox!
139
- rake (~> 13.0)
140
- rspec
141
- rubocop
142
-
143
- BUNDLED WITH
144
- 2.2.3
data/Rakefile DELETED
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- require 'rubocop/rake_task'
9
-
10
- RuboCop::RakeTask.new
11
-
12
- task default: %i[spec rubocop]
data/bin/console DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'bundler/setup'
5
- require 'gravity_mailbox'
6
-
7
- # You can add fixtures and/or initialization code here to make experimenting
8
- # with your gem easier. You can also use a different console, if you like.
9
-
10
- # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
13
-
14
- require 'irb'
15
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
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
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'lib/gravity_mailbox/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'gravity_mailbox'
7
- spec.version = GravityMailbox::VERSION
8
- spec.authors = ['Jean-Francis Bastien']
9
- spec.email = ['jfbastien@petalmd.com']
10
-
11
- spec.summary = 'Visualize mail sent by your Rails app directly through your Rails app.'
12
- spec.description = 'Development tools that aim to make it simple to visualize mail ' \
13
- 'sent by your Rails app directly through your Rails app.'
14
- spec.homepage = 'https://github.com/petalmd/gravity_mailbox'
15
- spec.license = 'MIT'
16
- spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
17
-
18
- spec.metadata['homepage_uri'] = spec.homepage
19
- spec.metadata['source_code_uri'] = 'https://github.com/petalmd/gravity_mailbox'
20
- spec.metadata['changelog_uri'] = 'https://github.com/petalmd/gravity_mailbox/blob/main/CHANGELOG.md'
21
-
22
- # Specify which files should be added to the gem when it is released.
23
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
26
- end
27
- spec.bindir = 'exe'
28
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
- spec.require_paths = ['lib']
30
-
31
- # Uncomment to register a new dependency of your gem
32
- spec.add_dependency 'actionmailer', '>= 5.2'
33
- spec.add_dependency 'railties', '>= 5.2'
34
- # For more information and examples about making a new gem, checkout our
35
- # guide at: https://bundler.io/guides/creating_gem.html
36
- spec.metadata['rubygems_mfa_required'] = 'true'
37
- end