<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -7,44 +7,45 @@ module LinkingPaths
     module ClassMethods
 
       def meta(tags = nil)
-        
         include LinkingPaths::MetaTags::InstanceMethods
 
-        # Default any subclasses meta tags to that of the parent
-        @meta_data ||= self.superclass.respond_to?(:meta) ? self.superclass.meta.clone : {}
-        manage_meta @meta_data, tags
-      end
-      
-      def manage_meta(meta, tags)
         if tags.is_a? Hash
-          meta.merge!(tags) 
+          write_inheritable_attribute('meta_data',class_meta.merge(tags))
         elsif tags.is_a? Symbol
-          return meta[tags]
+          return class_meta[tags]
         end
-        meta
+        class_meta
       end
       
+      def class_meta
+        read_inheritable_attribute('meta_data') || {}
+      end
     end
     
     module InstanceMethods
       def meta(tags = nil)
         @meta_data ||= self.class.meta.clone
-        self.class.manage_meta @meta_data, tags
+        if tags.is_a? Hash
+          @meta_data.merge!(tags)
+        elsif tags.is_a? Symbol
+          return @meta_data[tags]
+        end
+        @meta_data
       end
     end
     
     module Helpers
       def meta_tag(tag)
-        meta_html(tag, @meta_data[tag])
+        meta_html(tag, meta_data[tag])
       end
       def title_tag
-        title = @meta_data[:title]
+        title = meta_data[:title]
         title ? %{&lt;title&gt;#{title}&lt;/title&gt;} : ''
       end
       def meta_tags
         markup = []
-        @meta_data.each{|name,content|
-          markup &lt;&lt; meta_html(name, content)
+        meta_data.each{|name,content|
+          markup &lt;&lt; meta_html(name, content) + &quot;\n&quot;
         }
         markup
       end
@@ -54,6 +55,11 @@ module LinkingPaths
       def meta_html(name, content)
         %{&lt;meta name=&quot;#{name}&quot; content=&quot;#{content}&quot; /&gt;}
       end
+      
+      def meta_data
+        @meta_data || controller.class.meta
+      end
+      
     end
     
   end</diff>
      <filename>lib/meta_tags.rb</filename>
    </modified>
    <modified>
      <diff>@@ -99,7 +99,8 @@ class MetaTagsTest &lt; Test::Unit::TestCase
     
     should &quot;be able to have meta information on an action-by-action basis&quot; do
       override_per_action = request(@override_per_action_controller, &quot;index&quot;)
-      assert_equal override_per_action.meta(:keywords), ACTI_KEYWO
+      assert_equal ACTI_KEYWO, override_per_action.meta(:keywords)
+
     end
     should &quot;render the html tags correctly&quot; do
       default_per_controller = request(@default_per_controller)</diff>
      <filename>test/meta_tags_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>aa77752ee0e0c8b3fa8fb28ab0e0fa8ff06b0aca</id>
    </parent>
  </parents>
  <author>
    <name>Aitor Garc&#237;a</name>
    <email>aitor.garcia@gmail.com</email>
  </author>
  <url>http://github.com/linkingpaths/meta_tags/commit/19c464e62acd50c3609c6de723c3c6160a81a961</url>
  <id>19c464e62acd50c3609c6de723c3c6160a81a961</id>
  <committed-date>2008-12-22T10:58:11-08:00</committed-date>
  <authored-date>2008-12-22T10:58:11-08:00</authored-date>
  <message>use of write_inheritable_attribute in the class</message>
  <tree>7948b4fe8aa042c3b0a83a5e3b5bd097f565d981</tree>
  <committer>
    <name>Aitor Garc&#237;a</name>
    <email>aitor.garcia@gmail.com</email>
  </committer>
</commit>
