class Webruby::Config
Attributes
append_file[RW]
build_dir[RW]
cflags[RW]
compile_mode[RW]
entrypoint[RW]
ldflags[RW]
loading_mode[RW]
output_name[RW]
selected_gemboxes[RW]
selected_gems[RW]
source_processor[RW]
static_libs[RW]
Public Class Methods
new()
click to toggle source
# File lib/webruby/config.rb, line 7 def initialize @entrypoint = 'app/app.rb' @build_dir = 'build' @selected_gemboxes = ['default'] @selected_gems = [] @compile_mode = 'debug' # debug or release @loading_mode = 2 @output_name = 'webruby.js' @source_processor = :mrubymix @cflags = %w(-Wall -Werror-implicit-function-declaration -Wno-warn-absolute-paths) + [optimization_flag] @ldflags = [] @static_libs = [] end
Public Instance Methods
gem(g)
click to toggle source
# File lib/webruby/config.rb, line 26 def gem(g) selected_gems << g end
gem_lines()
click to toggle source
# File lib/webruby/config.rb, line 38 def gem_lines generate_conf_lines(selected_gems, 'gem') end
gembox(gb)
click to toggle source
# File lib/webruby/config.rb, line 30 def gembox(gb) selected_gemboxes << gb end
gembox_lines()
click to toggle source
# File lib/webruby/config.rb, line 34 def gembox_lines generate_conf_lines(selected_gemboxes, 'gembox') end
optimization_flag()
click to toggle source
# File lib/webruby/config.rb, line 21 def optimization_flag return compile_mode if compile_mode.start_with? "-" compile_mode == "release" ? "-O2" : "-O0" end
Private Instance Methods
format_gem(gem)
click to toggle source
# File lib/webruby/config.rb, line 48 def format_gem(gem) return gem if gem.is_a?(Hash) "'#{gem}'" end
generate_conf_lines(arr, option)
click to toggle source
# File lib/webruby/config.rb, line 43 def generate_conf_lines(arr, option) arr.map { |i| "conf.#{option}(#{format_gem(i)})" }.inject { |a, b| "#{a}\n #{b}" } end