Sha256: c6616638fde6f2235fa149708158be79783afad33e5e46192e9ef5131b8011bc
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
module Weka module Concerns module Optionizable def self.included(base) base.extend ClassMethods base.include InstanceMethods end module ClassMethods def default_options new.get_options.to_a.join(' ') end end module InstanceMethods java_import 'weka.core.Utils' def use_options(*single_options, **hash_options) joined_options = join_options(single_options, hash_options) options = Java::WekaCore::Utils.split_options(joined_options) set_options(options) @options = joined_options end def options @options || self.class.default_options end private def join_options(single_options, hash_options) [ join_single_options(single_options), join_hash_options(hash_options) ].reject(&:empty?).join(' ') end def join_single_options(options) options.map { |option| "-#{option.to_s.sub(/^-/, '')}" }.join(' ') end def join_hash_options(options) options.map { |key, value| "-#{key} #{value}" }.join(' ') end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
weka-0.8.0-java | lib/weka/concerns/optionizable.rb |
weka-0.7.4-java | lib/weka/concerns/optionizable.rb |