]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Revert "Merge pull request #256 from stbenjam/2571-before"
authorAshley Penney <ashley.penney@puppetlabs.com>
Thu, 15 May 2014 21:28:59 +0000 (17:28 -0400)
committerAshley Penney <ashley.penney@puppetlabs.com>
Thu, 15 May 2014 21:28:59 +0000 (17:28 -0400)
This reverts commit 8499ebdb7f892f2623295058649c67a5553d4732, reversing
changes made to 08b00d9229961d7b3c3cba997bfb35c8d47e4c4b.

lib/puppet/provider/file_line/ruby.rb
lib/puppet/type/file_line.rb
spec/unit/puppet/provider/file_line/ruby_spec.rb
spec/unit/puppet/type/file_line_spec.rb

index 2cbd1724db1e294c7c12f037a176e087ff2df5bf..94e7fac9196ec454cd9928951c15176886a7c633 100644 (file)
@@ -9,9 +9,7 @@ Puppet::Type.type(:file_line).provide(:ruby) do
     if resource[:match]
       handle_create_with_match
     elsif resource[:after]
-      handle_create_with_position :after
-    elsif resource[:before]
-      handle_create_with_position :before
+      handle_create_with_after
     else
       append_line
     end
@@ -51,29 +49,29 @@ Puppet::Type.type(:file_line).provide(:ruby) do
     end
   end
 
-  def handle_create_with_position(position)
-    regex = resource[position] ? Regexp.new(resource[position]) : nil
+  def handle_create_with_after
+    regex = Regexp.new(resource[:after])
 
     count = lines.count {|l| l.match(regex)}
 
     case count
-    when 1 # find the line to put our line before/after
+    when 1 # find the line to put our line after
       File.open(resource[:path], 'w') do |fh|
         lines.each do |l|
-          fh.puts(l) if position == :after
+          fh.puts(l)
           if regex.match(l) then
             fh.puts(resource[:line])
           end
-          fh.puts(l) if position == :before
         end
       end
     when 0 # append the line to the end of the file
       append_line
     else
-      raise Puppet::Error, "#{count} lines match pattern '#{resource[position]}' in file '#{resource[:path]}'.  One or no line must match the pattern."
+      raise Puppet::Error, "#{count} lines match pattern '#{resource[:after]}' in file '#{resource[:path]}'.  One or no line must match the pattern."
     end
   end
 
+  ##
   # append the line to the file.
   #
   # @api private
index bc6745f657c934355000ea64f4eff07b40ba7ba8..323fc4c9c7f7054e2bac68d10333b9c6290b8dae 100644 (file)
@@ -46,10 +46,6 @@ Puppet::Type.newtype(:file_line) do
     desc 'An optional value used to specify the line after which we will add any new lines. (Existing lines are added in place)'
   end
 
-  newparam(:before) do
-    desc 'An optional value used to specify the line before which we will add any new lines. (Existing lines are added in place)'
-  end
-
   newparam(:line) do
     desc 'The line to be appended to the file located by the path parameter.'
   end
index d004af44ace5bdc615f7c4aeb2c3a1c32ec0888f..a016b685c35df541d862df95cd19d9e6f6bc8a67 100755 (executable)
@@ -183,65 +183,6 @@ describe provider_class do
         end
       end
     end
-
-    describe 'using before' do
-      let :resource do
-        Puppet::Type::File_line.new(
-          {
-            :name  => 'foo',
-            :path  => @tmpfile,
-            :line  => 'inserted = line',
-            :before => '^foo1',
-          }
-        )
-      end
-
-      let :provider do
-        provider_class.new(resource)
-      end
-
-      context 'with one line matching the before expression' do
-        before :each do
-          File.open(@tmpfile, 'w') do |fh|
-            fh.write("foo1\nfoo = blah\nfoo2\nfoo = baz")
-          end
-        end
-
-        it 'inserts the specified line before the line matching the "before" expression' do
-          provider.create
-          File.read(@tmpfile).chomp.should eql("inserted = line\nfoo1\nfoo = blah\nfoo2\nfoo = baz")
-        end
-      end
-
-      context 'with two lines matching the before expression' do
-        before :each do
-          File.open(@tmpfile, 'w') do |fh|
-            fh.write("foo1\nfoo = blah\nfoo2\nfoo1\nfoo = baz")
-          end
-        end
-
-        it 'errors out stating "One or no line must match the pattern"' do
-          expect { provider.create }.to raise_error(Puppet::Error, /One or no line must match the pattern/)
-        end
-      end
-
-      context 'with no lines matching the after expression' do
-        let :content do
-          "foo3\nfoo = blah\nfoo2\nfoo = baz\n"
-        end
-
-        before :each do
-          File.open(@tmpfile, 'w') do |fh|
-            fh.write(content)
-          end
-        end
-
-        it 'appends the specified line to the file' do
-          provider.create
-          File.read(@tmpfile).should eq(content << resource[:line] << "\n")
-        end
-      end
-    end
   end
 
   context "when removing" do
index b85b9f4ec4db3683c41fa428dcb5b7d096b2322e..ab5b81bb96b74c461edb4fc35bbfe9d079b4bcd9 100755 (executable)
@@ -15,14 +15,6 @@ describe Puppet::Type.type(:file_line) do
     file_line[:match] = '^foo.*$'
     file_line[:match].should == '^foo.*$'
   end
-  it 'should accept an after regex' do
-    file_line[:after] = '^foo.*$'
-    file_line[:after].should == '^foo.*$'
-  end
-  it 'should accept a before regex' do
-    file_line[:before] = '^foo.*$'
-    file_line[:before].should == '^foo.*$'
-  end
   it 'should not accept a match regex that does not match the specified line' do
     expect {
       Puppet::Type.type(:file_line).new(