Top Level Namespace

Defined Under Namespace

Modules: Dubious

Constant Summary collapse

SERVLET_JAR =
File.join(AppEngine::SDK::SDK_ROOT, *%w{lib shared servlet-api.jar})
CLASSPATH =
[SERVLET_JAR, AppEngine::SDK::API_JAR].join(":")
MIRAH_HOME =
ENV['MIRAH_HOME'] ? ENV['MIRAH_HOME'] : Gem.find_files('mirah').first.sub(/lib\/mirah.rb/,'')
MODEL_SRC_JAR =
File.join(MIRAH_HOME, 'examples', 'appengine', 'war',
'WEB-INF', 'lib', 'dubydatastore.jar')

Instance Method Summary collapse

Instance Method Details

#mirah_compile_options(opts) ⇒ Object

sets mirah compile opts

Parameters:

  • opts (Hash)

Options Hash (opts):

  • :dest_path (String)
  • :source_paths (Array<String>)
  • :compiler_options (Array<String>)

    commandline style options



9
10
11
12
13
# File 'lib/dubious_tasks.rb', line 9

def mirah_compile_options opts
  Mirah.dest_paths << opts[:dest_path]
  Mirah.source_paths.push *opts[:source_paths]
  Mirah.compiler_options.push *opts[:compiler_options]
end

#mirahc(*files) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/dubious_tasks.rb', line 16

def mirahc *files
  if files[-1].kind_of?(Hash)
    options = files.pop
  else
    options = {}
  end
  source_dir = options.fetch(:dir, Duby.source_path)
  dest = File.expand_path(options.fetch(:dest, Duby.dest_path))
  files = files.map {|f| f.sub(/^#{source_dir}\//, '')}
  flags = options.fetch(:options, Duby.compiler_options)
  args = ['-d', dest, *flags] + files
  chdir(source_dir) do
    cmd = "mirahc #{args.join ' '}"
    puts cmd
    if files.any? {|f|f.include? 'controllers'}
      system cmd
    else
      Duby.compile(*args)
      Duby.reset
    end
  end
end