Sha256: cb6c9a4ae3213caf37cf6b07fc072c5e82a98c52d5fed38a7cfbd76c26c623da

Contents?: true

Size: 1.23 KB

Versions: 9

Compression:

Stored size: 1.23 KB

Contents

module IronWorkerNG
  module Code
    module Initializer
      module InstanceMethods
        def initialize_code(*args, &block)
          @name = nil
          @exec = nil

          if args.length == 1 && args[0].class == String
            merge_exec(args[0])
          elsif args.length == 1 && args[0].class == Hash
            @name = args[0][:name] || args[0]['name']

            exec = args[0][:exec] || args[0]['exec'] || args[0][:worker] || args[0]['worker']
            merge_exec(exec) unless exec.nil?
          end

          wfiles = []

          if args.length == 1 && args[0].class == Hash && (args[0][:workerfile] || args[0]['workerfile'])
            wfiles << args[0][:workerfile] || args[0]['workerfile']
          end

          unless name.nil?
            wfiles << name + '.worker'
            wfiles << name + '.workerfile'
          end

          wfiles << 'Workerfile'

          wfiles.each do |wfile|
            if File.exists?(wfile)
              eval(File.read(wfile))

              @base_dir = File.dirname(wfile) == '.' ? '' : File.dirname(wfile) + '/'

              break
            end
          end

          unless block.nil?
            instance_eval(&block)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
iron_worker_ng-0.7.0 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.8 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.7 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.6 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.5 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.4 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.3 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.2 lib/iron_worker_ng/code/initializer.rb
iron_worker_ng-0.6.1 lib/iron_worker_ng/code/initializer.rb