indy 0.3.4 → 0.4.0.pre
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.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +8 -0
- data/Guardfile +12 -0
- data/History.txt +6 -0
- data/README.md +43 -14
- data/Rakefile +7 -0
- data/features/step_definitions/find_by.steps.rb +1 -1
- data/features/step_definitions/log_file.steps.rb +1 -1
- data/features/step_definitions/time.steps.rb +6 -6
- data/indy.gemspec +21 -13
- data/lib/indy.rb +10 -2
- data/lib/indy/indy.rb +87 -408
- data/lib/indy/log_definition.rb +115 -0
- data/lib/indy/log_formats.rb +15 -7
- data/lib/indy/search.rb +147 -0
- data/lib/indy/source.rb +143 -50
- data/lib/indy/time.rb +78 -0
- data/lib/indy/version.rb +1 -1
- data/performance/large.log +40000 -0
- data/performance/profile_spec.rb +7 -7
- data/performance/time_large_file_spec.rb +18 -0
- data/spec/helper.rb +5 -3
- data/spec/indy_private_spec.rb +24 -0
- data/spec/indy_spec.rb +153 -226
- data/spec/indy_struct_spec.rb +43 -0
- data/spec/log_definition_spec.rb +75 -0
- data/spec/log_format_spec.rb +62 -50
- data/spec/search_spec.rb +15 -25
- data/spec/source_spec.rb +43 -35
- data/spec/time_scope_spec.rb +162 -0
- data/spec/time_spec.rb +26 -192
- metadata +264 -164
- data/.autotest +0 -18
- data/.rvmrc +0 -1
- data/autotest/discover.rb +0 -2
- data/lib/indy/formats.rb +0 -3
- data/lib/indy/notes.txt +0 -9
- data/lib/indy/result_set.rb +0 -8
- data/lib/scanf.rb +0 -13
- data/spec/last_spec.rb +0 -42
- data/spec/result_set_spec.rb +0 -36
data/spec/time_spec.rb
CHANGED
@@ -1,220 +1,54 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/
|
1
|
+
require File.expand_path("#{File.dirname(__FILE__)}/../lib/indy/time")
|
2
2
|
|
3
|
-
describe Indy do
|
3
|
+
describe Indy::Time do
|
4
4
|
|
5
|
-
context
|
5
|
+
context 'class method' do
|
6
6
|
|
7
|
-
|
8
|
-
@indy = Indy.search("2000-09-07 14:07:41 INFO MyApp - Entering APPLICATION.")
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should parse a standard date" do
|
12
|
-
line_hash = {:time => "2000-09-07 14:07:41", :message => "Entering APPLICATION"}
|
13
|
-
@indy.send(:parse_date, line_hash).class.should == Time
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should parse dates when log includes non-conforming data" do
|
17
|
-
logdata = [ "12-03-2000 message1",
|
18
|
-
"13-03-2000 message2",
|
19
|
-
"14-03-2000 ",
|
20
|
-
" message4",
|
21
|
-
"a14-03-2000 message5",
|
22
|
-
"14-03-2000 message6\n\n\n\n",
|
23
|
-
"15-03-2000 message7",
|
24
|
-
"16-03-2000 message8\r\n",
|
25
|
-
"17-03-2000 message9"].join("\n")
|
26
|
-
@indy = Indy.new(
|
27
|
-
:source => logdata,
|
28
|
-
:log_format => ['^(\d[^\s]+\d) (.+)$', :time, :message])
|
29
|
-
@indy.after(:time => '13-03-2000')
|
30
|
-
@indy.for(:all).length.should == 4
|
31
|
-
end
|
7
|
+
context 'parse_date' do
|
32
8
|
|
33
|
-
|
34
|
-
|
35
|
-
context "search time scope" do
|
36
|
-
|
37
|
-
before(:each) do
|
38
|
-
@indy = Indy.search(
|
39
|
-
[ "2000-09-07 14:07:41 INFO MyApp - Entering APPLICATION.",
|
40
|
-
"2000-09-07 14:07:42 INFO MyApp - Initializing APPLICATION.",
|
41
|
-
"2000-09-07 14:07:43 INFO MyApp - Configuring APPLICATION.",
|
42
|
-
"2000-09-07 14:07:44 INFO MyApp - Running APPLICATION.",
|
43
|
-
"2000-09-07 14:07:45 INFO MyApp - Exiting APPLICATION."
|
44
|
-
].join("\n") )
|
45
|
-
end
|
46
|
-
|
47
|
-
context "after method" do
|
48
|
-
|
49
|
-
it "should find the correct entries" do
|
50
|
-
@indy.after(:time => '2000-09-07 14:07:42').for(:all).length.should == 3
|
9
|
+
it 'should parse a bare date string' do
|
10
|
+
Indy::Time.parse_date('2012-10-10 10:10:10').class.should == Time
|
51
11
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
12
|
+
it 'should return a passed Time object' do
|
13
|
+
time = Time.now
|
14
|
+
Indy::Time.parse_date(time).should === time
|
55
15
|
end
|
56
16
|
|
57
|
-
it
|
58
|
-
|
17
|
+
it 'should return a passed DateTime object' do
|
18
|
+
time = DateTime.now
|
19
|
+
Indy::Time.parse_date(time).should === time
|
59
20
|
end
|
60
21
|
|
61
|
-
it "should
|
62
|
-
|
22
|
+
it "should parse a US style date" do
|
23
|
+
time = Indy::Time.parse_date('01-13-2002','%m-%d-%Y')
|
24
|
+
time.class.should == DateTime
|
25
|
+
time.day.should == 13
|
63
26
|
end
|
64
27
|
|
65
28
|
end
|
66
29
|
|
67
|
-
context
|
68
|
-
|
69
|
-
it "should find the correct entries" do
|
70
|
-
@indy.before(:time => '2000-09-07 14:07:44').for(:all).length.should == 3
|
71
|
-
end
|
72
|
-
|
73
|
-
it "should find 0 entries with a time that is before the log" do
|
74
|
-
@indy.before(:time => '2000-09-07 14:07:40').for(:all).length.should == 0
|
75
|
-
end
|
30
|
+
context 'forever' do
|
76
31
|
|
77
|
-
it
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
it "should find entries using inclusive" do
|
82
|
-
@indy.before(:time => '2000-09-07 14:07:44', :inclusive => true).for(:all).length.should == 4
|
32
|
+
it 'should respond_to' do
|
33
|
+
Indy::Time.should respond_to(:forever)
|
83
34
|
end
|
84
35
|
|
85
36
|
end
|
86
37
|
|
87
|
-
context
|
88
|
-
|
89
|
-
it "should find the correct entries" do
|
90
|
-
@indy.within(:time => ['2000-09-07 14:07:41', '2000-09-07 14:07:43']).for(:all).length.should == 1
|
91
|
-
end
|
38
|
+
context 'forever_ago' do
|
92
39
|
|
93
|
-
it
|
94
|
-
|
40
|
+
it 'should respond_to' do
|
41
|
+
Indy::Time.should respond_to(:forever_ago)
|
95
42
|
end
|
96
43
|
|
97
44
|
end
|
98
45
|
|
99
|
-
|
100
|
-
|
101
|
-
context "search time scopes with span" do
|
102
|
-
|
103
|
-
before(:each) do
|
104
|
-
@indy = Indy.search(
|
105
|
-
[ "2000-09-07 14:07:41 INFO MyApp - Entering APPLICATION.",
|
106
|
-
"2000-09-07 14:08:41 INFO MyApp - Initializing APPLICATION.",
|
107
|
-
"2000-09-07 14:09:41 INFO MyApp - Configuring APPLICATION.",
|
108
|
-
"2000-09-07 14:10:50 INFO MyApp - Running APPLICATION.",
|
109
|
-
"2000-09-07 14:11:42 INFO MyApp - Exiting APPLICATION.",
|
110
|
-
"2000-09-07 14:12:15 INFO MyApp - Exiting APPLICATION."
|
111
|
-
].join("\n") )
|
112
|
-
end
|
113
|
-
|
114
|
-
it "using after should find the correct entries" do
|
115
|
-
@indy.after(:time => '2000-09-07 14:07:42', :span => 1).for(:all).length.should == 1
|
116
|
-
end
|
117
|
-
|
118
|
-
it "using before should find the correct entries" do
|
119
|
-
@indy.before(:time => '2000-09-07 14:12:00', :span => 4).for(:all).length.should == 4
|
120
|
-
end
|
121
|
-
|
122
|
-
it "using around should find the correct entries" do
|
123
|
-
@indy.around(:time => '2000-09-07 14:11:00', :span => 2).for(:all).length.should == 2
|
124
|
-
end
|
125
|
-
|
126
|
-
it "using after and inclusive should find the correct entries" do
|
127
|
-
@indy.after(:time => '2000-09-07 14:07:41', :span => 2, :inclusive => true).for(:all).length.should == 3
|
128
|
-
end
|
129
|
-
|
130
|
-
end
|
46
|
+
context 'inside_time_window?' do
|
131
47
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
@indy = Indy.search(
|
136
|
-
[ "2000-09-07 14:07:41 INFO MyApp - Entering APPLICATION.",
|
137
|
-
"2000-09-07 14:07:42 INFO MyApp - Initializing APPLICATION.",
|
138
|
-
"2000-09-07 14:07:43 INFO MyApp - Configuring APPLICATION.",
|
139
|
-
"2000-09-07 14:07:44 INFO MyApp - Running APPLICATION.",
|
140
|
-
"2000-09-07 14:07:45 INFO MyApp - Exiting APPLICATION."
|
141
|
-
].join("\n") )
|
142
|
-
end
|
143
|
-
|
144
|
-
# Issue #3 (by design) assumed that the time scope.
|
145
|
-
it "should each add scope criteria to the instance" do
|
146
|
-
@indy.after(:time => '2000-09-07 14:07:42').for(:all).length.should == 3
|
147
|
-
@indy.before(:time => '2000-09-07 14:07:45').for(:all).length.should == 2
|
148
|
-
end
|
149
|
-
|
150
|
-
it "should specify the entire scope if #reset_scope was called" do
|
151
|
-
@indy.after(:time => '2000-09-07 14:07:42').for(:all).length.should == 3
|
152
|
-
@indy.reset_scope
|
153
|
-
@indy.before(:time => '2000-09-07 14:07:45').for(:all).length.should == 4
|
154
|
-
end
|
155
|
-
|
156
|
-
end
|
157
|
-
|
158
|
-
context "non-default time handling" do
|
159
|
-
|
160
|
-
before(:all) do
|
161
|
-
pattern = "(\w+) (\d{4}-\d{2}-\d{2}) (\w+) - (.*)"
|
162
|
-
@indy = Indy.new(:source => "INFO 2000-09-07 MyApp - Entering APPLICATION.",
|
163
|
-
:log_format => [pattern, :severity, :time, :application, :message])
|
164
|
-
end
|
165
|
-
|
166
|
-
it "should parse a non-standard date" do
|
167
|
-
line_hash = {:time => "2000/09/07", :message => "Entering APPLICATION"}
|
168
|
-
@indy.send(:parse_date, line_hash).class.should == Time
|
169
|
-
end
|
170
|
-
|
171
|
-
end
|
172
|
-
|
173
|
-
context "explicit time format" do
|
174
|
-
|
175
|
-
before(:each) do
|
176
|
-
pattern = "^([^\s]+) (.*)$"
|
177
|
-
@indy = Indy.new(:time_format => '%m-%d-%Y',
|
178
|
-
:source => "1-13-2002 message\n1-14-2002 another message\n1-15-2002 another message",
|
179
|
-
:log_format => [pattern, :time, :message])
|
180
|
-
end
|
181
|
-
|
182
|
-
it "should parse a US style date when given a time format by using DateTime" do
|
183
|
-
line_hash = {:time => '1-13-2002', :message => 'message'}
|
184
|
-
time = @indy.send(:parse_date, line_hash)
|
185
|
-
time.class.should == DateTime
|
186
|
-
time.day.should == 13
|
187
|
-
end
|
188
|
-
|
189
|
-
it "should accept standard time format searches even while using an explicit log time format" do
|
190
|
-
@indy.after(:time => 'Jan 13 2002').for(:all).length.should == 2
|
191
|
-
@indy.after(:time => 'Jan 14 2002').for(:all).last._time.mday.should == 15
|
192
|
-
end
|
193
|
-
|
194
|
-
end
|
195
|
-
|
196
|
-
context "built-in _time field" do
|
197
|
-
|
198
|
-
before(:all) do
|
199
|
-
log_string = ["2000-09-07 14:07:41 INFO MyApp - Entering APPLICATION.",
|
200
|
-
"2000-09-07 14:08:41 INFO MyApp - Exiting APPLICATION.",
|
201
|
-
"2000-09-07 14:10:55 INFO MyApp - Exiting APPLICATION."].join("\n")
|
202
|
-
@search_result = Indy.search(log_string).for(:application => 'MyApp')
|
203
|
-
@time_search_result = Indy.search(log_string).before(:time => "2020-09-07").for(:application => 'MyApp')
|
204
|
-
end
|
205
|
-
|
206
|
-
it "should not exist as an attribute unless performing a time search" do
|
207
|
-
@search_result.first._time.class.should == NilClass
|
208
|
-
@time_search_result.first._time.class.should == Time
|
209
|
-
end
|
210
|
-
|
211
|
-
it "should be accurate" do
|
212
|
-
@time_search_result.first._time.strftime("%a %b %d %H:%M:%S %Z").should match(/^Thu Sep 07 14:07:41 .{3}/)
|
213
|
-
end
|
48
|
+
it 'should respond_to' do
|
49
|
+
Indy::Time.should respond_to(:inside_time_window?)
|
50
|
+
end
|
214
51
|
|
215
|
-
it "should allow for time range calculations" do
|
216
|
-
seconds = @time_search_result.last._time - @time_search_result.first._time
|
217
|
-
seconds.should == 194
|
218
52
|
end
|
219
53
|
|
220
54
|
end
|
metadata
CHANGED
@@ -1,169 +1,271 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: indy
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
- 4
|
10
|
-
version: 0.3.4
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0.pre
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Franklin Webber
|
14
8
|
- Brandon Faloona
|
15
9
|
autorequire:
|
16
10
|
bindir: bin
|
17
11
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-02-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: activesupport
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- - ">="
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
hash: 9
|
31
|
-
segments:
|
32
|
-
- 2
|
33
|
-
- 3
|
34
|
-
- 5
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
35
20
|
version: 2.3.5
|
36
21
|
type: :runtime
|
37
|
-
version_requirements: *id001
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: i18n
|
40
22
|
prerelease: false
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 2.3.5
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rake
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
50
35
|
type: :development
|
51
|
-
version_requirements: *id002
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: cucumber
|
54
36
|
prerelease: false
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: i18n
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
66
49
|
type: :development
|
67
|
-
|
68
|
-
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: cucumber
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.1.0
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.1.0
|
70
|
+
- !ruby/object:Gem::Dependency
|
69
71
|
name: yard
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.7.2
|
77
|
+
type: :development
|
70
78
|
prerelease: false
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
hash: 7
|
77
|
-
segments:
|
78
|
-
- 0
|
79
|
-
- 7
|
80
|
-
- 2
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
81
83
|
version: 0.7.2
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rspec
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 2.9.0
|
82
91
|
type: :development
|
83
|
-
version_requirements: *id004
|
84
|
-
- !ruby/object:Gem::Dependency
|
85
|
-
name: yard-cucumber
|
86
92
|
prerelease: false
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 2.9.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rspec-mocks
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 2.9.0
|
98
105
|
type: :development
|
99
|
-
version_requirements: *id005
|
100
|
-
- !ruby/object:Gem::Dependency
|
101
|
-
name: rspec
|
102
106
|
prerelease: false
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 2.9.0
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rb-fsevent
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: ruby_gntp
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: growl
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - '>='
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
114
147
|
type: :development
|
115
|
-
version_requirements: *id006
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
name: rspec-mocks
|
118
148
|
prerelease: false
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
name: yard-cucumber
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - '>='
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 2.1.1
|
130
161
|
type: :development
|
131
|
-
|
132
|
-
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - '>='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 2.1.1
|
168
|
+
- !ruby/object:Gem::Dependency
|
133
169
|
name: flog
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 2.5.0
|
175
|
+
type: :development
|
134
176
|
prerelease: false
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
hash: 27
|
141
|
-
segments:
|
142
|
-
- 2
|
143
|
-
- 5
|
144
|
-
- 0
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - '>='
|
180
|
+
- !ruby/object:Gem::Version
|
145
181
|
version: 2.5.0
|
182
|
+
- !ruby/object:Gem::Dependency
|
183
|
+
name: guard
|
184
|
+
requirement: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - '>='
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
146
189
|
type: :development
|
147
|
-
|
148
|
-
|
190
|
+
prerelease: false
|
191
|
+
version_requirements: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - '>='
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: '0'
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
name: guard-rspec
|
198
|
+
requirement: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - '>='
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '0'
|
203
|
+
type: :development
|
204
|
+
prerelease: false
|
205
|
+
version_requirements: !ruby/object:Gem::Requirement
|
206
|
+
requirements:
|
207
|
+
- - '>='
|
208
|
+
- !ruby/object:Gem::Version
|
209
|
+
version: '0'
|
210
|
+
- !ruby/object:Gem::Dependency
|
211
|
+
name: guard-cucumber
|
212
|
+
requirement: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - '>='
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
type: :development
|
218
|
+
prerelease: false
|
219
|
+
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - '>='
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
name: rspec-prof
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - '>='
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 0.0.3
|
231
|
+
type: :development
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - '>='
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: 0.0.3
|
238
|
+
- !ruby/object:Gem::Dependency
|
239
|
+
name: simplecov
|
240
|
+
requirement: !ruby/object:Gem::Requirement
|
241
|
+
requirements:
|
242
|
+
- - '>='
|
243
|
+
- !ruby/object:Gem::Version
|
244
|
+
version: 0.4.0
|
245
|
+
type: :development
|
246
|
+
prerelease: false
|
247
|
+
version_requirements: !ruby/object:Gem::Requirement
|
248
|
+
requirements:
|
249
|
+
- - '>='
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: 0.4.0
|
252
|
+
description: ' Indy is a log archaeology library that treats logs like data structures.
|
253
|
+
Search standard or custom log formats by field and/or time. '
|
149
254
|
email: brandon@faloona.net
|
150
255
|
executables: []
|
151
|
-
|
152
256
|
extensions: []
|
153
|
-
|
154
|
-
extra_rdoc_files:
|
257
|
+
extra_rdoc_files:
|
155
258
|
- README.md
|
156
259
|
- History.txt
|
157
|
-
files:
|
158
|
-
- .autotest
|
260
|
+
files:
|
159
261
|
- .gitignore
|
160
262
|
- .rspec
|
161
|
-
- .
|
263
|
+
- .travis.yml
|
162
264
|
- Gemfile
|
265
|
+
- Guardfile
|
163
266
|
- History.txt
|
164
267
|
- README.md
|
165
268
|
- Rakefile
|
166
|
-
- autotest/discover.rb
|
167
269
|
- cucumber.yml
|
168
270
|
- features/README.md
|
169
271
|
- features/after_time.feature
|
@@ -188,64 +290,58 @@ files:
|
|
188
290
|
- features/within_time.feature
|
189
291
|
- indy.gemspec
|
190
292
|
- lib/indy.rb
|
191
|
-
- lib/indy/formats.rb
|
192
293
|
- lib/indy/indy.rb
|
294
|
+
- lib/indy/log_definition.rb
|
193
295
|
- lib/indy/log_formats.rb
|
194
|
-
- lib/indy/
|
195
|
-
- lib/indy/result_set.rb
|
296
|
+
- lib/indy/search.rb
|
196
297
|
- lib/indy/source.rb
|
298
|
+
- lib/indy/time.rb
|
197
299
|
- lib/indy/version.rb
|
198
|
-
- lib/scanf.rb
|
199
300
|
- performance/helper.rb
|
200
301
|
- performance/profile_spec.rb
|
302
|
+
- performance/time_large_file_spec.rb
|
201
303
|
- spec/data.log
|
202
304
|
- spec/helper.rb
|
305
|
+
- spec/indy_private_spec.rb
|
203
306
|
- spec/indy_spec.rb
|
204
|
-
- spec/
|
307
|
+
- spec/indy_struct_spec.rb
|
308
|
+
- spec/log_definition_spec.rb
|
205
309
|
- spec/log_format_spec.rb
|
206
310
|
- spec/multiline.log
|
207
|
-
- spec/result_set_spec.rb
|
208
311
|
- spec/search_spec.rb
|
209
312
|
- spec/source_spec.rb
|
313
|
+
- spec/time_scope_spec.rb
|
210
314
|
- spec/time_spec.rb
|
211
315
|
- performance/large.log
|
212
|
-
has_rdoc: true
|
213
316
|
homepage: http://github.com/bfaloona/Indy
|
214
|
-
licenses:
|
317
|
+
licenses:
|
215
318
|
- MIT
|
216
|
-
|
217
|
-
|
319
|
+
metadata: {}
|
320
|
+
post_install_message: "\n [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>]
|
321
|
+
[<>] [<>] [<>] [<>]\n\n Thank you for installing Indy 0.4.0.pre / .\n\n Changes:\n
|
322
|
+
\ \n Please find examples at https://github.com/bfaloona/Indy#readme\n [<>]
|
323
|
+
[<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>] [<>]\n\n "
|
324
|
+
rdoc_options:
|
218
325
|
- --charset=UTF-8
|
219
|
-
require_paths:
|
326
|
+
require_paths:
|
220
327
|
- lib
|
221
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
hash: 61
|
227
|
-
segments:
|
228
|
-
- 1
|
229
|
-
- 8
|
230
|
-
- 5
|
328
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
329
|
+
requirements:
|
330
|
+
- - '>='
|
331
|
+
- !ruby/object:Gem::Version
|
231
332
|
version: 1.8.5
|
232
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
hash: 3
|
238
|
-
segments:
|
239
|
-
- 0
|
240
|
-
version: "0"
|
333
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
334
|
+
requirements:
|
335
|
+
- - '>'
|
336
|
+
- !ruby/object:Gem::Version
|
337
|
+
version: 1.3.1
|
241
338
|
requirements: []
|
242
|
-
|
243
339
|
rubyforge_project:
|
244
|
-
rubygems_version:
|
340
|
+
rubygems_version: 2.0.0
|
245
341
|
signing_key:
|
246
|
-
specification_version:
|
247
|
-
summary: indy-0.
|
248
|
-
test_files:
|
342
|
+
specification_version: 4
|
343
|
+
summary: indy-0.4.0.pre
|
344
|
+
test_files:
|
249
345
|
- features/README.md
|
250
346
|
- features/after_time.feature
|
251
347
|
- features/application.feature
|
@@ -270,13 +366,17 @@ test_files:
|
|
270
366
|
- performance/helper.rb
|
271
367
|
- performance/large.log
|
272
368
|
- performance/profile_spec.rb
|
369
|
+
- performance/time_large_file_spec.rb
|
273
370
|
- spec/data.log
|
274
371
|
- spec/helper.rb
|
372
|
+
- spec/indy_private_spec.rb
|
275
373
|
- spec/indy_spec.rb
|
276
|
-
- spec/
|
374
|
+
- spec/indy_struct_spec.rb
|
375
|
+
- spec/log_definition_spec.rb
|
277
376
|
- spec/log_format_spec.rb
|
278
377
|
- spec/multiline.log
|
279
|
-
- spec/result_set_spec.rb
|
280
378
|
- spec/search_spec.rb
|
281
379
|
- spec/source_spec.rb
|
380
|
+
- spec/time_scope_spec.rb
|
282
381
|
- spec/time_spec.rb
|
382
|
+
has_rdoc:
|