mandrillamelo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/mandrillamelo +42 -0
  3. metadata +87 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9f9e70b0aff976b220e27829d38e7045f1baffba
4
+ data.tar.gz: f49aecee1139a5bb3afd29d7572955b8986bb235
5
+ SHA512:
6
+ metadata.gz: 7b52d091b81d5bdee3c8211ef0273dd42b9b06dc945afe7a05cd87094625fcf7a120a0a1c99d896c13678adb47f88a5e99ae304288e394075e4a4dc5136d95f5
7
+ data.tar.gz: 4596c834b20e79af8369eab7411859a60e5e59d88cc2f0d203c6928c07b7d5234a18868f984a9b4fe28a07b91f6513cc66d163dbe74effe49004a7d301f7992b
data/mandrillamelo ADDED
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ require 'vandamme'
3
+ require 'mandrill'
4
+
5
+ changelog = open('./CHANGELOG.md').read.force_encoding(Encoding::UTF_8)
6
+ parser = Vandamme::Parser.new(changelog: changelog, version_header_exp: '(\d\.\d+\.\d+) \(\d{4}-\d{2}-\d{2}\)', format: 'markdown')
7
+
8
+ last_release = parser.to_html.keys[0]
9
+
10
+ def send_mail(release, html_changelog)
11
+ begin
12
+ to = ENV['RECIPIENTS'].split(',').map{ |mail| {'email'=>mail} }
13
+ mandrill = Mandrill::API.new(ENV['MANDRILL_KEY'])
14
+ message = {
15
+ "tags"=>["changelog"],
16
+ "to"=> to,
17
+ "track_opens"=>nil,
18
+ "headers"=>{"Reply-To"=>"dev@chorally.com"},
19
+ "view_content_link"=>nil,
20
+ "auto_text"=>nil,
21
+ "track_clicks"=>nil,
22
+ "from_name"=>"Changelog",
23
+ "subject"=>"[CHANGELOG] Chorally #{release}",
24
+ "html"=>"<h1>Chorally Changelog</h1><h2>#{release}</h2>#{html_changelog}",
25
+ "from_email"=>"no-reply@chorally.com",
26
+ "preserve_recipients"=>true,
27
+ "auto_html"=>nil,
28
+ "important"=>false}
29
+ async = false
30
+ ip_pool = "Main Pool"
31
+ result = mandrill.messages.send message, async, ip_pool #, send_at
32
+
33
+
34
+ rescue Mandrill::Error => e
35
+ # Mandrill errors are thrown as exceptions
36
+ puts "A mandrill error occurred: #{e.class} - #{e.message}"
37
+ # A mandrill error occurred: Mandrill::UnknownSubaccountError - No subaccount exists with the id 'customer-123'
38
+ raise
39
+ end
40
+ end
41
+
42
+ puts send_mail(last_release, parser.to_html[last_release])
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mandrillamelo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Alessio Caiazza
8
+ autorequire:
9
+ bindir: "."
10
+ cert_chain: []
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.13'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: vandamme
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.11
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.11
41
+ - !ruby/object:Gem::Dependency
42
+ name: mandrill-api
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ description: Parse a changelog and send it via mandrill
56
+ email: alessio@chorally.com
57
+ executables:
58
+ - mandrillamelo
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - "./mandrillamelo"
63
+ homepage: http://chorally.com/
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.4.5.1
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Changelog sender
87
+ test_files: []