def set_attrs!(attrs)
      attrs.each do |name, value|
        ivar = :"@#{name.to_s.sub(/\?$/, '_q_')}"
        instance_variable_set(ivar, value)
      end
    end
def set_attrs!(attrs)
      attrs.each do |name, value|
        ivar = :"@#{name.to_s.sub(/\?$/, '_q_')}"
        instance_variable_set(ivar, value)
      end
    end
Set attribute values

 @param [Hash{Symbol=>Object}] attrs

 If +#set_attr!+ sets a value to an attribute,
 the lazy attr of the same name gets to return that value
 so its block will never called.