rmsgen 0.0.3 → 0.0.5
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/features/multiple_url.feature +7 -13
- data/features/raw_email.feature +2 -8
- data/features/setting_title.feature +9 -10
- data/features/standard_pol_note.feature +4 -9
- data/features/step_definitions/urgent_polnote_steps.rb +1 -0
- data/features/support/hooks.rb +0 -8
- data/features/urgent_polnote.feature +6 -11
- data/lib/rmsgen/fs_polnote_group.rb +1 -1
- data/lib/rmsgen/imap_polnote_group.rb +20 -16
- data/lib/rmsgen/inquirer.rb +6 -1
- data/lib/rmsgen/polnote.rb +18 -6
- data/lib/rmsgen/runtime.rb +8 -12
- data/lib/rmsgen/titleizer.rb +25 -16
- data/lib/rmsgen/version.rb +1 -1
- data/lib/templates/polnote.erb +1 -1
- data/lib/templates/urgent.erb +3 -0
- data/spec/imap_polnote_group_spec.rb +5 -3
- data/spec/inqirer_spec.rb +4 -4
- data/spec/polnote_spec.rb +4 -4
- data/spec/runtime_spec.rb +1 -1
- metadata +4 -5
@@ -3,9 +3,8 @@ Feature: Inquiring about multiple urls
|
|
3
3
|
As a helper
|
4
4
|
I want to be be able to input information on multiple urls
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
Given a file named "polnote" with:
|
6
|
+
Scenario: It asks for a title and link text
|
7
|
+
Given a polnote:
|
9
8
|
"""
|
10
9
|
A story about something.
|
11
10
|
|
@@ -15,17 +14,12 @@ Feature: Inquiring about multiple urls
|
|
15
14
|
|
16
15
|
http://test.com
|
17
16
|
"""
|
18
|
-
|
19
|
-
|
20
|
-
""
|
21
|
-
|
22
|
-
"""
|
23
|
-
Given I run `rmsgen -c config.yml` interactively
|
24
|
-
And I type "The Title"
|
25
|
-
And I type "something"
|
26
|
-
And I type "something"
|
17
|
+
Given I run rmsgen
|
18
|
+
And I type "The Title" for the title
|
19
|
+
And I type "something" for the link text
|
20
|
+
And I type "something else" for the link text
|
27
21
|
Then the output should contain:
|
28
22
|
"""
|
29
23
|
<p>A story about <a href='http://test.com'>something</a>.</p>
|
30
|
-
<p>And <a href='http://test.com'>something
|
24
|
+
<p>And <a href='http://test.com'>something else</a></p>
|
31
25
|
"""
|
data/features/raw_email.feature
CHANGED
@@ -3,9 +3,8 @@ Feature: Generate polnote from full email
|
|
3
3
|
As a helper
|
4
4
|
I want a pol note from a full raw email
|
5
5
|
|
6
|
-
@setup_polnote_directory
|
7
6
|
Scenario: Raw email is stripped to just the body
|
8
|
-
Given a
|
7
|
+
Given a polnote:
|
9
8
|
"""
|
10
9
|
Return-Path: <rms@gnu.org>
|
11
10
|
X-Original-To: stallman-helpers@netpurgatory.com
|
@@ -43,12 +42,7 @@ Feature: Generate polnote from full email
|
|
43
42
|
Skype: No way! That's nonfree (freedom-denying) software.
|
44
43
|
Use free telephony http://directory.fsf.org/category/tel/
|
45
44
|
"""
|
46
|
-
|
47
|
-
Given a file named "config.yml" with:
|
48
|
-
"""
|
49
|
-
email_dir: polnotes
|
50
|
-
"""
|
51
|
-
Given I run `rmsgen -c config.yml` interactively
|
45
|
+
Given I run rmsgen
|
52
46
|
And I type "A title"
|
53
47
|
And I type "Text"
|
54
48
|
Then the output should contain:
|
@@ -4,19 +4,18 @@ Feature: Helper sets title
|
|
4
4
|
I want to be asked for title text
|
5
5
|
and shown the proper html output
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
Given a file named "polnote" with:
|
7
|
+
Background:
|
8
|
+
Given a polnote:
|
10
9
|
"""
|
11
10
|
A story about something.
|
12
11
|
"""
|
12
|
+
And I run rmsgen
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
""
|
17
|
-
email_dir: polnotes
|
18
|
-
"""
|
14
|
+
Scenario: Helper sets title
|
15
|
+
When I type "I Like Turtles"
|
16
|
+
Then I should see a title for "I Like Turtles"
|
19
17
|
|
20
|
-
|
21
|
-
|
18
|
+
Scenario: Helper capitalizes each word in the title
|
19
|
+
When I type "i like turtles"
|
22
20
|
Then I should see a title for "I Like Turtles"
|
21
|
+
|
@@ -5,20 +5,15 @@ Feature: Managing a standard polnote
|
|
5
5
|
|
6
6
|
@setup_polnote_directory
|
7
7
|
Scenario: A standard polnote
|
8
|
-
Given a
|
8
|
+
Given a polnote:
|
9
9
|
"""
|
10
10
|
A story about something.
|
11
11
|
|
12
12
|
http://test.com
|
13
13
|
"""
|
14
|
-
|
15
|
-
|
16
|
-
""
|
17
|
-
email_dir: polnotes
|
18
|
-
"""
|
19
|
-
Given I run `rmsgen -c config.yml` interactively
|
20
|
-
And I type "The Title"
|
21
|
-
And I type "something"
|
14
|
+
Given I run rmsgen
|
15
|
+
And I type "The Title" for the title
|
16
|
+
And I type "something" for the link text
|
22
17
|
|
23
18
|
Then the output should contain:
|
24
19
|
"""
|
data/features/support/hooks.rb
CHANGED
@@ -4,29 +4,24 @@ Feature: Urgent Polnotes
|
|
4
4
|
I want to see the html output for the polnote section
|
5
5
|
and for the urgent section
|
6
6
|
|
7
|
-
@setup_polnote_directory @urgent_note
|
8
7
|
Scenario: I see the html for the polnote section
|
8
|
+
Given I am ready to do polnotes
|
9
|
+
Given an urgent polnote exists
|
9
10
|
Given a file named "config.yml" with:
|
10
11
|
"""
|
11
12
|
email_dir: polnotes
|
12
13
|
"""
|
13
|
-
Given I run
|
14
|
+
Given I run rmsgen
|
14
15
|
|
15
|
-
When I type "Urgent Note"
|
16
|
-
And I type "01 July 2011"
|
17
|
-
And I type "tell"
|
16
|
+
When I type "Urgent Note" for the title
|
17
|
+
And I type "01 July 2011"
|
18
|
+
And I type "tell" for the link text
|
18
19
|
|
19
20
|
Then I should see a title for "Urgent Note"
|
20
21
|
And the output should contain:
|
21
22
|
"""
|
22
23
|
What day does it expire?
|
23
24
|
"""
|
24
|
-
|
25
|
-
And the output should contain:
|
26
|
-
"""
|
27
|
-
<!-- Expires 01 July 2011 -->
|
28
|
-
"""
|
29
|
-
|
30
25
|
Then the output should not contain:
|
31
26
|
"""
|
32
27
|
<p>For one week:</p>
|
@@ -3,7 +3,7 @@ module Rmsgen
|
|
3
3
|
def initialize(dir=nil)
|
4
4
|
splat_dir = "#{dir}/*"
|
5
5
|
@raw_notes = Dir[splat_dir].map { |f| File.read(f) }
|
6
|
-
@notes = @raw_notes.map { |note| Rmsgen::Polnote.new(note) }
|
6
|
+
@notes = @raw_notes.map { |note| Rmsgen::Polnote.new(:body => note) }
|
7
7
|
end
|
8
8
|
def all
|
9
9
|
@notes
|
@@ -2,10 +2,13 @@ module Rmsgen
|
|
2
2
|
class IMAPPolnoteGroup
|
3
3
|
require 'net/imap'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
attr_reader :note_ids
|
6
|
+
|
7
|
+
def initialize(options={})
|
8
|
+
@imap_options = options
|
7
9
|
@login = options['imap_login']
|
8
10
|
@password = options['imap_password']
|
11
|
+
@note_ids = init_note_ids || []
|
9
12
|
end
|
10
13
|
|
11
14
|
def fetch_notes
|
@@ -14,10 +17,10 @@ module Rmsgen
|
|
14
17
|
find_all_from_rms
|
15
18
|
end
|
16
19
|
|
17
|
-
def
|
20
|
+
def init_note_ids
|
18
21
|
authenticate
|
19
22
|
follow_inbox
|
20
|
-
|
23
|
+
imap.search(["FROM", 'rms@gnu.org'])
|
21
24
|
end
|
22
25
|
|
23
26
|
def find(id)
|
@@ -26,14 +29,13 @@ module Rmsgen
|
|
26
29
|
end
|
27
30
|
|
28
31
|
def archive_polnote(id)
|
29
|
-
authenticate
|
30
32
|
follow_inbox
|
31
33
|
archived = false
|
32
|
-
|
34
|
+
imap.search(["FROM", 'rms@gnu.org']).each do |note_id|
|
33
35
|
if note_id.to_i == id.to_i
|
34
|
-
|
35
|
-
|
36
|
-
|
36
|
+
imap.copy id.to_i, 'INBOX.old-messages'
|
37
|
+
imap.store(id.to_i, "+FLAGS", [:Deleted])
|
38
|
+
imap.expunge
|
37
39
|
archived = true
|
38
40
|
end
|
39
41
|
end
|
@@ -42,24 +44,26 @@ module Rmsgen
|
|
42
44
|
|
43
45
|
private
|
44
46
|
|
47
|
+
def imap
|
48
|
+
@imap ||= Net::IMAP.new(@imap_options['imap_server'])
|
49
|
+
end
|
50
|
+
|
45
51
|
def authenticate
|
46
|
-
|
52
|
+
imap.authenticate 'LOGIN', @login, @password
|
47
53
|
end
|
48
54
|
|
49
55
|
def follow_inbox
|
50
|
-
|
56
|
+
imap.select 'INBOX'
|
51
57
|
end
|
52
58
|
|
53
59
|
def find_all_from_rms
|
54
|
-
|
55
|
-
note_ids.map { |id| fetch_message_body(id) }
|
56
|
-
end
|
60
|
+
@note_ids.map { |id| fetch_message_body(id) }
|
57
61
|
end
|
58
62
|
|
59
63
|
def fetch_message_body(id)
|
60
|
-
fetch_result =
|
64
|
+
fetch_result = imap.fetch id, 'RFC822'
|
61
65
|
if fetch_result && fetch_result.any?
|
62
|
-
fetch_result[0].attr['
|
66
|
+
fetch_result[0].attr['RFC822']
|
63
67
|
end
|
64
68
|
end
|
65
69
|
end
|
data/lib/rmsgen/inquirer.rb
CHANGED
@@ -63,7 +63,12 @@ module Rmsgen
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def inquire_about_expiration
|
66
|
-
|
66
|
+
if @answers.empty?
|
67
|
+
answer = @script.prompt_for_expiry_date
|
68
|
+
else
|
69
|
+
answer = @answers.shift
|
70
|
+
end
|
71
|
+
@polnote.expires_on = answer
|
67
72
|
end
|
68
73
|
|
69
74
|
def append_to_previous_paragraph part
|
data/lib/rmsgen/polnote.rb
CHANGED
@@ -3,12 +3,14 @@ module Rmsgen
|
|
3
3
|
attr_accessor :id, :title, :body, :expires_on
|
4
4
|
|
5
5
|
URGENT_SUBJECT = 'Subject: Urgent note'
|
6
|
-
TEMPLATE = File.join(File.dirname(__FILE__), '..', 'templates', 'polnote.erb')
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
POLNOTE_TEMPLATE = File.join(File.dirname(__FILE__), '..', 'templates', 'polnote.erb')
|
8
|
+
URGENT_TEMPLATE = File.join(File.dirname(__FILE__), '..', 'templates', 'urgent.erb')
|
9
|
+
|
10
|
+
def initialize(attributes={})
|
11
|
+
@body = attributes[:body]
|
12
|
+
@urgent = sanitize_urgent_attribute(attributes[:urgent]) || (@body && @body.include?(URGENT_SUBJECT))
|
13
|
+
@id = attributes[:id]
|
12
14
|
compress!
|
13
15
|
end
|
14
16
|
|
@@ -29,7 +31,11 @@ module Rmsgen
|
|
29
31
|
end
|
30
32
|
|
31
33
|
def to_html
|
32
|
-
ERB.new(File.read(
|
34
|
+
ERB.new(File.read(POLNOTE_TEMPLATE)).result(binding)
|
35
|
+
end
|
36
|
+
|
37
|
+
def to_urgent_html
|
38
|
+
ERB.new(File.read(URGENT_TEMPLATE)).result(binding)
|
33
39
|
end
|
34
40
|
|
35
41
|
private
|
@@ -37,5 +43,11 @@ module Rmsgen
|
|
37
43
|
def compress!
|
38
44
|
@body = Compresser.new(self).body
|
39
45
|
end
|
46
|
+
|
47
|
+
def sanitize_urgent_attribute(attribute)
|
48
|
+
return false if attribute == 'false'
|
49
|
+
return true if attribute == 'true'
|
50
|
+
attribute
|
51
|
+
end
|
40
52
|
end
|
41
53
|
end
|
data/lib/rmsgen/runtime.rb
CHANGED
@@ -9,14 +9,11 @@ module Rmsgen
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def run!
|
12
|
-
if @notes
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
18
|
-
else
|
19
|
-
puts 'no polnotes in queue'
|
12
|
+
puts 'no polnotes in queue' if @notes.empty?
|
13
|
+
@notes.each do |note|
|
14
|
+
system('clear')
|
15
|
+
polnote = Rmsgen::Inquirer.inquire_about_note(note)
|
16
|
+
write(polnote)
|
20
17
|
end
|
21
18
|
end
|
22
19
|
|
@@ -39,18 +36,17 @@ module Rmsgen
|
|
39
36
|
else
|
40
37
|
notes = fetch_notes_from_imap
|
41
38
|
end
|
42
|
-
notes.map { |note| Rmsgen::Polnote.new(note) } if notes
|
39
|
+
notes.map { |note| Rmsgen::Polnote.new(:body => note) } if notes
|
43
40
|
end
|
44
41
|
|
45
42
|
def fetch_notes_from_imap
|
46
43
|
options = {
|
44
|
+
'imap_server' => @config['imap_server'],
|
47
45
|
'imap_login' => @config['imap_login'],
|
48
46
|
'imap_password' => @config['imap_password']
|
49
47
|
}
|
50
48
|
|
51
|
-
|
52
|
-
Rmsgen::IMAPPolnoteGroup.new(imap, options).fetch_notes
|
49
|
+
Rmsgen::IMAPPolnoteGroup.new(options).fetch_notes
|
53
50
|
end
|
54
|
-
|
55
51
|
end
|
56
52
|
end
|
data/lib/rmsgen/titleizer.rb
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
module Rmsgen
|
2
2
|
class Titleizer
|
3
|
+
SPACE = ' '
|
4
|
+
UNDERSCORE = '_'
|
5
|
+
|
3
6
|
TEMPLATE = File.join(File.dirname(__FILE__), '..', 'templates', 'title.erb')
|
4
7
|
|
5
8
|
attr_reader :title
|
6
9
|
|
7
10
|
def initialize(polnote, options={})
|
8
|
-
@
|
9
|
-
@
|
11
|
+
@title = options[:title]
|
12
|
+
@body = polnote.body
|
13
|
+
@script = Script.new($stdout)
|
10
14
|
|
11
|
-
@script = Script.new($stdout)
|
12
15
|
run!
|
13
16
|
end
|
14
17
|
|
@@ -16,28 +19,34 @@ module Rmsgen
|
|
16
19
|
ERB.new(File.read(TEMPLATE)).result(binding)
|
17
20
|
end
|
18
21
|
|
19
|
-
def
|
20
|
-
|
22
|
+
def to_html
|
23
|
+
body
|
21
24
|
end
|
22
25
|
|
23
|
-
|
24
|
-
|
26
|
+
private
|
27
|
+
|
28
|
+
def run!
|
29
|
+
@title = capitalize(get_title_from_options_or_script)
|
25
30
|
end
|
26
31
|
|
27
|
-
def
|
28
|
-
@title
|
32
|
+
def get_title_from_options_or_script
|
33
|
+
@title || @script.prompt_for_title
|
29
34
|
end
|
30
35
|
|
31
|
-
def
|
32
|
-
|
36
|
+
def capitalize(title=SPACE)
|
37
|
+
title.split(SPACE).map(&:capitalize).join(SPACE)
|
33
38
|
end
|
34
39
|
|
35
|
-
|
36
|
-
|
37
|
-
def run!
|
38
|
-
@title = @script.prompt_for_title unless @title
|
39
|
-
body
|
40
|
+
def today_format
|
41
|
+
Date.today.strftime('%d %B %Y')
|
40
42
|
end
|
41
43
|
|
44
|
+
def today_underscore
|
45
|
+
today_format.gsub(SPACE, UNDERSCORE)
|
46
|
+
end
|
47
|
+
|
48
|
+
def title_underscore
|
49
|
+
@title.gsub(SPACE, UNDERSCORE)
|
50
|
+
end
|
42
51
|
end
|
43
52
|
end
|
data/lib/rmsgen/version.rb
CHANGED
data/lib/templates/polnote.erb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
<%=
|
1
|
+
<%= @title %><% parts.map do |part| %><% if part =~ /<!--/ %><%= part %><% else %><p><%= part %></p><% end %>
|
2
2
|
<% end %>
|
@@ -2,8 +2,9 @@ require 'rmsgen'
|
|
2
2
|
|
3
3
|
describe Rmsgen::IMAPPolnoteGroup do
|
4
4
|
context 'fetching notes' do
|
5
|
-
let(:imap) { double('
|
5
|
+
let(:imap) { double('foo') }
|
6
6
|
let(:options) do {
|
7
|
+
'imap_server' => 'foo.bar.com',
|
7
8
|
'imap_login' => 'login',
|
8
9
|
'imap_password' => 'password'}
|
9
10
|
end
|
@@ -11,8 +12,9 @@ describe Rmsgen::IMAPPolnoteGroup do
|
|
11
12
|
let(:do_fetch) do
|
12
13
|
imap.should_receive(:search).any_number_of_times
|
13
14
|
imap.should_receive(:authenticate).any_number_of_times
|
15
|
+
Net::IMAP.should_receive(:new).any_number_of_times.and_return(imap)
|
14
16
|
imap.should_receive(:select).any_number_of_times
|
15
|
-
Rmsgen::IMAPPolnoteGroup.new(
|
17
|
+
Rmsgen::IMAPPolnoteGroup.new(options).fetch_notes
|
16
18
|
end
|
17
19
|
|
18
20
|
it 'authenticates with imap server' do
|
@@ -36,7 +38,7 @@ describe Rmsgen::IMAPPolnoteGroup do
|
|
36
38
|
|
37
39
|
imap.stub(:search) { search_result }
|
38
40
|
|
39
|
-
imap.should_receive(:fetch).with(message_id, '
|
41
|
+
imap.should_receive(:fetch).with(message_id, 'RFC822')
|
40
42
|
do_fetch
|
41
43
|
end
|
42
44
|
end
|
data/spec/inqirer_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe Rmsgen::Inquirer do
|
|
7
7
|
let(:stdout) { StringIO.new }
|
8
8
|
|
9
9
|
describe "inquires about a note which is indented" do
|
10
|
-
let(:note) { Rmsgen::Polnote.new("foo\n\nhttp://\n\n bar") }
|
10
|
+
let(:note) { Rmsgen::Polnote.new(:body => "foo\n\nhttp://\n\n bar") }
|
11
11
|
|
12
12
|
subject { Rmsgen::Inquirer.new(note, stdout) }
|
13
13
|
|
@@ -22,7 +22,7 @@ describe Rmsgen::Inquirer do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
describe "it inquires about each link in a note" do
|
25
|
-
let(:note) { Rmsgen::Polnote.new("foo\n\nhttp://\n\nbar\n\nhttp://") }
|
25
|
+
let(:note) { Rmsgen::Polnote.new(:body => "foo\n\nhttp://\n\nbar\n\nhttp://") }
|
26
26
|
subject { Rmsgen::Inquirer.new(note, stdout) }
|
27
27
|
|
28
28
|
before do
|
@@ -37,7 +37,7 @@ describe Rmsgen::Inquirer do
|
|
37
37
|
|
38
38
|
describe "inquiring about a duration" do
|
39
39
|
it "asks for the end date of the duration" do
|
40
|
-
note = Rmsgen::Polnote.new("For one week:\n\nUrgent: blah blah blah")
|
40
|
+
note = Rmsgen::Polnote.new(:body => "For one week:\n\nUrgent: blah blah blah")
|
41
41
|
$stdin = FakeGetMany.new("July 1")
|
42
42
|
Rmsgen::Inquirer.new(note, stdout)
|
43
43
|
note.expires_on.should be == "July 1"
|
@@ -46,7 +46,7 @@ describe Rmsgen::Inquirer do
|
|
46
46
|
|
47
47
|
describe 'when a blank answer is given' do
|
48
48
|
it 'returns the polnote text without links' do
|
49
|
-
note = Rmsgen::Polnote.new("foo bar\n\nhttp://")
|
49
|
+
note = Rmsgen::Polnote.new(:body => "foo bar\n\nhttp://")
|
50
50
|
$stdin = FakeGetMany.new("")
|
51
51
|
inquirer = Rmsgen::Inquirer.new(note, stdout)
|
52
52
|
inquirer.body.should be == "foo bar"
|
data/spec/polnote_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe Rmsgen::Polnote do
|
|
9
9
|
|
10
10
|
context "urgent polnote truthfully responds to urgent?" do
|
11
11
|
let(:urgent) { fixture(:urgent_note) }
|
12
|
-
let(:polnote) { Rmsgen::Polnote.new(urgent) }
|
12
|
+
let(:polnote) { Rmsgen::Polnote.new(:body => urgent) }
|
13
13
|
|
14
14
|
it "truthfully responds to urgent?" do
|
15
15
|
polnote.urgent?.should be true
|
@@ -20,7 +20,7 @@ describe Rmsgen::Polnote do
|
|
20
20
|
let(:imap_note) { fixture(:imap_note) }
|
21
21
|
|
22
22
|
it "has parts" do
|
23
|
-
note = Rmsgen::Polnote.new(imap_note)
|
23
|
+
note = Rmsgen::Polnote.new(:body => imap_note)
|
24
24
|
note.parts.should == ['hello', 'world']
|
25
25
|
end
|
26
26
|
end
|
@@ -35,7 +35,7 @@ describe Rmsgen::Polnote do
|
|
35
35
|
|
36
36
|
$stdout = StringIO.new
|
37
37
|
$stdin = FakeGetMany.new(text_a, polnote_url, text_b)
|
38
|
-
polnote = Rmsgen::Polnote.new(note)
|
38
|
+
polnote = Rmsgen::Polnote.new(:body => note)
|
39
39
|
polnote.inquire
|
40
40
|
polnote.to_html.should ==
|
41
41
|
%Q{<p>Somewhere over the <a href='http://rainbow.org'>rainbow</a>.</p>
|
@@ -52,7 +52,7 @@ describe Rmsgen::Polnote do
|
|
52
52
|
text_a = "Somewhere"
|
53
53
|
text_b = "Candy"
|
54
54
|
$stdin = FakeGetMany.new(text_a, text_b)
|
55
|
-
polnote = Rmsgen::Polnote.new(multiline_note)
|
55
|
+
polnote = Rmsgen::Polnote.new(:body => multiline_note)
|
56
56
|
polnote.inquire
|
57
57
|
polnote.to_html.should == "<p> <a href='http://unicorns.org'>Somewhere</a> over the rainbow skies are blue</p>\n<p>Candy is sweet and unicorns are too</p>\n\n"
|
58
58
|
end
|
data/spec/runtime_spec.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rmsgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
13
|
-
default_executable:
|
12
|
+
date: 2011-09-19 00:00:00.000000000Z
|
14
13
|
dependencies: []
|
15
14
|
description: A library to help generate html markup from RMS emails
|
16
15
|
email:
|
@@ -62,6 +61,7 @@ files:
|
|
62
61
|
- lib/rmsgen/version.rb
|
63
62
|
- lib/templates/polnote.erb
|
64
63
|
- lib/templates/title.erb
|
64
|
+
- lib/templates/urgent.erb
|
65
65
|
- rmsgen.gemspec
|
66
66
|
- spec/fake_gets.rb
|
67
67
|
- spec/fixtures/imap_note
|
@@ -75,7 +75,6 @@ files:
|
|
75
75
|
- spec/polnote_spec.rb
|
76
76
|
- spec/runtime_spec.rb
|
77
77
|
- spec/support/fake_gets.rb
|
78
|
-
has_rdoc: true
|
79
78
|
homepage: ''
|
80
79
|
licenses: []
|
81
80
|
post_install_message:
|
@@ -96,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
95
|
version: '0'
|
97
96
|
requirements: []
|
98
97
|
rubyforge_project: rmsgen
|
99
|
-
rubygems_version: 1.
|
98
|
+
rubygems_version: 1.8.10
|
100
99
|
signing_key:
|
101
100
|
specification_version: 3
|
102
101
|
summary: A library to help generate html markup from RMS emails
|