require 'wechat_gate/exception'
namespace :wechat_gate do
def validate_envs raise WechatGate::Exception::ConfigException, 'need specify APP_NAME!' unless ENV['APP_NAME'] end desc "create menu, APP_NAME=app_name, CONFIG=/path/to/config/file.yml, MENU=/path/to/menu/config/file.yml" task :create_menu => :environment do validate_envs @config = WechatGate::Config.new(ENV['APP_NAME'], ENV['CONFIG']) menu_file = ENV['MENU'] menu_file = "#{Dir.pwd}/config/wechat_menu.yml" unless menu_file raise WechatGate::Exception::ConfigException, "MENU #{menu_file} not found!" unless File.exists?(menu_file) menu = YAML.load(ERB.new(File.read(menu_file)).result(binding)) @config.menu_create(JSON.generate(menu)) end
end