vergissberlin 0.0.9 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vergissberlin/version.rb +1 -1
  3. data/test/cases/version_case.rb +26 -0
  4. data/test/rest_spec.rb +12 -0
  5. data/test/suites/suite_test.rb +12 -0
  6. data/test/utils.rb +13 -0
  7. metadata +83 -134
  8. data/.gitignore +0 -17
  9. data/.travis.yml +0 -7
  10. data/Gemfile +0 -4
  11. data/LICENSE.txt +0 -22
  12. data/Rakefile +0 -10
  13. data/test/test_test.rb +0 -5
  14. data/test/version_test.rb +0 -12
  15. data/vendor/bundle/bin/rake +0 -23
  16. data/vendor/bundle/bin/vergissberlin +0 -23
  17. data/vendor/bundle/build_info/capistrano_colors-0.5.5.info +0 -1
  18. data/vendor/bundle/build_info/rake-10.0.4.info +0 -1
  19. data/vendor/bundle/gems/capistrano_colors-0.5.5/Manifest +0 -7
  20. data/vendor/bundle/gems/capistrano_colors-0.5.5/README.rdoc +0 -130
  21. data/vendor/bundle/gems/capistrano_colors-0.5.5/Rakefile +0 -1
  22. data/vendor/bundle/gems/capistrano_colors-0.5.5/capistrano_colors.gemspec +0 -33
  23. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/configuration.rb +0 -70
  24. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors/logger.rb +0 -72
  25. data/vendor/bundle/gems/capistrano_colors-0.5.5/lib/capistrano_colors.rb +0 -18
  26. data/vendor/bundle/gems/rake-10.0.4/CHANGES +0 -530
  27. data/vendor/bundle/gems/rake-10.0.4/MIT-LICENSE +0 -21
  28. data/vendor/bundle/gems/rake-10.0.4/README.rdoc +0 -187
  29. data/vendor/bundle/gems/rake-10.0.4/Rakefile +0 -375
  30. data/vendor/bundle/gems/rake-10.0.4/TODO +0 -21
  31. data/vendor/bundle/gems/rake-10.0.4/bin/rake +0 -33
  32. data/vendor/bundle/gems/rake-10.0.4/install.rb +0 -90
  33. data/vendor/bundle/gems/rake-10.0.4/lib/rake/alt_system.rb +0 -109
  34. data/vendor/bundle/gems/rake-10.0.4/lib/rake/application.rb +0 -681
  35. data/vendor/bundle/gems/rake-10.0.4/lib/rake/backtrace.rb +0 -19
  36. data/vendor/bundle/gems/rake-10.0.4/lib/rake/clean.rb +0 -32
  37. data/vendor/bundle/gems/rake-10.0.4/lib/rake/cloneable.rb +0 -16
  38. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/compositepublisher.rb +0 -21
  39. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/ftptools.rb +0 -151
  40. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/publisher.rb +0 -73
  41. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  42. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sshpublisher.rb +0 -50
  43. data/vendor/bundle/gems/rake-10.0.4/lib/rake/contrib/sys.rb +0 -1
  44. data/vendor/bundle/gems/rake-10.0.4/lib/rake/default_loader.rb +0 -10
  45. data/vendor/bundle/gems/rake-10.0.4/lib/rake/dsl_definition.rb +0 -156
  46. data/vendor/bundle/gems/rake-10.0.4/lib/rake/early_time.rb +0 -18
  47. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/core.rb +0 -27
  48. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/module.rb +0 -0
  49. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/string.rb +0 -168
  50. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ext/time.rb +0 -15
  51. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_creation_task.rb +0 -24
  52. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_list.rb +0 -410
  53. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_task.rb +0 -47
  54. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils.rb +0 -114
  55. data/vendor/bundle/gems/rake-10.0.4/lib/rake/file_utils_ext.rb +0 -143
  56. data/vendor/bundle/gems/rake-10.0.4/lib/rake/gempackagetask.rb +0 -1
  57. data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_chain.rb +0 -51
  58. data/vendor/bundle/gems/rake-10.0.4/lib/rake/invocation_exception_mixin.rb +0 -16
  59. data/vendor/bundle/gems/rake-10.0.4/lib/rake/loaders/makefile.rb +0 -40
  60. data/vendor/bundle/gems/rake-10.0.4/lib/rake/multi_task.rb +0 -13
  61. data/vendor/bundle/gems/rake-10.0.4/lib/rake/name_space.rb +0 -25
  62. data/vendor/bundle/gems/rake-10.0.4/lib/rake/packagetask.rb +0 -185
  63. data/vendor/bundle/gems/rake-10.0.4/lib/rake/pathmap.rb +0 -1
  64. data/vendor/bundle/gems/rake-10.0.4/lib/rake/phony.rb +0 -15
  65. data/vendor/bundle/gems/rake-10.0.4/lib/rake/private_reader.rb +0 -20
  66. data/vendor/bundle/gems/rake-10.0.4/lib/rake/promise.rb +0 -99
  67. data/vendor/bundle/gems/rake-10.0.4/lib/rake/pseudo_status.rb +0 -24
  68. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_module.rb +0 -37
  69. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rake_test_loader.rb +0 -22
  70. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rdoctask.rb +0 -1
  71. data/vendor/bundle/gems/rake-10.0.4/lib/rake/ruby182_test_unit_fix.rb +0 -25
  72. data/vendor/bundle/gems/rake-10.0.4/lib/rake/rule_recursion_overflow_error.rb +0 -20
  73. data/vendor/bundle/gems/rake-10.0.4/lib/rake/runtest.rb +0 -22
  74. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task.rb +0 -368
  75. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_argument_error.rb +0 -7
  76. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_arguments.rb +0 -78
  77. data/vendor/bundle/gems/rake-10.0.4/lib/rake/task_manager.rb +0 -296
  78. data/vendor/bundle/gems/rake-10.0.4/lib/rake/tasklib.rb +0 -22
  79. data/vendor/bundle/gems/rake-10.0.4/lib/rake/testtask.rb +0 -198
  80. data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_history_display.rb +0 -48
  81. data/vendor/bundle/gems/rake-10.0.4/lib/rake/thread_pool.rb +0 -155
  82. data/vendor/bundle/gems/rake-10.0.4/lib/rake/trace_output.rb +0 -22
  83. data/vendor/bundle/gems/rake-10.0.4/lib/rake/version.rb +0 -13
  84. data/vendor/bundle/gems/rake-10.0.4/lib/rake/win32.rb +0 -55
  85. data/vendor/bundle/gems/rake-10.0.4/lib/rake.rb +0 -71
  86. data/vendor/bundle/gems/rake-10.0.4/test/file_creation.rb +0 -34
  87. data/vendor/bundle/gems/rake-10.0.4/test/helper.rb +0 -562
  88. data/vendor/bundle/gems/rake-10.0.4/test/test_private_reader.rb +0 -42
  89. data/vendor/bundle/gems/rake-10.0.4/test/test_rake.rb +0 -40
  90. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application.rb +0 -515
  91. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_application_options.rb +0 -455
  92. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_backtrace.rb +0 -89
  93. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_clean.rb +0 -14
  94. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_definitions.rb +0 -80
  95. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_directory_task.rb +0 -57
  96. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_dsl.rb +0 -40
  97. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_early_time.rb +0 -31
  98. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_extension.rb +0 -59
  99. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_creation_task.rb +0 -56
  100. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list.rb +0 -628
  101. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_list_path_map.rb +0 -8
  102. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_task.rb +0 -122
  103. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_file_utils.rb +0 -305
  104. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_ftp_file.rb +0 -59
  105. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_functional.rb +0 -496
  106. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_invocation_chain.rb +0 -52
  107. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_makefile_loader.rb +0 -44
  108. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_multi_task.rb +0 -59
  109. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_name_space.rb +0 -43
  110. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_package_task.rb +0 -79
  111. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map.rb +0 -157
  112. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_explode.rb +0 -34
  113. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_path_map_partial.rb +0 -18
  114. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_pseudo_status.rb +0 -21
  115. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rake_test_loader.rb +0 -21
  116. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_reduce_compat.rb +0 -30
  117. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_require.rb +0 -40
  118. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_rules.rb +0 -327
  119. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task.rb +0 -340
  120. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_argument_parsing.rb +0 -103
  121. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_arguments.rb +0 -88
  122. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_lib.rb +0 -9
  123. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager.rb +0 -157
  124. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_manager_argument_resolution.rb +0 -19
  125. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_task_with_arguments.rb +0 -171
  126. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_test_task.rb +0 -120
  127. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_thread_pool.rb +0 -122
  128. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_top_level_functions.rb +0 -71
  129. data/vendor/bundle/gems/rake-10.0.4/test/test_rake_win32.rb +0 -72
  130. data/vendor/bundle/gems/rake-10.0.4/test/test_thread_history_display.rb +0 -91
  131. data/vendor/bundle/gems/rake-10.0.4/test/test_trace_output.rb +0 -50
  132. data/vendor/bundle/specifications/capistrano_colors-0.5.5.gemspec +0 -32
  133. data/vendor/bundle/specifications/rake-10.0.4.gemspec +0 -35
  134. data/vergissberlin.gemspec +0 -26
