automateit 0.71031 → 0.71031.1

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
@@ -183,10 +183,12 @@ class AutomateIt::EditManager::EditSession < AutomateIt::Common
183
183
  # # Won't prepend line because Regexp matches exisint line in buffer.
184
184
  # prepend("add this line", :unless => /add\s*this\*line/)
185
185
  def prepend(line, opts={})
186
- query = Regexp.new(opts[:unless] || line)
187
- query = Regexp.escape(query) if query.is_a?(String)
186
+ query = opts[:unless] || line
187
+ if query.is_a?(String)
188
+ query = Regexp.new(Regexp.escape(query))
189
+ end
188
190
  return if contains?(query)
189
- @contents = "%s\n%s" % [line, @contents]
191
+ @contents = "%s\n%s" % [line.chomp, @contents]
190
192
  end
191
193
 
192
194
  # Append +line+ to the bottom of the buffer, but only if it's not in
@@ -207,16 +209,14 @@ class AutomateIt::EditManager::EditSession < AutomateIt::Common
207
209
  end
208
210
 
209
211
  # Does the buffer contain anything that matches the String or Regexp +query+?
210
- def contains?(query)
211
- if query.is_a?(String)
212
- query = Regexp.new(Regexp.escape(query))
213
- end
212
+ def contains?(line)
213
+ query = line.is_a?(String) ? Regexp.new(Regexp.escape(line)) : line
214
214
  ! @contents.match(query).nil?
215
215
  end
216
216
 
217
217
  # Delete lines matching the String or Regexp +query+
218
- def delete(query, opts={})
219
- query = Regexp.escape(query) if query.is_a?(String)
218
+ def delete(line, opts={})
219
+ query = line.is_a?(String) ? Regexp.escape(line) : line
220
220
  query = Regexp.new("^[^\n]*%s[^\n]*\n?" % query)
221
221
  @contents.gsub!(query, "")
222
222
  end
@@ -232,26 +232,24 @@ class AutomateIt::EditManager::EditSession < AutomateIt::Common
232
232
  end
233
233
 
234
234
  # Comment out lines matching the String or Regexp +query+.
235
- def comment(query, opts={})
236
- query = Regexp.escape(query) if query.is_a?(String)
235
+ def comment(line, opts={})
236
+ query = line.is_a?(String) ? Regexp.escape(line) : line
237
237
  query = Regexp.new("^(?!#{comment_prefix})([^\n]*%s[^\n]*)(\n*)" % query)
238
238
  return false unless @contents.match(query)
239
239
  @contents.gsub!(query, "%s%s%s%s" % [@comment_prefix, $1, @comment_suffix, $2])
240
240
  end
241
241
 
242
242
  # Uncomment lines matching the String or Regexp +query+.
243
- def uncomment(query, opts={})
244
- query = Regexp.escape(query) if query.is_a?(String)
243
+ def uncomment(line, opts={})
244
+ query = line.is_a?(String) ? Regexp.escape(line) : line
245
245
  query = Regexp.new("^(%s)([^\n]*%s[^\n]*)(%s)(\n*)" % [@comment_prefix, query, @comment_suffix])
246
246
  return false unless @contents.match(query)
247
247
  @contents.gsub!(query, "%s%s" % [$2, $4])
248
248
  end
249
249
 
250
250
  # Replace contents matching the String or Regexp +query+ with the +string+.
251
- def replace(query, string, opts={})
252
- if query.is_a?(String)
253
- query = Regexp.new(Regexp.escape(query))
254
- end
251
+ def replace(line, string, opts={})
252
+ query = line.is_a?(String) ? Regexp.new(Regexp.escape(line)) : line
255
253
  @contents.gsub!(query, string)
256
254
  end
257
255
 
@@ -1,7 +1,7 @@
1
1
  # See AutomateIt::Interpreter for usage information.
2
2
  module AutomateIt # :nodoc:
3
3
  # AutomateIt version
4
- VERSION=Gem::Version.new("0.71031")
4
+ VERSION=Gem::Version.new("0.71031.1")
5
5
 
6
6
  # Instantiates a new Interpreter. See documentation for
7
7
  # Interpreter#setup.
@@ -41,6 +41,14 @@ describe "AutomateIt::EditManager for strings" do
41
41
  output.should =~ /\APREPEND\nThis/s
42
42
  end
43
43
 
44
+ it "should prepend strings to the top even if they have regexp-like characters" do
45
+ output = @a.edit(:text => @input) do
46
+ prepend "@ini_set('memory_limit', '32M');"
47
+ prepend "@ini_set('memory_limit', '32M');" # Will be ignored
48
+ end
49
+ output.should == "@ini_set('memory_limit', '32M');"+"\n"+@input
50
+ end
51
+
44
52
  it "should prepend lines to the top unless they match an expression" do
45
53
  output = @a.edit(:text => @input) do
46
54
  prepend "PREPEND", :unless => /PR.+ND/
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: automateit
5
5
  version: !ruby/object:Gem::Version
6
- version: "0.71031"
6
+ version: 0.71031.1
7
7
  date: 2007-10-31 00:00:00 -07:00
8
8
  summary: AutomateIt is an open source tool for automating the setup and maintenance of servers, applications and their dependencies.
9
9
  require_paths:
metadata.gz.sig CHANGED
Binary file