mandrill-template-manager 0.1.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13a21df70e863553d10d0671df2ccbd9dd185e90
4
- data.tar.gz: 759109618c7e4f88465ea4834934248d14ed9745
3
+ metadata.gz: 497f8837541cb94617a859849e922a4453e44eff
4
+ data.tar.gz: 3bce101be2c0cec531c19f9578767f4dc98d1c88
5
5
  SHA512:
6
- metadata.gz: d1636011b3fa0d03ec5a2ff612967484e3251ab2428b0cf8901685cc6b2808e0bb03c0de93cb45d80c6abeabd3149c279de1e64e228de3c26cf8108b94334314
7
- data.tar.gz: 19474e91bf6dafe2bfe1c776462187d2bb90a2257d0735ac206a91d5daedf2b53611045b164de17f639dcadd6799ce8f32b73790c6290a56779a4578fc579021
6
+ metadata.gz: 9950d411e0efa386ec90ede940715c6e01ab5761f368bc14e76e75966c6b132872efa3832c6015832e2c82cd05c75c831259840d80e059acb7059006492c7e18
7
+ data.tar.gz: ff2cfc9dce47f6716153e2d71d7c2ff157174fcea1fa5cddb2574373377054b657b6314f650f631834bf836a9906f546e91b1a165c492f83ab2eb2b4c463058e
@@ -5,10 +5,11 @@ require 'formatador'
5
5
  require 'unicode' unless ['jruby'].include?(RbConfig::CONFIG['ruby_install_name'])
6
6
  require 'yaml'
7
7
  require "mandrill_template/monkey_create_file"
8
+ autoload "Handlebars", 'handlebars'
8
9
 
9
10
  class MandrillTemplateManager < Thor
10
11
  include Thor::Actions
11
- VERSION = "0.1.1"
12
+ VERSION = "0.2.0"
12
13
 
13
14
  desc "export NAME", "export template from remote to local files."
14
15
  def export(name)
@@ -50,6 +51,25 @@ class MandrillTemplateManager < Thor
50
51
  puts MandrillClient.client.templates.publish(name).to_yaml
51
52
  end
52
53
 
54
+ desc "render NAME [PARAMS_FILE]", "render mailbody from local template data. File should be Array. see https://mandrillapp.com/api/docs/templates.JSON.html#method=render."
55
+ option :handlebars, type: :boolean, default: false
56
+ def render(name, params = nil)
57
+ merge_vars = params ? JSON.parse(File.read(params)) : []
58
+ template = MandrillTemplate::Local.new(name)
59
+ if template.avail
60
+ if options[:handlebars]
61
+ handlebars = Handlebars::Context.new
62
+ h_template = handlebars.compile(template['code'])
63
+ puts h_template.call(localize_merge_vars(merge_vars))
64
+ else
65
+ result = MandrillClient.client.templates.render template.name, template['code'], merge_vars
66
+ puts result["html"]
67
+ end
68
+ else
69
+ puts "Template data not found #{name}. Please generate first."
70
+ end
71
+ end
72
+
53
73
  desc "list", "show template list both of remote and local."
54
74
  def list
55
75
  puts "Remote Templates"
@@ -162,4 +182,10 @@ class MandrillTemplateManager < Thor
162
182
  false
163
183
  end
164
184
  end
185
+
186
+ def localize_merge_vars(merge_vars)
187
+ h = {}
188
+ merge_vars.each {|kv| h[kv["name"]] = kv["content"] }
189
+ h
190
+ end
165
191
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "mandrill-template-manager"
7
- spec.version = "0.1.1"
7
+ spec.version = "0.2.0"
8
8
  spec.authors = ["sawanoboly"]
9
9
  spec.email = ["sawanoboriyu@higanworks.com"]
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandrill-template-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sawanoboly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-13 00:00:00.000000000 Z
11
+ date: 2015-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  version: '0'
178
178
  requirements: []
179
179
  rubyforge_project:
180
- rubygems_version: 2.4.6
180
+ rubygems_version: 2.4.8
181
181
  signing_key:
182
182
  specification_version: 4
183
183
  summary: Manage Mandrill Template CLI