Sha256: 3326d8795d2646c797825a3e3fb6ba32b5df6416ec0b7448c923a78698f30841
Contents?: true
Size: 1.46 KB
Versions: 6
Compression:
Stored size: 1.46 KB
Contents
require 'active_support' require 'active_support/core_ext/string/inflections' require_relative 'parameters' module RakeFactory module Defaults include Parameters def inherited(inheritor) super(inheritor) inheritor.class_eval do parameter(:name, configurable: false, transform: lambda { |n| n.to_sym }) parameter(:argument_names, configurable: false, default: []) parameter(:prerequisites, configurable: false, default: []) parameter(:order_only_prerequisites, configurable: false, default: []) parameter(:description, configurable: false) unless inheritor.name.nil? default_name inheritor.name.demodulize.underscore end end end def default_name(name) parameter_set.update_default_for(:name, name) end def default_argument_names(argument_names) parameter_set.update_default_for(:argument_names, argument_names) end def default_prerequisites(prerequisites) parameter_set.update_default_for(:prerequisites, prerequisites) end def default_order_only_prerequisites(order_only_prerequisites) parameter_set .update_default_for( :order_only_prerequisites, order_only_prerequisites) end def default_description(description) parameter_set.update_default_for(:description, description) end end end
Version data entries
6 entries across 6 versions & 2 rubygems