module Clamp::Parameter::Declaration
Parameter
declaration methods.
Public Instance Methods
Source
# File lib/clamp/parameter/declaration.rb, line 19 def has_parameters? !parameters.empty? end
Source
# File lib/clamp/parameter/declaration.rb, line 30 def inheritable_parameters superclass_inheritable_parameters + parameters.select(&:inheritable?) end
Source
# File lib/clamp/parameter/declaration.rb, line 23 def parameter(name, description, options = {}, &block) Parameter::Definition.new(name, description, options).tap do |parameter| define_accessors_for(parameter, &block) parameters << parameter end end
Source
# File lib/clamp/parameter/declaration.rb, line 34 def parameter_buffer_limit return 0 unless Clamp.allow_options_after_parameters return Float::INFINITY if inheritable_parameters.any?(&:multivalued?) inheritable_parameters.size end
Source
# File lib/clamp/parameter/declaration.rb, line 15 def parameters @parameters ||= [] end
Private Instance Methods
Source
# File lib/clamp/parameter/declaration.rb, line 42 def superclass_inheritable_parameters return [] unless superclass.respond_to?(:inheritable_parameters, true) superclass.inheritable_parameters end