lib/assertion/dsl/attribute.rb in assertion-0.2.3 vs lib/assertion/dsl/attribute.rb in assertion-0.2.4

- old
+ new

@@ -23,16 +23,29 @@ def attribute(name) __check_attribute__(name) alias_method name, :object end - # @private + private + + # Ensures the `#object` is defined + # + # @param [Class] klass + # + # @return [undefined] + # def self.extended(klass) klass.__send__ :attr_reader, :object end - private - + # Checks if alias name for `#object` is free + # + # @param [#to_sym] key + # + # @return [undefined] + # + # @raise [NameError] if the key is already in use + # def __check_attribute__(key) return unless (instance_methods << :state).include? key.to_sym fail NameError.new "#{self}##{key} is already defined" end