def method_missing(meth, *args, &blk)
      value = select{|k,v| k.underscore == meth.to_s}.first
      
      if !value
        super
      elsif value.last.is_a?(Hash)
        self.class[value.last]
      else
        value.last
      end
    end
def method_missing(meth, *args, &blk)
      value = select{|k,v| k.underscore == meth.to_s}.first
      
      if !value
        super
      elsif value.last.is_a?(Hash)
        self.class[value.last]
      else
        value.last
      end
    end
Provides access to price items and groups using magic methods and chaining.

 @example
   class Product
     has_price do
       item 400, "base"
       group "tax" do
         item 100, "federal"
         item 50, "state"
       end
     end
   end

   product = Product.new
   product.price # => Full Price object
   product.price.base # => 400
   product.price.tax # => Price object on group tax
   product.price.tax.federal # => 100
   product.price.tax.total # => 150

 @return [Price, Fixnum] Price object if method matches a group, Fixnum if method matches an item.