ralf 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +1 -0
- data/README.rdoc +2 -0
- data/Rakefile +23 -17
- data/VERSION +1 -1
- data/lib/ralf.rb +14 -6
- data/lib/ralf/config.rb +1 -0
- data/ralf.gemspec +77 -0
- data/spec/ralf_spec.rb +20 -4
- metadata +27 -19
- data/.gitignore +0 -4
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm --create ruby-1.8.7-p249@ralf
|
data/README.rdoc
CHANGED
@@ -123,4 +123,6 @@ install the ralf gem.
|
|
123
123
|
= Authors
|
124
124
|
Authors: {Leon Berenschot}[http://github.com/LeipeLeon] and {K.J. Wierenga}[http://github.com/kjwierenga]
|
125
125
|
|
126
|
+
Contributers: {Victor Castell}[http://github.com/victorcoder]
|
127
|
+
|
126
128
|
This program is used for {kerkdienstgemist.nl}[http://kerkdienstgemist.nl] {Amazon S3}[http://aws.amazon.com/s3/] log file processing.
|
data/Rakefile
CHANGED
@@ -15,11 +15,11 @@ begin
|
|
15
15
|
gem.homepage = "http://github.com/kjwierenga/ralf"
|
16
16
|
gem.authors = ["Klaas Jan Wierenga", "Leon Berenschot"]
|
17
17
|
|
18
|
-
gem.add_development_dependency 'rspec', '
|
19
|
-
gem.add_development_dependency 'fakeweb', '
|
18
|
+
gem.add_development_dependency 'rspec', '~> 1.3.0'
|
19
|
+
gem.add_development_dependency 'fakeweb', '~> 1.2.8'
|
20
20
|
|
21
|
-
gem.add_dependency 'right_aws', '
|
22
|
-
gem.add_dependency 'logmerge', '
|
21
|
+
gem.add_dependency 'right_aws', '~> 1.10.0'
|
22
|
+
gem.add_dependency 'logmerge', '~> 1.0.2'
|
23
23
|
gem.add_dependency 'chronic', '>= 0.2.3'
|
24
24
|
|
25
25
|
gem.rdoc_options << '--exclude' << '.'
|
@@ -27,24 +27,30 @@ begin
|
|
27
27
|
end
|
28
28
|
Jeweler::GemcutterTasks.new
|
29
29
|
rescue LoadError
|
30
|
-
puts "Jeweler (or a dependency) not available.
|
30
|
+
puts "Warning: Jeweler (or a dependency) not available."
|
31
|
+
puts " Check dependencies with `rake check_dependencies`."
|
31
32
|
end
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
spec
|
36
|
-
|
37
|
-
|
34
|
+
begin
|
35
|
+
require 'spec/rake/spectask'
|
36
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
37
|
+
spec.libs << 'lib' << 'spec'
|
38
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
39
|
+
end
|
38
40
|
|
39
|
-
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
end
|
41
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
42
|
+
spec.libs << 'lib' << 'spec'
|
43
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
44
|
+
spec.rcov = true
|
45
|
+
end
|
44
46
|
|
45
|
-
task :spec => :check_dependencies
|
47
|
+
task :spec => :check_dependencies
|
46
48
|
|
47
|
-
task :default => :spec
|
49
|
+
task :default => :spec
|
50
|
+
rescue LoadError
|
51
|
+
puts "Warning: Rspec not available."
|
52
|
+
puts " Check dependencies with `rake check_dependencies`."
|
53
|
+
end
|
48
54
|
|
49
55
|
require 'rake/rdoctask'
|
50
56
|
Rake::RDocTask.new do |rdoc|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1.0
|
data/lib/ralf.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'right_aws'
|
3
3
|
require 'logmerge'
|
4
|
-
require '
|
4
|
+
require 'fileutils'
|
5
5
|
require 'ralf/config'
|
6
6
|
require 'ralf/bucket'
|
7
7
|
require 'chronic'
|
8
|
+
require 'stringio'
|
9
|
+
require 'date'
|
8
10
|
|
9
11
|
class Ralf
|
10
12
|
|
@@ -17,6 +19,7 @@ class Ralf
|
|
17
19
|
USER_DEFAULT_CONFIG_FILE = '~/.ralf.conf'
|
18
20
|
|
19
21
|
AMAZON_LOG_FORMAT = Regexp.new('([^ ]*) ([^ ]*) \[([^\]]*)\] ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) "([^"]*)" ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) "([^"]*)" "([^"]*)"')
|
22
|
+
AMAZON_LOG_FORMAT_COPY = Regexp.new('([^ ]*) ([^ ]*) \[([^\]]*)\] ([^ ]*) ([^ ]*) ([^ ]*) (REST.COPY.OBJECT_GET) ([^ ]*) (-) ([^ ]*) (-) (-) ([^ ]*) (-) (-) (-) (-) (-)')
|
20
23
|
|
21
24
|
# The current configuration.
|
22
25
|
attr_reader :config
|
@@ -81,7 +84,7 @@ class Ralf
|
|
81
84
|
merged_log = output_log + ".alf"
|
82
85
|
|
83
86
|
# create directory for output file
|
84
|
-
|
87
|
+
FileUtils.mkdir_p(File.dirname(merged_log))
|
85
88
|
|
86
89
|
# merge the log files
|
87
90
|
Ralf.merge(merged_log, log_files)
|
@@ -109,7 +112,7 @@ class Ralf
|
|
109
112
|
|
110
113
|
# Download log files for +bucket+ and +date+ to +dir+.
|
111
114
|
def self.download_logs(bucket, date, dir)
|
112
|
-
|
115
|
+
FileUtils.mkdir_p(dir)
|
113
116
|
|
114
117
|
# iterate over the available log files, saving them to disk and
|
115
118
|
log_files = []
|
@@ -134,7 +137,9 @@ class Ralf
|
|
134
137
|
out_file = File.open(output_log, 'w')
|
135
138
|
File.open(input_log, 'r') do |in_file|
|
136
139
|
while (line = in_file.gets)
|
137
|
-
|
140
|
+
if clf = translate_to_clf(line)
|
141
|
+
out_file.puts(clf)
|
142
|
+
end
|
138
143
|
end
|
139
144
|
end
|
140
145
|
out_file.close
|
@@ -142,10 +147,13 @@ class Ralf
|
|
142
147
|
|
143
148
|
def self.translate_to_clf(line)
|
144
149
|
if line =~ AMAZON_LOG_FORMAT
|
145
|
-
# host, date, ip, acl, request, status, bytes, agent = $2, $3, $4, $5, $9, $10, $12, $17
|
146
|
-
"%s - %s [%s] \"%s\" %
|
150
|
+
# host, date, ip, acl, request, status, bytes, agent, total_time_ms = $2, $3, $4, $5, $9, $10, $12, $17, $14
|
151
|
+
"%s - %s [%s] \"%s\" %s %s \"%s\" \"%s\" %d" % [$4, $5, $3, $9, $10, $12, $16, $17, ($14.to_i/1000.0).round]
|
152
|
+
elsif line =~ AMAZON_LOG_FORMAT_COPY
|
153
|
+
"%s - %s [%s] \"%s\" %s %s \"%s\" \"REST.COPY.OBJECT_GET\" %d" % [$4, $5, $3, "POST /#{$8} HTTP/1.1", $10, $12, $16, 0]
|
147
154
|
else
|
148
155
|
$stderr.puts "# ERROR: #{line}"
|
156
|
+
nil
|
149
157
|
end
|
150
158
|
end
|
151
159
|
|
data/lib/ralf/config.rb
CHANGED
data/ralf.gemspec
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{ralf}
|
8
|
+
s.version = "1.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Klaas Jan Wierenga", "Leon Berenschot"]
|
12
|
+
s.date = %q{2011-05-09}
|
13
|
+
s.default_executable = %q{ralf}
|
14
|
+
s.description = %q{ Download logfiles from Amazon S3 buckets to local disk and combine them in one Apache CLF per bucket
|
15
|
+
}
|
16
|
+
s.email = ["k.j.wierenga@gmail.com", "leonb@beriedata.nl"]
|
17
|
+
s.executables = ["ralf"]
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"README.rdoc"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".rvmrc",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"bin/ralf",
|
27
|
+
"lib/ralf.rb",
|
28
|
+
"lib/ralf/bucket.rb",
|
29
|
+
"lib/ralf/config.rb",
|
30
|
+
"lib/ralf/interpolation.rb",
|
31
|
+
"lib/ralf/log.rb",
|
32
|
+
"lib/ralf/option_parser.rb",
|
33
|
+
"ralf.gemspec",
|
34
|
+
"spec/fixtures/apache.log",
|
35
|
+
"spec/fixtures/example_buckets.yaml",
|
36
|
+
"spec/ralf/bucket_spec.rb",
|
37
|
+
"spec/ralf/config_spec.rb",
|
38
|
+
"spec/ralf/interpolation_spec.rb",
|
39
|
+
"spec/ralf/log_spec.rb",
|
40
|
+
"spec/ralf/option_parser_spec.rb",
|
41
|
+
"spec/ralf_spec.rb",
|
42
|
+
"spec/spec.opts",
|
43
|
+
"spec/spec_helper.rb",
|
44
|
+
"spec/support/fakeweb.rb"
|
45
|
+
]
|
46
|
+
s.homepage = %q{http://github.com/kjwierenga/ralf}
|
47
|
+
s.rdoc_options = ["--exclude", "."]
|
48
|
+
s.require_paths = ["lib"]
|
49
|
+
s.rubygems_version = %q{1.3.7}
|
50
|
+
s.summary = %q{Retrieve Amazon Log Files}
|
51
|
+
|
52
|
+
if s.respond_to? :specification_version then
|
53
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
54
|
+
s.specification_version = 3
|
55
|
+
|
56
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
57
|
+
s.add_development_dependency(%q<rspec>, ["~> 1.3.0"])
|
58
|
+
s.add_development_dependency(%q<fakeweb>, ["~> 1.2.8"])
|
59
|
+
s.add_runtime_dependency(%q<right_aws>, ["~> 1.10.0"])
|
60
|
+
s.add_runtime_dependency(%q<logmerge>, ["~> 1.0.2"])
|
61
|
+
s.add_runtime_dependency(%q<chronic>, [">= 0.2.3"])
|
62
|
+
else
|
63
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.0"])
|
64
|
+
s.add_dependency(%q<fakeweb>, ["~> 1.2.8"])
|
65
|
+
s.add_dependency(%q<right_aws>, ["~> 1.10.0"])
|
66
|
+
s.add_dependency(%q<logmerge>, ["~> 1.0.2"])
|
67
|
+
s.add_dependency(%q<chronic>, [">= 0.2.3"])
|
68
|
+
end
|
69
|
+
else
|
70
|
+
s.add_dependency(%q<rspec>, ["~> 1.3.0"])
|
71
|
+
s.add_dependency(%q<fakeweb>, ["~> 1.2.8"])
|
72
|
+
s.add_dependency(%q<right_aws>, ["~> 1.10.0"])
|
73
|
+
s.add_dependency(%q<logmerge>, ["~> 1.0.2"])
|
74
|
+
s.add_dependency(%q<chronic>, [">= 0.2.3"])
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
data/spec/ralf_spec.rb
CHANGED
@@ -255,7 +255,7 @@ describe Ralf do
|
|
255
255
|
@example_buckets[name]
|
256
256
|
end
|
257
257
|
|
258
|
-
|
258
|
+
FileUtils.stub(:mkdir_p)
|
259
259
|
ralf = Ralf.new(@valid_options.merge(:cache_dir => '/var/log/s3/cache/:bucket',
|
260
260
|
:output_file => '/var/log/s3/:bucket.log',
|
261
261
|
:buckets => 'test1',
|
@@ -313,22 +313,31 @@ describe Ralf do
|
|
313
313
|
|
314
314
|
it "should convert output files to common_log_format" do
|
315
315
|
input_log = StringIO.new
|
316
|
+
|
317
|
+
# last two lines are ignored because they don't match
|
316
318
|
input_log.string = <<EOF_INPUT
|
317
319
|
2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 assets.staging.kerkdienstgemist.nl [10/Feb/2010:07:17:01 +0000] 10.32.219.38 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 784FD457838EFF42 REST.GET.ACL - "GET /?acl HTTP/1.1" 200 - 1384 - 399 - "-" "Jakarta Commons-HttpClient/3.0" -
|
318
320
|
2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 assets.staging.kerkdienstgemist.nl [10/Feb/2010:07:17:02 +0000] 10.32.219.38 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 6E239BC5A4AC757C SOAP.PUT.OBJECT logs/2010-02-10-07-17-02-F6EFD00DAB9A08B6 "POST /soap/ HTTP/1.1" 200 - 797 686 63 31 "-" "Axis/1.3" -
|
319
321
|
2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 assets.staging.kerkdienstgemist.nl [10/Feb/2010:07:24:40 +0000] 10.217.37.15 - 0B76C90B3634290B REST.GET.ACL - "GET /?acl HTTP/1.1" 307 TemporaryRedirect 488 - 7 - "-" "Jakarta Commons-HttpClient/3.0" -
|
322
|
+
2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 media.staging.kerkdienstgemist.nl [17/Sep/2010:13:38:36 +0000] 85.113.244.146 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 71F7D2AAA93B0A05 REST.COPY.OBJECT_GET 10010150/2010-08-29-0930.mp3 - 200 - - 13538337 - - - - -
|
323
|
+
2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 media.staging.kerkdienstgemist.nl [17/Sep/2010:13:38:37 +0000] 85.113.244.146 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 7CC5E3D09AE78CAE REST.COPY.OBJECT_GET 10010150/2010-09-05-1000.mp3 - 200 - - 9860402 - - - - -
|
320
324
|
EOF_INPUT
|
321
325
|
|
322
326
|
clf_log =<<EOF_OUTPUT
|
323
|
-
10.32.219.38 - 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 [10/Feb/2010:07:17:01 +0000] "GET /?acl HTTP/1.1" 200 1384 "-" "Jakarta Commons-HttpClient/3.0"
|
324
|
-
10.32.219.38 - 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 [10/Feb/2010:07:17:02 +0000] "POST /soap/ HTTP/1.1" 200 797 "-" "Axis/1.3"
|
325
|
-
10.217.37.15 - - [10/Feb/2010:07:24:40 +0000] "GET /?acl HTTP/1.1" 307 488 "-" "Jakarta Commons-HttpClient/3.0"
|
327
|
+
10.32.219.38 - 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 [10/Feb/2010:07:17:01 +0000] "GET /?acl HTTP/1.1" 200 1384 "-" "Jakarta Commons-HttpClient/3.0" 0
|
328
|
+
10.32.219.38 - 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 [10/Feb/2010:07:17:02 +0000] "POST /soap/ HTTP/1.1" 200 797 "-" "Axis/1.3" 0
|
329
|
+
10.217.37.15 - - [10/Feb/2010:07:24:40 +0000] "GET /?acl HTTP/1.1" 307 488 "-" "Jakarta Commons-HttpClient/3.0" 0
|
330
|
+
85.113.244.146 - 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 [17/Sep/2010:13:38:36 +0000] "POST /10010150/2010-08-29-0930.mp3 HTTP/1.1" 200 - "-" "REST.COPY.OBJECT_GET" 0
|
331
|
+
85.113.244.146 - 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 [17/Sep/2010:13:38:37 +0000] "POST /10010150/2010-09-05-1000.mp3 HTTP/1.1" 200 - "-" "REST.COPY.OBJECT_GET" 0
|
326
332
|
EOF_OUTPUT
|
327
333
|
|
328
334
|
output_log = StringIO.new
|
329
335
|
|
330
336
|
File.should_receive(:open).with('input_file', 'r').and_yield(input_log)
|
331
337
|
File.should_receive(:open).with('output_file', 'w').and_return(output_log)
|
338
|
+
|
339
|
+
# $stderr.should_receive(:puts).with("# ERROR: 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 media.staging.kerkdienstgemist.nl [17/Sep/2010:13:38:36 +0000] 85.113.244.146 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 71F7D2AAA93B0A05 REST.COPY.OBJECT_GET 10010150/2010-08-29-0930.mp3 - 200 - - 13538337 - - - - -\n")
|
340
|
+
# $stderr.should_receive(:puts).with("# ERROR: 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 media.staging.kerkdienstgemist.nl [17/Sep/2010:13:38:37 +0000] 85.113.244.146 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 7CC5E3D09AE78CAE REST.COPY.OBJECT_GET 10010150/2010-09-05-1000.mp3 - 200 - - 9860402 - - - - -\n")
|
332
341
|
|
333
342
|
Ralf.convert_to_common_log_format('input_file', 'output_file')
|
334
343
|
output_log.string.should eql(clf_log)
|
@@ -341,6 +350,13 @@ EOF_OUTPUT
|
|
341
350
|
$stderr.string.should eql("# ERROR: #{invalid_line}\n")
|
342
351
|
end
|
343
352
|
|
353
|
+
it "should add rounded total_time in seconds" do
|
354
|
+
$stderr = StringIO.new
|
355
|
+
input_line = '2010-10-02-19-15-45-6879098C3140BE9D:2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 media.kerkdienstgemist.nl [02/Oct/2010:18:29:16 +0000] 82.168.113.55 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 4F911681022807C6 REST.GET.OBJECT 10028050/2010-09-26-1830.mp3 "GET /10028050/2010-09-26-1830.mp3?Signature=E3ehd6nkXjNg7vr%2F4b3LtxCWads%3D&Expires=1286051333&AWSAccessKeyId=AKIAI3XHXJPFSJW2UQAQ HTTP/1.1" 206 - 4194304 17537676 1600 12 "-" "VLC media player - version 1.0.5 Goldeneye - (c) 1996-2010 the VideoLAN team" -'
|
356
|
+
Ralf.translate_to_clf(input_line).should eql("82.168.113.55 - 2cf7e6b06335c0689c6d29163df5bb001c96870cd78609e3845f1ed76a632621 [02/Oct/2010:18:29:16 +0000] \"GET /10028050/2010-09-26-1830.mp3?Signature=E3ehd6nkXjNg7vr%2F4b3LtxCWads%3D&Expires=1286051333&AWSAccessKeyId=AKIAI3XHXJPFSJW2UQAQ HTTP/1.1\" 206 4194304 \"-\" \"VLC media player - version 1.0.5 Goldeneye - (c) 1996-2010 the VideoLAN team\" 2")
|
357
|
+
$stderr.string.should be_empty
|
358
|
+
end
|
359
|
+
|
344
360
|
end
|
345
361
|
|
346
362
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ralf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
8
|
+
- 1
|
7
9
|
- 0
|
8
|
-
|
9
|
-
version: 1.0.0
|
10
|
+
version: 1.1.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Klaas Jan Wierenga
|
@@ -15,16 +16,18 @@ autorequire:
|
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date:
|
19
|
+
date: 2011-05-09 00:00:00 +02:00
|
19
20
|
default_executable: ralf
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
23
|
name: rspec
|
23
24
|
prerelease: false
|
24
25
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
25
27
|
requirements:
|
26
|
-
- -
|
28
|
+
- - ~>
|
27
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 27
|
28
31
|
segments:
|
29
32
|
- 1
|
30
33
|
- 3
|
@@ -36,9 +39,11 @@ dependencies:
|
|
36
39
|
name: fakeweb
|
37
40
|
prerelease: false
|
38
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
39
43
|
requirements:
|
40
|
-
- -
|
44
|
+
- - ~>
|
41
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 15
|
42
47
|
segments:
|
43
48
|
- 1
|
44
49
|
- 2
|
@@ -50,9 +55,11 @@ dependencies:
|
|
50
55
|
name: right_aws
|
51
56
|
prerelease: false
|
52
57
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
53
59
|
requirements:
|
54
|
-
- -
|
60
|
+
- - ~>
|
55
61
|
- !ruby/object:Gem::Version
|
62
|
+
hash: 63
|
56
63
|
segments:
|
57
64
|
- 1
|
58
65
|
- 10
|
@@ -64,9 +71,11 @@ dependencies:
|
|
64
71
|
name: logmerge
|
65
72
|
prerelease: false
|
66
73
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
67
75
|
requirements:
|
68
|
-
- -
|
76
|
+
- - ~>
|
69
77
|
- !ruby/object:Gem::Version
|
78
|
+
hash: 19
|
70
79
|
segments:
|
71
80
|
- 1
|
72
81
|
- 0
|
@@ -78,9 +87,11 @@ dependencies:
|
|
78
87
|
name: chronic
|
79
88
|
prerelease: false
|
80
89
|
requirement: &id005 !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
81
91
|
requirements:
|
82
92
|
- - ">="
|
83
93
|
- !ruby/object:Gem::Version
|
94
|
+
hash: 17
|
84
95
|
segments:
|
85
96
|
- 0
|
86
97
|
- 2
|
@@ -99,7 +110,7 @@ extensions: []
|
|
99
110
|
extra_rdoc_files:
|
100
111
|
- README.rdoc
|
101
112
|
files:
|
102
|
-
- .
|
113
|
+
- .rvmrc
|
103
114
|
- README.rdoc
|
104
115
|
- Rakefile
|
105
116
|
- VERSION
|
@@ -110,6 +121,7 @@ files:
|
|
110
121
|
- lib/ralf/interpolation.rb
|
111
122
|
- lib/ralf/log.rb
|
112
123
|
- lib/ralf/option_parser.rb
|
124
|
+
- ralf.gemspec
|
113
125
|
- spec/fixtures/apache.log
|
114
126
|
- spec/fixtures/example_buckets.yaml
|
115
127
|
- spec/ralf/bucket_spec.rb
|
@@ -127,38 +139,34 @@ licenses: []
|
|
127
139
|
|
128
140
|
post_install_message:
|
129
141
|
rdoc_options:
|
130
|
-
- --charset=UTF-8
|
131
142
|
- --exclude
|
132
143
|
- .
|
133
144
|
require_paths:
|
134
145
|
- lib
|
135
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
136
148
|
requirements:
|
137
149
|
- - ">="
|
138
150
|
- !ruby/object:Gem::Version
|
151
|
+
hash: 3
|
139
152
|
segments:
|
140
153
|
- 0
|
141
154
|
version: "0"
|
142
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
143
157
|
requirements:
|
144
158
|
- - ">="
|
145
159
|
- !ruby/object:Gem::Version
|
160
|
+
hash: 3
|
146
161
|
segments:
|
147
162
|
- 0
|
148
163
|
version: "0"
|
149
164
|
requirements: []
|
150
165
|
|
151
166
|
rubyforge_project:
|
152
|
-
rubygems_version: 1.3.
|
167
|
+
rubygems_version: 1.3.7
|
153
168
|
signing_key:
|
154
169
|
specification_version: 3
|
155
170
|
summary: Retrieve Amazon Log Files
|
156
|
-
test_files:
|
157
|
-
|
158
|
-
- spec/ralf/config_spec.rb
|
159
|
-
- spec/ralf/interpolation_spec.rb
|
160
|
-
- spec/ralf/log_spec.rb
|
161
|
-
- spec/ralf/option_parser_spec.rb
|
162
|
-
- spec/ralf_spec.rb
|
163
|
-
- spec/spec_helper.rb
|
164
|
-
- spec/support/fakeweb.rb
|
171
|
+
test_files: []
|
172
|
+
|
data/.gitignore
DELETED