lib/card/flexmail.rb in wagn-1.12.13 vs lib/card/flexmail.rb in wagn-1.13.0.pre

- old
+ new

@@ -1,47 +1,53 @@ # -*- encoding : utf-8 -*- -class Card::Flexmail - class << self - def configs_for card - email_config_cardnames(card).map do |email_config| - config = {} +class Card + class Flexmail - [:to, :from, :cc, :bcc, :attach].each do |field| - config[field] = ( fld_card=Card["#{email_config}+*#{field}"] ).nil? ? '' : - # configuration can be anything visible to configurer - Account.as( fld_card.updater ) do - list = fld_card.extended_list card - field == :attach ? list : list * ',' - end - end + class << self + + def configs_for card + email_config_cardnames(card).map do |email_config| + config = {} - [:subject, :message].each do |field| - config[field] = ( fld_card=Card["#{email_config}+*#{field}"] ).nil? ? '' : - Account.as( fld_card.updater ) do - fld_card.contextual_content card, :format=>'email_html' - end + [:to, :from, :cc, :bcc, :attach].each do |field| + config[field] = ( fld_card=Card["#{email_config}+*#{field}"] ).nil? ? '' : + # configuration can be anything visible to configurer + Auth.as( fld_card.updater ) do + list = fld_card.extended_list card + field == :attach ? list : list * ',' + end + end + + [:subject, :message].each do |field| + config[field] = ( fld_card=Card["#{email_config}+*#{field}"] ).nil? ? '' : + Auth.as( fld_card.updater ) do + fld_card.contextual_content card, :format=>'email_html' + end + end + + config[:subject] = strip_html(config[:subject]).strip + config end + end - config[:subject] = strip_html(config[:subject]).strip - config + def email_config_cardnames card + #warn "card is #{card.inspect}" + event_card = card.rule_card :send + return [] unless event_card + Auth.as_bot { event_card.item_names } end - end - def email_config_cardnames card - #warn "card is #{card.inspect}" - event_card = card.rule_card :send - return [] unless event_card - Account.as_bot { event_card.item_names } - end + def mail_for card + configs_for(card).map do |config| + Card::Mailer.flexmail config + end.compact.each(&:deliver) + end - def mail_for card - configs_for(card).map do |config| - Mailer.flexmail config - end.compact.each(&:deliver) + def strip_html string + string.gsub(/<\/?[^>]*>/, "") + end + end - - def strip_html string - string.gsub(/<\/?[^>]*>/, "") - end + end -end \ No newline at end of file +end