Sha256: 060aaf6d1413e239740288daa680f2fdb89bf58d0c2aebe8cd15a66274b4c8c8

Contents?: true

Size: 1.71 KB

Versions: 9

Compression:

Stored size: 1.71 KB

Contents

# !SLIDE :capture_code_output true
# Socket service with local fallback.

require 'example_helper'
begin
  File.unlink(service_log = "#{__FILE__}.service.log") rescue nil
  Email.asir.transport = t =
    ASIR::Transport::Fallback.new(:transports => [
      tcp = ASIR::Transport::TcpSocket.new(:port => 31911,
                                           :encoder => ASIR::Coder::Marshal.new),
      ASIR::Transport::Broadcast.new(:transports => [
        file = ASIR::Transport::File.new(:file => service_log,
                                         :encoder => ASIR::Coder::Yaml.new(:yaml_options => { :ASCII_8BIT_ok => true })),
        ASIR::Transport::Local.new,
      ]),
    ])
  pr Email.asir.send_email(:pdf_invoice,
                             :to => "user@email.com", :customer => @customer)
  server_process do
    tcp.prepare_server!
    tcp.run_server!
  end
  pr Email.asir.send_email(:pdf_invoice,
                             :to => "user2@email.com", :customer => @customer)
ensure
  file.close rescue nil;
  tcp.close rescue nil; sleep 1; server_kill
  puts "\x1a\n#{service_log.inspect} contents:"
  puts File.read(service_log)
end

# !SLIDE END
# EXPECT: : client process
# EXPECT: : server process
# EXPECT/: : Email.send_mail :pdf_invoice .*:to=>"user@email.com"
# EXPECT/: : Email.send_mail :pdf_invoice .*:to=>"user2@email.com"
# EXPECT: : pr: :ok
# EXPECT: service.log" contents:
# EXPECT: --- !ruby/object:ASIR::Message
# EXPECT:   :transport_exceptions:
# EXPECT: Cannot connect to ASIR::Transport::TcpSocket tcp://127.0.0.1:
# EXPECT: arguments:
# EXPECT: - :pdf_invoice
# EXPECT/: :to: user@email.com
# EXPECT/: :customer: 123
# EXPECT: receiver: Email
# EXPECT: receiver_class: Module
# EXPECT: selector: :send_email

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
asir-1.2.11 example/ex11.rb
asir-1.2.10 example/ex11.rb
asir-1.2.9 example/ex11.rb
asir-1.2.8 example/ex11.rb
asir-1.2.7 example/ex11.rb
asir-1.2.6 example/ex11.rb
asir-1.2.5 example/ex11.rb
asir-1.2.3 example/ex11.rb
asir-1.2.2 example/ex11.rb