Sha256: 32a4799958f65c973648aeb619cc42cc6a6c13dd40eb63460c1b7fd4938885cd
Contents?: true
Size: 899 Bytes
Versions: 1
Compression:
Stored size: 899 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 protected 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.1 | lib/clamp/parameter/declaration.rb |