vmail 1.4.9 → 1.5.0

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.
data/README.markdown CHANGED
@@ -463,7 +463,7 @@ vmail generates a few files in the current directory when it is running:
463
463
 
464
464
  * `current_message.txt` holds the current message being shown. Not deleted on quit.
465
465
 
466
- * `compose_message.txt` holds the current message being shown. Not deleted on quit.
466
+ * `sent-messages.txt` will contain copies of any messages you send from vmail
467
467
 
468
468
  * `part.html` is created if you open an HTML mail part from vmail.
469
469
 
data/lib/vmail.rb CHANGED
@@ -10,6 +10,10 @@ module Vmail
10
10
 
11
11
  def start
12
12
  puts "Starting vmail #{Vmail::VERSION}"
13
+ if Gem::Version.new("1.9.0") > Gem::Version.new(RUBY_VERSION)
14
+ puts "This version of vmail requires Ruby version 1.9.0 or higher (1.9.2 is recommended)"
15
+ exit
16
+ end
13
17
 
14
18
  vim = ENV['VMAIL_VIM'] || 'vim'
15
19
  ENV['VMAIL_BROWSER'] ||= if RUBY_PLATFORM.downcase.include?('linux')
data/lib/vmail.vim CHANGED
@@ -574,6 +574,8 @@ func! s:open_compose_window(command)
574
574
  let res = system(a:command)
575
575
  split compose_message.txt
576
576
  setlocal modifiable
577
+ " TODO maybe later save backups?
578
+ setlocal buftype=nowrite
577
579
  if winnr('$') > 1
578
580
  wincmd p
579
581
  close!
@@ -584,7 +586,6 @@ func! s:open_compose_window(command)
584
586
  call s:compose_window_mappings()
585
587
  setlocal completefunc=CompleteContact
586
588
  normal 1G
587
- write!
588
589
  endfunc
589
590
 
590
591
  func! s:turn_into_compose_window()
@@ -629,11 +630,12 @@ endfunc
629
630
  function! s:send_message()
630
631
  let mail = join(getline(1,'$'), "\n")
631
632
  echo "Sending message"
632
- call system(s:deliver_command, mail)
633
- redraw
634
- call s:close_and_focus_list_window()
633
+ let res = system(s:deliver_command, mail)
634
+ if match(res, '^Failed') == -1
635
+ call s:close_and_focus_list_window()
636
+ endif
635
637
  redraw
636
- echom "Message sent!"
638
+ echom substitute(res, '[\s\r\n]\+$', '', '')
637
639
  endfunction
638
640
 
639
641
  " --------------------------------------------------------------------------------
@@ -663,6 +663,23 @@ EOF
663
663
  str * DIVIDER_WIDTH
664
664
  end
665
665
 
666
+ SENT_MESSAGES_FILE = "sent-messages.txt"
667
+
668
+ def format_sent_message(mail)
669
+ formatter = Vmail::MessageFormatter.new(mail)
670
+ message_text = <<-EOF
671
+ Sent Message #{self.format_parts_info(formatter.list_parts)}
672
+
673
+ #{format_headers(formatter.extract_headers)}
674
+
675
+ #{formatter.process_body}
676
+ EOF
677
+ end
678
+
679
+ def backup_sent_message(message)
680
+ File.open(SENT_MESSAGES_FILE, "a") {|f| f.write(divider('-') + "\n" + format_sent_message(message))}
681
+ end
682
+
666
683
  def deliver(text)
667
684
  # parse the text. The headers are yaml. The rest is text body.
668
685
  require 'net/smtp'
@@ -673,9 +690,10 @@ EOF
673
690
  log res.inspect
674
691
  log "\n"
675
692
  msg = if res.is_a?(Mail::Message)
676
- "Message '#{mail.subject}' sent"
693
+ backup_sent_message mail
694
+ "Message '#{mail.subject}' sent and saved to #{SENT_MESSAGES_FILE}"
677
695
  else
678
- "Failed to deliver message '#{mail.subject}'"
696
+ "Failed to deliver message '#{mail.subject}'!"
679
697
  end
680
698
  log msg
681
699
  msg
data/lib/vmail/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vmail
2
- VERSION = "1.4.9"
2
+ VERSION = "1.5.0"
3
3
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmail
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 3
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
- - 4
8
- - 9
9
- version: 1.4.9
8
+ - 5
9
+ - 0
10
+ version: 1.5.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Daniel Choi
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-02-10 00:00:00 -05:00
18
+ date: 2011-02-11 00:00:00 -05:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
@@ -25,6 +26,7 @@ dependencies:
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
29
+ hash: 31
28
30
  segments:
29
31
  - 2
30
32
  - 2
@@ -40,6 +42,7 @@ dependencies:
40
42
  requirements:
41
43
  - - ">="
42
44
  - !ruby/object:Gem::Version
45
+ hash: 13
43
46
  segments:
44
47
  - 1
45
48
  - 6
@@ -144,6 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
147
  requirements:
145
148
  - - ">="
146
149
  - !ruby/object:Gem::Version
150
+ hash: 3
147
151
  segments:
148
152
  - 0
149
153
  version: "0"
@@ -152,13 +156,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
156
  requirements:
153
157
  - - ">="
154
158
  - !ruby/object:Gem::Version
159
+ hash: 3
155
160
  segments:
156
161
  - 0
157
162
  version: "0"
158
163
  requirements: []
159
164
 
160
165
  rubyforge_project: vmail
161
- rubygems_version: 1.3.7
166
+ rubygems_version: 1.4.1
162
167
  signing_key:
163
168
  specification_version: 3
164
169
  summary: A Vim interface to Gmail