<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.treasure_map.rb</filename>
    </added>
    <added>
      <filename>lib/configatron/blank_slate.rb</filename>
    </added>
    <added>
      <filename>spec/lib/blank_slate_spec.rb</filename>
    </added>
    <added>
      <filename>spec/lib/errors_spec.rb</filename>
    </added>
    <added>
      <filename>spec/lib/store_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,7 @@
 base = File.join(File.dirname(__FILE__), 'configatron')
 require 'yaml'
 require 'erb'
+require File.join(base, 'blank_slate')
 require File.join(base, 'configatron')
 require File.join(base, 'store')
 require File.join(base, 'errors')</diff>
      <filename>lib/configatron.rb</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ class Configatron
   
   # Forwards the method call onto the 'namespaced' Configatron::Store
   def method_missing(sym, *args)
-    @_store[@_namespace.last].send(sym, *args)
+    @_store[@_namespace.last].__send__(sym, *args)
   end
   
   # Removes ALL configuration parameters</diff>
      <filename>lib/configatron/configatron.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ class Object # :nodoc:
   
   def send_with_chain(methods, *args) # :nodoc:
     obj = self
-    [methods].flatten.each {|m| obj = obj.send(m, *args)}
+    [methods].flatten.each {|m| obj = obj.__send__(m, *args)}
     obj
   end
   </diff>
      <filename>lib/configatron/core_ext/object.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,13 @@
 class Configatron
-  class ProtectedParameter &lt; StandardError
-    def intialize(name)
-      super(&quot;Can not modify protected parameter: '#{name}'&quot;)
+  class ProtectedParameter &lt; RuntimeError
+    def initialize(_name)
+      super(&quot;Can not modify protected parameter: '#{_name}'&quot;)
     end
   end
 
-  class LockedNamespace &lt; StandardError
-    def initialize(name)
-      super(&quot;Cannot add new parameters to locked namespace: #{name.inspect}&quot;)
+  class LockedNamespace &lt; RuntimeError
+    def initialize(_name)
+      super(&quot;Cannot add new parameters to locked namespace: #{_name.inspect}&quot;)
     end
   end
 end</diff>
      <filename>lib/configatron/errors.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 class Configatron
-  class Store
-    alias_method :send!, :send
+  class Store &lt; BlankSlate
+    # alias_method :__send!, :__send__
     
     # Takes an optional Hash of parameters
     def initialize(options = {}, name = nil, parent = nil)
@@ -92,10 +92,14 @@ class Configatron
     end
     
     def method_missing(sym, *args) # :nodoc:
+      p &quot;method_missing with #{sym} and #{args}&quot;
       if sym.to_s.match(/(.+)=$/)
         name = sym.to_s.gsub(&quot;=&quot;, '').to_sym
-        raise Configatron::ProtectedParameter.new(name) if @_protected.include?(name) || methods_include?(name)
-        raise Configatron::LockedNamespace.new(@_name) if @_locked &amp;&amp; !@_store.has_key?(name)
+        p 'in if block...'
+        p &quot;protected: #{@_protected.inspect}&quot;
+        p methods_include?(name)
+        raise Configatron::ProtectedParameter.new(name.to_s) if @_protected.include?(name) || methods_include?(name)
+        raise Configatron::LockedNamespace.new(@_name.to_s) if @_locked &amp;&amp; !@_store.has_key?(name)
         @_store[name] = parse_options(*args)
       elsif @_store.has_key?(sym)
         return @_store[sym]
@@ -120,7 +124,7 @@ class Configatron
     def protect_all!
       @_protected.clear
       @_store.keys.each do |k|
-        val = self.send(k)
+        val = self.__send__(k)
         val.protect_all! if val.class == Configatron::Store
         @_protected &lt;&lt; k
       end
@@ -134,7 +138,7 @@ class Configatron
     def unprotect_all!
       @_protected.clear
       @_store.keys.each do |k|
-        val = self.send(k)
+        val = self.__send__(k)
         val.unprotect_all! if val.class == Configatron::Store
       end
     end</diff>
      <filename>lib/configatron/store.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,15 +3,40 @@ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
 describe &quot;configatron&quot; do
 
   before(:each) do
+    p 'in each!'
     configatron.reset!
   end
+
+  describe 'store' do
+    it 'responds to methods_include' do
+      Configatron::Store.new.should respond_to(:methods_include)
+      Configatron::Store.new.should respond_to(:methods)
+    end
+    
+    it &quot;responds to protect&quot; do
+      Configatron::Store.new.should respond_to(:protect)
+    end
+    
+  end
   
   describe 'protect' do
     
+    fit &quot;should shovel protected attribute onto @protected&quot; do
+      begin
+        configatron.one = 1
+      rescue Exception =&gt; e
+        p e.message
+      end
+      configatron.protect(:one)
+      configatron.instance_variable_get(:@_protected).should == [:one]
+    end
+    
     it 'should protect a parameter and prevent it from being set' do
       configatron.one = 1
       configatron.protect(:one)
-      lambda{configatron.one = 'one'}.should raise_error(Configatron::ProtectedParameter)
+      lambda { 
+        configatron.one = 'one' 
+      }.should raise_error(Configatron::ProtectedParameter)
       configatron.one.should == 1
     end
     
@@ -51,7 +76,7 @@ describe &quot;configatron&quot; do
       configatron.protect_all!
       [:a,:b].each do |l|
         lambda{configatron.configure_from_hash(:letters =&gt; {l =&gt; l.to_s})}.should raise_error(Configatron::ProtectedParameter)
-        configatron.letters.send(l).should == l.to_s.upcase
+        configatron.letters.__send__(l).should == l.to_s.upcase
       end
       lambda{configatron.letters.configure_from_hash(:a =&gt; 'a')}.should raise_error(Configatron::ProtectedParameter)
       lambda{configatron.configure_from_hash(:letters =&gt; 'letters')}.should raise_error(Configatron::ProtectedParameter)</diff>
      <filename>spec/lib/configatron_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,15 @@
 require 'rubygems'
-require 'spec'
+# require 'spec'
+gem 'spicycode-micronaut'
+gem 'relevance-log_buddy'
+require 'micronaut'
+require 'log_buddy'
+LogBuddy.init
+
+Micronaut.configure do |c|
+  c.filter_run :focused =&gt; true
+  c.alias_example_to :fit, :focused =&gt; true
+end
+
 
 require File.join(File.dirname(__FILE__), '..', 'lib', 'configatron')
\ No newline at end of file</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>61b423e6d41fe9e13b3cab610c209e4a42b2cd13</id>
    </parent>
  </parents>
  <author>
    <name>Rob Sanheim</name>
    <email>rsanheim@gmail.com</email>
  </author>
  <url>http://github.com/markbates/configatron/commit/27b060c6ed016971e3e4d0518ea6795a7f1a38a4</url>
  <id>27b060c6ed016971e3e4d0518ea6795a7f1a38a4</id>
  <committed-date>2009-01-20T14:16:19-08:00</committed-date>
  <authored-date>2009-01-20T14:16:08-08:00</authored-date>
  <message>first cut at adding in blank slate...work in progress!</message>
  <tree>a0baad67f63ecfc935ef9256be2afc9868a0a10e</tree>
  <committer>
    <name>Rob Sanheim</name>
    <email>rsanheim@gmail.com</email>
  </committer>
</commit>