@@ -1,155 +0,0 @@
1
- require 'thread'
2
- require 'set'
3
-
4
- require 'rake/promise'
5
-
6
- module Rake
7
-
8
- class ThreadPool # :nodoc: all
9
-
10
- # Creates a ThreadPool object.
11
- # The parameter is the size of the pool.
12
- def initialize(thread_count)
13
- @max_active_threads = [thread_count, 0].max
14
- @threads = Set.new
15
- @threads_mon = Monitor.new
16
- @queue = Queue.new
17
- @join_cond = @threads_mon.new_cond
18
-
19
- @history_start_time = nil
20
- @history = []
21
- @history_mon = Monitor.new
22
- @total_threads_in_play = 0
23
- end
24
-
25
- # Creates a future executed by the +ThreadPool+.
26
- #
27
- # The args are passed to the block when executing (similarly to
28
- # <tt>Thread#new</tt>) The return value is an object representing
29
- # a future which has been created and added to the queue in the
30
- # pool. Sending <tt>#value</tt> to the object will sleep the
31
- # current thread until the future is finished and will return the
32
- # result (or raise an exception thrown from the future)
33
- def future(*args, &block)
34
- promise = Promise.new(args, &block)
35
- promise.recorder = lambda { |*stats| stat(*stats) }
36
-
37
- @queue.enq promise
38
- stat :queued, :item_id => promise.object_id
39
- start_thread
40
- promise
41
- end
42
-
43
- # Waits until the queue of futures is empty and all threads have exited.
44
- def join
45
- @threads_mon.synchronize do
46
- begin
47
- stat :joining
48
- @join_cond.wait unless @threads.empty?
49
- stat :joined
50
- rescue Exception => e
51
- stat :joined
52
- $stderr.puts e
53
- $stderr.print "Queue contains #{@queue.size} items. Thread pool contains #{@threads.count} threads\n"
54
- $stderr.print "Current Thread #{Thread.current} status = #{Thread.current.status}\n"
55
- $stderr.puts e.backtrace.join("\n")
56
- @threads.each do |t|
57
- $stderr.print "Thread #{t} status = #{t.status}\n"
58
- # 1.8 doesn't support Thread#backtrace
59
- $stderr.puts t.backtrace.join("\n") if t.respond_to? :backtrace
60
- end
61
- raise e
62
- end
63
- end
64
- end
65
-
66
- # Enable the gathering of history events.
67
- def gather_history #:nodoc:
68
- @history_start_time = Time.now if @history_start_time.nil?
69
- end
70
-
71
- # Return a array of history events for the thread pool.
72
- #
73
- # History gathering must be enabled to be able to see the events
74
- # (see #gather_history). Best to call this when the job is
75
- # complete (i.e. after ThreadPool#join is called).
76
- def history # :nodoc:
77
- @history_mon.synchronize { @history.dup }.
78
- sort_by { |i| i[:time] }.
79
- each { |i| i[:time] -= @history_start_time }
80
- end
81
-
82
- # Return a hash of always collected statistics for the thread pool.
83
- def statistics # :nodoc:
84
- {
85
- :total_threads_in_play => @total_threads_in_play,
86
- :max_active_threads => @max_active_threads,
87
- }
88
- end
89
-
90
- private
91
-
92
- # processes one item on the queue. Returns true if there was an
93
- # item to process, false if there was no item
94
- def process_queue_item #:nodoc:
95
- return false if @queue.empty?
96
-
97
- # Even though we just asked if the queue was empty, it
98
- # still could have had an item which by this statement
99
- # is now gone. For this reason we pass true to Queue#deq
100
- # because we will sleep indefinitely if it is empty.
101
- promise = @queue.deq(true)
102
- stat :dequeued, :item_id => promise.object_id
103
- promise.work
104
- return true
105
-
106
- rescue ThreadError # this means the queue is empty
107
- false
108
- end
109
-
110
- def start_thread # :nodoc:
111
- @threads_mon.synchronize do
112
- next unless @threads.count < @max_active_threads
113
-
114
- t = Thread.new do
115
- begin
116
- while @threads.count <= @max_active_threads
117
- break unless process_queue_item
118
- end
119
- ensure
120
- @threads_mon.synchronize do
121
- @threads.delete Thread.current
122
- stat :ended, :thread_count => @threads.count
123
- @join_cond.broadcast if @threads.empty?
124
- end
125
- end
126
- end
127
- @threads << t
128
- stat :spawned, :new_thread => t.object_id, :thread_count => @threads.count
129
- @total_threads_in_play = @threads.count if @threads.count > @total_threads_in_play
130
- end
131
- end
132
-
133
- def stat(event, data=nil) # :nodoc:
134
- return if @history_start_time.nil?
135
- info = {
136
- :event => event,
137
- :data => data,
138
- :time => Time.now,
139
- :thread => Thread.current.object_id,
140
- }
141
- @history_mon.synchronize { @history << info }
142
- end
143
-
144
- # for testing only
145
-
146
- def __queue__ # :nodoc:
147
- @queue
148
- end
149
-
150
- def __threads__ # :nodoc:
151
- @threads.dup
152
- end
153
- end
154
-
155
- end
@@ -1,22 +0,0 @@
1
- module Rake
2
- module TraceOutput
3
-
4
- # Write trace output to output stream +out+.
5
- #
6
- # The write is done as a single IO call (to print) to lessen the
7
- # chance that the trace output is interrupted by other tasks also
8
- # producing output.
9
- def trace_on(out, *strings)
10
- sep = $\ || "\n"
11
- if strings.empty?
12
- output = sep
13
- else
14
- output = strings.map { |s|
15
- next if s.nil?
16
- s =~ /#{sep}$/ ? s : s + sep
17
- }.join
18
- end
19
- out.print(output)
20
- end
21
- end
22
- end
@@ -1,13 +0,0 @@
1
- module Rake
2
- VERSION = '10.0.4'
3
-
4
- module Version # :nodoc: all
5
- MAJOR, MINOR, BUILD, = Rake::VERSION.split '.'
6
-
7
- NUMBERS = [
8
- MAJOR,
9
- MINOR,
10
- BUILD,
11
- ]
12
- end
13
- end
@@ -1,55 +0,0 @@
1
-
2
- module Rake
3
- require 'rake/alt_system'
4
-
5
- # Win 32 interface methods for Rake. Windows specific functionality
6
- # will be placed here to collect that knowledge in one spot.
7
- module Win32
8
-
9
- # Error indicating a problem in locating the home directory on a
10
- # Win32 system.
11
- class Win32HomeError < RuntimeError
12
- end
13
-
14
- class << self
15
- # True if running on a windows system.
16
- def windows?
17
- AltSystem::WINDOWS
18
- end
19
-
20
- # Run a command line on windows.
21
- def rake_system(*cmd)
22
- AltSystem.system(*cmd)
23
- end
24
-
25
- # The standard directory containing system wide rake files on
26
- # Win 32 systems. Try the following environment variables (in
27
- # order):
28
- #
29
- # * HOME
30
- # * HOMEDRIVE + HOMEPATH
31
- # * APPDATA
32
- # * USERPROFILE
33
- #
34
- # If the above are not defined, the return nil.
35
- def win32_system_dir #:nodoc:
36
- win32_shared_path = ENV['HOME']
37
- if win32_shared_path.nil? && ENV['HOMEDRIVE'] && ENV['HOMEPATH']
38
- win32_shared_path = ENV['HOMEDRIVE'] + ENV['HOMEPATH']
39
- end
40
-
41
- win32_shared_path ||= ENV['APPDATA']
42
- win32_shared_path ||= ENV['USERPROFILE']
43
- raise Win32HomeError, "Unable to determine home path environment variable." if
44
- win32_shared_path.nil? or win32_shared_path.empty?
45
- normalize(File.join(win32_shared_path, 'Rake'))
46
- end
47
-
48
- # Normalize a win32 path so that the slashes are all forward slashes.
49
- def normalize(path)
50
- path.gsub(/\\/, '/')
51
- end
52
-
53
- end
54
- end
55
- end
@@ -1,71 +0,0 @@
1
- #--
2
-
3
- # Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
4
- #
5
- # Permission is hereby granted, free of charge, to any person obtaining a copy
6
- # of this software and associated documentation files (the "Software"), to
7
- # deal in the Software without restriction, including without limitation the
8
- # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
9
- # sell copies of the Software, and to permit persons to whom the Software is
10
- # furnished to do so, subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be included in
13
- # all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21
- # IN THE SOFTWARE.
22
- #++
23
-
24
- require 'rake/version'
25
-
26
- # :stopdoc:
27
- RAKEVERSION = Rake::VERSION
28
- # :startdoc:
29
-
30
- require 'rbconfig'
31
- require 'fileutils'
32
- require 'singleton'
33
- require 'monitor'
34
- require 'optparse'
35
- require 'ostruct'
36
-
37
- require 'rake/ext/module'
38
- require 'rake/ext/string'
39
- require 'rake/ext/time'
40
-
41
- require 'rake/win32'
42
-
43
- require 'rake/task_argument_error'
44
- require 'rake/rule_recursion_overflow_error'
45
- require 'rake/rake_module'
46
- require 'rake/trace_output'
47
- require 'rake/pseudo_status'
48
- require 'rake/task_arguments'
49
- require 'rake/invocation_chain'
50
- require 'rake/task'
51
- require 'rake/file_task'
52
- require 'rake/file_creation_task'
53
- require 'rake/multi_task'
54
- require 'rake/dsl_definition'
55
- require 'rake/file_utils_ext'
56
- require 'rake/file_list'
57
- require 'rake/default_loader'
58
- require 'rake/early_time'
59
- require 'rake/name_space'
60
- require 'rake/task_manager'
61
- require 'rake/application'
62
- require 'rake/backtrace'
63
-
64
- $trace = false
65
-
66
- # :stopdoc:
67
- #
68
- # Some top level Constants.
69
-
70
- FileList = Rake::FileList
71
- RakeFileUtils = Rake::FileUtilsExt
@@ -1,34 +0,0 @@
1
- module FileCreation
2
- OLDFILE = "old"
3
- NEWFILE = "new"
4
-
5
- def create_timed_files(oldfile, *newfiles)
6
- return if (File.exist?(oldfile) &&
7
- newfiles.all? { |newfile|
8
- File.exist?(newfile) && File.stat(newfile).mtime > File.stat(oldfile).mtime
9
- })
10
- now = Time.now
11
-
12
- create_file(oldfile, now - 60)
13
-
14
- newfiles.each do |newfile|
15
- create_file(newfile, now)
16
- end
17
- end
18
-
19
- def create_dir(dirname)
20
- FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
21
- File.stat(dirname).mtime
22
- end
23
-
24
- def create_file(name, file_time=nil)
25
- create_dir(File.dirname(name))
26
- FileUtils.touch(name) unless File.exist?(name)
27
- File.utime(file_time, file_time, name) unless file_time.nil?
28
- File.stat(name).mtime
29
- end
30
-
31
- def delete_file(name)
32
- File.delete(name) rescue nil
33
- end
34
- end