win32-autogui 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- win32-autogui (0.4.1)
4
+ win32-autogui (0.4.2)
5
5
  log4r (>= 1.1.9)
6
6
  win32-clipboard (= 0.5.2)
7
7
  win32-process (= 0.6.4)
data/HISTORY.markdown CHANGED
@@ -6,6 +6,10 @@ Most recent changes are at the top
6
6
  Changes
7
7
  -------
8
8
 
9
+ ### 0.4.2 - 02/07/2011 ###
10
+
11
+ * Add logger.trunc attribute to control log truncation, defaults to true
12
+
9
13
  ### 0.4.1 - 02/03/2011 ###
10
14
 
11
15
  * Window.wait_for_close yields if a block is given allowing callbacks during
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.4.2
@@ -103,7 +103,7 @@ class Application
103
103
  #
104
104
  # @example initialize with logging to file at the default WARN level (STDOUT logging is the default)
105
105
  #
106
- # app = Application.new :name => "calc", :logger_logfile => 'log/calc.log'
106
+ # app = Application.new :name => "calc", :logger_logfile => 'log/calc.log', :logger_trunc => false
107
107
  #
108
108
  # @example initialize with logging to file at DEBUG level
109
109
  #
@@ -122,6 +122,7 @@ class Application
122
122
  # @option options [Number] :parameters command line parameters used by Process.create
123
123
  # @option options [Number] :create_process_timeout (10) timeout in seconds to wait for the create_process to return
124
124
  # @option options [Number] :main_window_timeout (10) timeout in seconds to wait for main_window to appear
125
+ # @option options [String] :logger_trunc (true) truncate the logger logfile at logfile initialization
125
126
  # @option options [String] :logger_logfile (nil) initialize logger's output filename
126
127
  # @option options [String] :logger_level (Autogui::Logging::WARN) initialize logger's initial level
127
128
  #
@@ -138,6 +139,9 @@ def initialize(options = {})
138
139
  @parameters = options[:parameters]
139
140
 
140
141
  # logger setup
142
+ if options.include?(:logger_logfile)
143
+ logger.trunc = options.include?(:logger_trunc) ? options[:logger_trunc] : true
144
+ end
141
145
  logger.logfile = options[:logger_logfile] if options[:logger_logfile]
142
146
  logger.level = options[:logger_level] if options[:logger_level]
143
147
 
@@ -6,23 +6,34 @@
6
6
  #
7
7
  # include Autogui::Logging
8
8
  #
9
+ # logger.trunc = false
9
10
  # logger.filename = 'log/autogui.log'
10
11
  # logger.warn "warning message goes to log file"
11
12
  #
12
13
  module Log4r
13
14
  class Logger
14
15
 
16
+ # @return [Boolean] truncate logfile
17
+ def trunc
18
+ @trunc.nil? ? true : @trunc
19
+ end
20
+
21
+ def trunc=(value)
22
+ raise "Setting trunc has no effect since logfile is already initialized" if @filename
23
+ @trunc = value
24
+ end
25
+
15
26
  # @return [String] filename of the logfile
16
27
  def logfile
17
28
  @filename
18
29
  end
19
30
 
20
31
  def logfile=(fn)
32
+ fn = nil if fn == ''
21
33
  if fn == nil
22
- puts "removing log to file"
23
34
  remove(:logfile) if @filename
24
35
  else
25
- FileOutputter.new(:logfile, :filename => fn, :trunc => true)
36
+ FileOutputter.new(:logfile, :filename => fn, :trunc => @trunc)
26
37
  Outputter[:logfile].formatter = Log4r::PatternFormatter.new(:pattern => "[%5l %d] %M [%t]")
27
38
  add(:logfile)
28
39
  end
@@ -73,6 +84,7 @@ def logger
73
84
  # Initialize the logger, defaults to log4r::Warn
74
85
  def init_logger
75
86
  log = Log4r::Logger.new(STANDARD_LOGGER)
87
+ log.trunc = true
76
88
 
77
89
  # sanity checks since we defined log4r's dynamic levels statically
78
90
  unless (Log4r::DEBUG == DEBUG) &&
@@ -16,7 +16,7 @@
16
16
  @application.close(:wait_for_close => true) if @application.running?
17
17
  @application.should_not be_running
18
18
  end
19
- logger.remove(:logfile)
19
+ logger.logfile = nil
20
20
  end
21
21
  after(:all) do
22
22
  logger.add(:console)
@@ -24,12 +24,19 @@
24
24
 
25
25
  describe "to file" do
26
26
 
27
- it "should truncate the log on create" do
27
+ it "should truncate the log on create by default" do
28
28
  get_file_contents(@logfile).should == 'the quick brown fox'
29
29
  @application = Calculator.new :logger_logfile => fullpath(@logfile)
30
30
  get_file_contents(@logfile).should == ''
31
31
  end
32
32
 
33
+ it "should not truncate the log on create if 'logger.trunc' is false" do
34
+ get_file_contents(@logfile).should == 'the quick brown fox'
35
+ @application = Calculator.new :logger_logfile => fullpath(@logfile), :logger_trunc => false
36
+ logger.trunc.should be_false
37
+ get_file_contents(@logfile).should == 'the quick brown fox'
38
+ end
39
+
33
40
  it "should not log unless 'logger.logfile' is set" do
34
41
  @application = Calculator.new
35
42
  get_file_contents(@logfile).should == 'the quick brown fox'
@@ -45,6 +52,7 @@
45
52
 
46
53
  it "should log warnings" do
47
54
  @application = Calculator.new :logger_logfile => fullpath(@logfile)
55
+ logger.trunc.should be_true
48
56
  get_file_contents(@logfile).should == ''
49
57
  logger.warn "warning message here"
50
58
  get_file_contents(@logfile).should match(/warning message here/)
@@ -64,6 +72,7 @@
64
72
  level_save = logger.level
65
73
  begin
66
74
  logger.level = Autogui::Logging::WARN
75
+ logger.trunc.should be_true
67
76
  get_file_contents(@logfile).should == ''
68
77
  logger.debug "debug message here 1"
69
78
  get_file_contents(@logfile).should_not match(/debug message here 1/)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: win32-autogui
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 1
10
- version: 0.4.1
9
+ - 2
10
+ version: 0.4.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Robert Wahler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-03 00:00:00 -05:00
18
+ date: 2011-02-07 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency