virtual_mails 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
- SHA1:
3
- metadata.gz: e909c7f473255d34647aae95722a1df4729ae79d
4
- data.tar.gz: c3097c313b5ccfe4056a305fec7c7158d5e150d5
2
+ SHA256:
3
+ metadata.gz: 03ce9d1b66128dd3a1b0173cbf1312d0d459d471d4f5342f8453dbecc6e7bf2c
4
+ data.tar.gz: d81fd04666f2098e9285cf3c5c69cc5616b1fcd061d47d469d7672c0a9ece514
5
5
  SHA512:
6
- metadata.gz: 5f0631b7de83a3293058b7971566ce636ab2763226866ff0fd50117ca6bf346e220b7ec4d5d43795816a781c4d5c8c82cde437fa568925b95b0d038ce9bb5bcb
7
- data.tar.gz: 549b87ee07ab809cb26a189470b9440eb1bbf51d53688803c0c0b536f132d420738637719d18ace66c9c37170b253af3baf7e923ae7f6afb0b47051d6f48c816
6
+ metadata.gz: f3dcb8aea151710449f532478d1113c510a362ed2ebf58777bc6e91a34a8ca4b30a199769aa68eb2fdca6a4edd39bfbb6513e866ef72d53ef819578af234711f
7
+ data.tar.gz: 2deae5778aa6874384ca63fe92a6022482aaf651ce21de447439e4d43be4840bed674065f4e32882e0d6bee4baac3a6546a35936efa72179ce22fa7b9be2f021
@@ -1,5 +1,12 @@
1
1
  # Change Log
2
2
 
3
+ ## v0.3.0 / 2020-12-01
4
+ ### Added
5
+ - FileStore for cache instead of Rails.cache
6
+
7
+ ### Fixed
8
+ - html preview
9
+
3
10
  ## v0.2.0 / 2017-06-17
4
11
  ### Added
5
12
  - Rails 5 support
@@ -15,5 +15,5 @@
15
15
  //= require_tree .
16
16
 
17
17
  function resizeIframe(iframe) {
18
- iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';
18
+ iframe.style.height = iframe.contentWindow.document.documentElement.scrollHeight + 'px';
19
19
  }
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VirtualMails
2
4
  class EmailsController < VirtualMails::ApplicationController
3
- before_action :find_mail, :only => [:show, :raw]
5
+ before_action :find_mail, only: %i[show raw]
4
6
 
5
7
  def index
6
8
  @emails = Email.all.reverse
@@ -10,7 +12,7 @@ module VirtualMails
10
12
  end
11
13
 
12
14
  def raw
13
- render :plain => @email.raw
15
+ render plain: @email.raw
14
16
  end
15
17
 
16
18
  def clear
@@ -1,8 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VirtualMails
2
4
  class Email
3
5
  include ActionView::Helpers::TagHelper
4
6
 
5
7
  attr_accessor :message
8
+
6
9
  delegate :subject, :date, to: :message
7
10
 
8
11
  def initialize(message)
@@ -14,18 +17,18 @@ module VirtualMails
14
17
  end
15
18
 
16
19
  def from
17
- @message.header.fields.find{|f| f.name == "From"}.value
20
+ @message.header.fields.find { |f| f.name == 'From' }.value
18
21
  end
19
22
 
20
23
  def to
21
- addresses = @message.header.fields.find{|f| f.name == "To"}.address_list.addresses
24
+ addresses = @message.header.fields.find { |f| f.name == 'To' }.address_list.addresses
22
25
  address = addresses[0].to_s
23
26
  count = addresses.length
24
27
  count > 1 ? address + ", ...#{count - 1} more" : address
25
28
  end
26
29
 
27
30
  def list_to
28
- @message.header.fields.find{|f| f.name == "To"}.value
31
+ @message.header.fields.find { |f| f.name == 'To' }.value
29
32
  end
30
33
 
31
34
  def body
@@ -41,40 +44,48 @@ module VirtualMails
41
44
  end
42
45
 
43
46
  def self.all
44
- emails = Rails.cache.fetch(CacheKey) do
45
- emails = []
47
+ VirtualMails::Mailer.cache.fetch(CACHE_KEY) do
48
+ []
46
49
  end
47
- emails
48
50
  end
49
51
 
50
52
  def self.find(id)
51
- mail = all.find { |mail| mail.id == id }
53
+ mail = all.find { |m| m.id == id }
52
54
  raise ActiveRecord::RecordNotFound if mail.nil?
55
+
53
56
  mail
54
57
  end
55
58
 
56
59
  def self.clear
57
- Rails.cache.delete(CacheKey)
60
+ VirtualMails::Mailer.cache.delete(CACHE_KEY)
58
61
  end
59
62
 
60
63
  private
61
64
 
62
65
  def html
63
- @message.html_part ? @message.html_part.body.decoded : nil
66
+ if @message.html_part
67
+ @message.html_part.body.decoded
68
+ else
69
+ @message.content_type =~ /html/ ? plain : nil
70
+ end
64
71
  end
65
72
 
66
73
  def html_tag
67
74
  content = html
68
- content_tag :iframe, '', :srcdoc => content, :onload => 'resizeIframe(this)' unless content.nil?
75
+ content_tag :iframe, '', srcdoc: content, onload: 'resizeIframe(this)' unless content.nil?
69
76
  end
