Sha256: e2d559134ebebe762a6086c7852d6b34115cfe620db5a550c3869d3c868015ca

Contents?: true

Size: 1.24 KB

Versions: 15

Compression:

Stored size: 1.24 KB

Contents

def process_email_addresses context_card, format_args, args
  format(format_args).render_email_addresses(args.merge(context: context_card))
end

format do
  def chunk_list  # turn off autodetection of uri's
    :references
  end
end

# format :html do
#   def pointer_items args
#     card.item_names(context: :raw).map do |iname|
#       wrap_item iname, args
#     end
#   end
# end#

format :email_text do
  view :email_addresses, cache: :never do |args|
    context = args[:context] || self
    card.item_names(context: context.name).map do |name|
      # FIXME: context is processed twice here because pointers absolutize
      # item_names by default while other types can return relative names.
      # That's poor default behavior and should be fixed!
      name = name.to_name.absolute context
      email_address?(name) ? name : email_address_from_card(name, context)
    end.flatten.compact.join(", ")
  end

  def email_address? string
    string =~ /.+\@.+\..+/
  end

  def email_address_from_card name, context
    card = Card.fetch name
    card.account&.email || email_addresses_from_card_content(card, context)
  end

  def email_addresses_from_card_content card, context
    card.contextual_content(context, format: :email_text).split(/[,\n]/)
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
card-1.94.1 mod/notifications/set/abstract/email_field.rb
card-1.94.0 mod/notifications/set/abstract/email_field.rb
card-1.93.13 mod/notifications/set/abstract/email_field.rb
card-1.93.12 mod/notifications/set/abstract/email_field.rb
card-1.93.11 mod/notifications/set/abstract/email_field.rb
card-1.93.10 mod/notifications/set/abstract/email_field.rb
card-1.93.9 mod/notifications/set/abstract/email_field.rb
card-1.93.8 mod/notifications/set/abstract/email_field.rb
card-1.93.7 mod/notifications/set/abstract/email_field.rb
card-1.93.6 mod/notifications/set/abstract/email_field.rb
card-1.93.5 mod/notifications/set/abstract/email_field.rb
card-1.93.4 mod/notifications/set/abstract/email_field.rb
card-1.93.3 mod/notifications/set/abstract/email_field.rb
card-1.93.2 mod/notifications/set/abstract/email_field.rb
card-1.93.1 mod/notifications/set/abstract/email_field.rb