Sha256: de11b56601bfba171dcb9d50ea4f471a5cd377807ec68c8aff4a6c4b837f1c27
Contents?: true
Size: 882 Bytes
Versions: 1
Compression:
Stored size: 882 Bytes
Contents
require "clamp/attribute/declaration" require "clamp/parameter/definition" module Clamp module Parameter module Declaration include Clamp::Attribute::Declaration def parameters @parameters ||= [] end def has_parameters? !parameters.empty? end def parameter(name, description, options = {}, &block) Parameter::Definition.new(name, description, options).tap do |parameter| define_accessors_for(parameter, &block) parameters << parameter end end def inheritable_parameters superclass_inheritable_parameters + parameters.select(&:inheritable?) end private def superclass_inheritable_parameters return [] unless superclass.respond_to?(:inheritable_parameters, true) superclass.inheritable_parameters end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
clamp-1.1.2 | lib/clamp/parameter/declaration.rb |