Method: Cdo#initialize
- Defined in:
- lib/cdo.rb
#initialize(cdo: 'cdo', returnCdf: false, returnFalseOnError: false, forceOutput: true, env: {}, tempdir: Dir.tmpdir, logging: false, logFile: StringIO.new, debug: false, returnNilOnError: false) ⇒ Cdo
Returns a new instance of Cdo.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/cdo.rb', line 40 def initialize(cdo: 'cdo', returnCdf: false, returnFalseOnError: false, forceOutput: true, env: {}, tempdir: Dir.tmpdir, logging: false, logFile: StringIO.new, debug: false, returnNilOnError: false) # setup path to cdo executable @cdo = ENV.has_key?('CDO') ? ENV['CDO'] : cdo @operators = getOperators(@cdo) @noOutputOperators = @operators.select {|op,io| 0 == io}.keys @returnCdf = returnCdf @forceOutput = forceOutput @env = env @debug = ENV.has_key?('DEBUG') ? true : debug @returnNilOnError = returnNilOnError @returnFalseOnError = returnFalseOnError @tempStore = CdoTempfileStore.new(tempdir) @logging = logging @logFile = logFile @logger = Logger.new(@logFile,'a') @logger.level = Logger::INFO @config = getFeatures # create methods to descibe what can be done with the binary @config.each {|k,v| self.class.send :define_method, k.tr('-','_') do v end } end |