Module: Asposeemailjava

Defined in:
lib/asposeemailjava.rb,
lib/asposeemailjava/version.rb,
lib/asposeemailjava/Email/converter.rb,
lib/asposeemailjava/Email/updateemail.rb,
lib/asposeemailjava/Outlook/createpst.rb,
lib/asposeemailjava/Email/getemailinfo.rb,
lib/asposeemailjava/Email/createnewemail.rb,
lib/asposeemailjava/Outlook/addfiletopst.rb,
lib/asposeemailjava/Email/manageattachments.rb,
lib/asposeemailjava/Email/savemessageasdraft.rb,
lib/asposeemailjava/Outlook/addmapinotetopst.rb,
lib/asposeemailjava/Outlook/addmapitasktopst.rb,
lib/asposeemailjava/Outlook/distributionlist.rb,
lib/asposeemailjava/Email/extractemailheaders.rb,
lib/asposeemailjava/Outlook/createoutlooknote.rb,
lib/asposeemailjava/Outlook/createoutlooktask.rb,
lib/asposeemailjava/Outlook/stringsearchinpst.rb,
lib/asposeemailjava/Email/customizeemailheaders.rb,
lib/asposeemailjava/Outlook/addmapicontacttopst.rb,
lib/asposeemailjava/Outlook/addmapijournaltopst.rb,
lib/asposeemailjava/Outlook/addmapicalendartopst.rb,
lib/asposeemailjava/Outlook/createoutlookcontact.rb,
lib/asposeemailjava/Outlook/parseoutlookmessagefile.rb,
lib/asposeemailjava/Outlook/searchmessagesandfoldersinpst.rb

Defined Under Namespace

Modules: AddFileToPST, AddMapiCalendarToPST, AddMapiContactToPST, AddMapiJournalToPST, AddMapiNoteToPST, AddMapiTaskToPST, Converter, CreateNewEmail, CreateOutlookContact, CreateOutlookNote, CreateOutlookTask, CreatePST, CustomizeEmailHeaders, DistributionList, ExtractEmailHeaders, GetEmailInfo, ManageAttachments, ParseOutlookMessageFile, SaveMessageAsDraft, SearchMessagesAndFoldersInPST, StringSearchInPST, UpdateEmail

Constant Summary collapse

VERSION =
'0.0.1'

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.aspose_email_configObject

Returns the value of attribute aspose_email_config.



9
10
11
# File 'lib/asposeemailjava.rb', line 9

def aspose_email_config
  @aspose_email_config
end

Class Method Details

.configure_aspose_email(config) ⇒ Object



67
68
69
# File 'lib/asposeemailjava.rb', line 67

def self.configure_aspose_email config
  Asposeemailjava.aspose_email_config = config
end

Instance Method Details

#initialize_aspose_emailObject



12
13
14
15
16
17
18
19
# File 'lib/asposeemailjava.rb', line 12

def initialize_aspose_email
  aspose_jars_dir = Asposeemailjava.aspose_email_config ? Asposeemailjava.aspose_email_config['jar_dir'] : nil  
  aspose_license_path = Asposeemailjava.aspose_email_config ? Asposeemailjava.aspose_email_config['license_path'] : nil
  jvm_args = Asposeemailjava.aspose_email_config ? Asposeemailjava.aspose_email_config['jvm_args'] : nil
  
  load_aspose_jars(aspose_jars_dir, jvm_args)
  load_aspose_license(aspose_license_path)
end

#input_file(file) ⇒ Object



50
51
52
# File 'lib/asposeemailjava.rb', line 50

def input_file(file)
  Rjb::import('java.io.FileInputStream').new(file)
end

#load_aspose_jars(aspose_jars_dir, jvm_args) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/asposeemailjava.rb', line 31

def load_aspose_jars(aspose_jars_dir, jvm_args)
  if aspose_jars_dir && File.exist?(aspose_jars_dir)
    jardir = File.join(aspose_jars_dir, '**', '*.jar')
  else
    jardir = File.join(File.dirname(File.dirname(__FILE__)), 'jars', '**', '*.jar')
  end

  if jvm_args
    args = jvm_args.split(' ') << '-Djava.awt.headless=true'
    logger = Logger.new(STDOUT)
    logger.level = Logger::DEBUG
    logger.debug("JVM args : #{args}")
    Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=args)
  else
    Rjb::load(classpath = Dir.glob(jardir).join(':'), jvmargs=['-Djava.awt.headless=true'])
  end

end

#load_aspose_license(aspose_license_path) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/asposeemailjava.rb', line 21

def load_aspose_license(aspose_license_path)
  if aspose_license_path && File.exist?(aspose_license_path)
    set_license(File.join(aspose_license_path))
  else
    logger = Logger.new(STDOUT)
    logger.level = Logger::WARN
    logger.warn('Using the non licensed aspose jar. Please specify path to your aspose license directory in config/aspose.yml file!')
  end
end

#set_license(aspose_license_file) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/asposeemailjava.rb', line 54

def set_license(aspose_license_file)
  begin
    fstream = input_file(aspose_license_file)
    license = Rjb::import('com.aspose.api.License').new()
    license.setLicense(fstream)
  rescue Exception => ex
    logger = Logger.new(STDOUT)
    logger.level = Logger::ERROR
    logger.error("Could not load the license file : #{ex}")
    fstream.close() if fstream
  end
end