README.md in uber-0.0.10 vs README.md in uber-0.0.11

- old
+ new

@@ -12,11 +12,12 @@ Ready? # Inheritable Class Attributes -This is for you if you want class attributes to be inherited, which is a mandatory mechanism for creating DSLs. +If you want inherited class attributes, this is for you. +This is a mandatory mechanism for creating DSLs. ```ruby require 'uber/inheritable_attr' class Song @@ -25,41 +26,39 @@ inheritable_attr :properties self.properties = [:title, :track] # initialize it before using it. end ``` -Note that you have to initialize your attribute which whatever you want - usually a hash or an array. +Note that you have to initialize your class attribute with whatever you want - usually a hash or an array. -You can now use that attribute on the class level. - ```ruby Song.properties #=> [:title, :track] ``` -Inheriting from `Song` will result in the `properties` object being `clone`d to the sub-class. +A subclass of `Song` will have a `clone`d `properties` class attribute. ```ruby class Hit < Song end Hit.properties #=> [:title, :track] ``` -The cool thing about the inheritance is: you can work on the inherited attribute without any restrictions, as it is a _copy_ of the original. +The cool thing about the inheritance is: you can work on the inherited attribute without any restrictions. It is a _copy_ of the original. ```ruby Hit.properties << :number Hit.properties #=> [:title, :track, :number] Song.properties #=> [:title, :track] ``` -It's similar to ActiveSupport's `class_attribute` but with a simpler implementation resulting in a less dangerous potential. Also, there is no restriction about the way you modify the attribute [as found in `class_attribute`](http://apidock.com/rails/v4.0.2/Class/class_attribute). +It's similar to ActiveSupport's `class_attribute` but with a simpler implementation. +It is less dangerous. There are no restrictions for modifying the attribute. [compared to `class_attribute`](http://apidock.com/rails/v4.0.2/Class/class_attribute). -This module is very popular amongst numerous gems like Cells, Representable, Roar and Reform. +This module is used across several other gems like [Cells](https://rubygems.org/gems/cells), [Representable](https://rubygems.org/gems/representable), [Roar](https://rubygems.org/gems/roar) and [Reform](https://rubygems.org/gems/reform). - # Dynamic Options Implements the pattern of defining configuration options and dynamically evaluating them at run-time. Usually DSL methods accept a number of options that can either be static values, symbolized instance method names, or blocks (lambdas/Procs). @@ -272,6 +271,6 @@ # License Copyright (c) 2014 by Nick Sutterer <apotonick@gmail.com> -Roar is released under the [MIT License](http://www.opensource.org/licenses/MIT). +Uber is released under the [MIT License](http://www.opensource.org/licenses/MIT).