--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: "Used to specify the name and default value of a specification attribute. The side effects are:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: the name and default value are added to the @@attributes list and @@default_value map
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: a standard <em>writer</em> method (<tt>attribute=</tt>) is created
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: a non-standard _reader method (<tt>attribute</tt>) is created
  type: :BULLET
- !ruby/struct:SM::Flow::P 
  body: "The reader method behaves like this:"
- !ruby/struct:SM::Flow::VERB 
  body: "  def attribute\n    @attribute ||= (copy of default value)\n  end\n"
- !ruby/struct:SM::Flow::P 
  body: This allows lazy initialization of attributes to their default values.
full_name: Gem::attribute
is_singleton: true
name: attribute
params: (name, default=nil)
visibility: public