70
77
 
71
78
  def plain
72
- @message.multipart? ? (@message.text_part ? @message.text_part.body.decoded : nil) : @message.body.decoded
79
+ if @message.multipart?
80
+ @message.text_part ? @message.text_part.body.decoded : nil
81
+ else
82
+ @message.body.decoded
83
+ end
73
84
  end
74
85
 
75
86
  def plain_tag
76
87
  content = plain
77
- content_tag :pre, content unless content.nil?
88
+ content_tag :pre, content unless content.nil?
78
89
  end
79
90
  end
80
91
  end
@@ -4,8 +4,8 @@
4
4
  <title>
5
5
  Virtual Mail Box
6
6
  </title>
7
- <%= stylesheet_link_tag "virtual_mails/application", media: "all", "data-turbolinks-track" => true %>
8
- <%= javascript_include_tag "virtual_mails/application", "data-turbolinks-track" => true %>
7
+ <%= stylesheet_link_tag 'virtual_mails/application', media: 'all', 'data-turbolinks-track': true %>
8
+ <%= javascript_include_tag 'virtual_mails/application', 'data-turbolinks-track': true %>
9
9
  <%= csrf_meta_tags %>
10
10
  </head>
11
11
  <body>
@@ -1,4 +1,4 @@
1
- <%= link_to 'Clear', clear_emails_path, :method => :delete, :data => {:confirm => "Are you sure?"} %>
1
+ <%= link_to 'Clear', clear_emails_path, method: :delete, data: { confirm: 'Are you sure?' } %>
2
2
  <table>
3
3
  <colgroup>
4
4
  <col width="250px"></col>
@@ -3,7 +3,7 @@
3
3
  <th>Subject</th>
4
4
  <td>
5
5
  <%= @email.subject %>
6
- <%= link_to '(Raw)', raw_email_path(:id => @email.id), :target => 'raw' %>
6
+ <%= link_to '(Raw)', raw_email_path(id: @email.id), target: 'raw' %>
7
7
  </td>
8
8
  </tr>
9
9
  <tr>
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  VirtualMails::Engine.routes.draw do
2
- resources :emails, :path => '/', :only => [:index, :show] do
4
+ resources :emails, path: '/', only: %i[index show] do
3
5
  member do
4
6
  get 'raw'
5
7
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Spring.application_root = './spec/dummy'
@@ -1,8 +1,11 @@
1
- require "virtual_mails/engine"
2
- require "virtual_mails/mailer"
1
+ # frozen_string_literal: true
2
+
3
+ require 'virtual_mails/version'
4
+ require 'virtual_mails/engine'
5
+ require 'virtual_mails/mailer'
3
6
 
4
7
  module VirtualMails
5
- CacheKey = 'virtual_mails'
8
+ CACHE_KEY = 'virtual_mails'
6
9
 
7
10
  ActionMailer::Base.add_delivery_method :virtual, Mailer
8
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VirtualMails
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace VirtualMails
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VirtualMails
2
4
  class Mailer
3
5
  attr_accessor :settings
@@ -9,7 +11,11 @@ module VirtualMails
9
11
  def deliver!(mail)
10
12
  mails = Email.all
11
13
  mails.unshift(Email.new(mail))
12
- Rails.cache.write(CacheKey, mails)
14
+ Mailer.cache.write(CACHE_KEY, mails)
15
+ end
16
+
17
+ def self.cache
18
+ @cache ||= ActiveSupport::Cache::FileStore.new('tmp/virtual_mails')
13
19
  end
14
20
  end
15
21
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VirtualMails
2
- VERSION = "0.2.0"
4
+ VERSION = '0.3.0'
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virtual_mails
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
  - Chen, Yi-Cyuan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-17 00:00:00.000000000 Z
11
+ date: 2020-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.3.6
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.3.6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,34 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: spring
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: spring-commands-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
139
167
  description: A rails plugin that provides a virtual mail box and action mailer delivery
140
168
  method.
141
169
  email:
@@ -159,7 +187,6 @@ files:
159
187
  - app/views/virtual_mails/emails/show.html.erb
160
188
  - config/routes.rb
161
189
  - config/spring.rb
162
- - lib/tasks/virtual_mails_tasks.rake
163
190
  - lib/virtual_mails.rb
164
191
  - lib/virtual_mails/engine.rb
165
192
  - lib/virtual_mails/mailer.rb
@@ -168,7 +195,7 @@ homepage: https://github.com/emn178/virtual_mails
168
195
  licenses:
169
196
  - MIT
170
197
  metadata: {}
171
- post_install_message:
198
+ post_install_message:
172
199
  rdoc_options: []
173
200
  require_paths:
174
201
  - lib
@@ -183,9 +210,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
210
  - !ruby/object:Gem::Version
184
211
  version: '0'
185
212
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.5.1
188
- signing_key:
213
+ rubygems_version: 3.0.8
214
+ signing_key:
189
215
  specification_version: 4
190
216
  summary: A rails plugin that provides a virtual mail box and action mailer delivery
191
217
  method.
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :virtual_mails do
3
- # # Task goes here
4
- # end