ruby_loggly 0.0.1 → 0.0.2
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/Rakefile +1 -1
- data/lib/ruby_loggly.rb +15 -12
- data/ruby_loggly.gemspec +61 -0
- data/spec/ruby_loggly_spec.rb +88 -50
- metadata +14 -13
data/Rakefile
CHANGED
@@ -21,7 +21,7 @@ Jeweler::Tasks.new do |gem|
|
|
21
21
|
gem.description ="A simple Ruby interface to the Loggly API"
|
22
22
|
gem.email = "mitchellryanj@gmail.com"
|
23
23
|
gem.authors = ["Ryan Mitchell"]
|
24
|
-
gem.version = "0.0.
|
24
|
+
gem.version = "0.0.2"
|
25
25
|
# dependencies defined in Gemfile
|
26
26
|
end
|
27
27
|
Jeweler::RubygemsDotOrgTasks.new
|
data/lib/ruby_loggly.rb
CHANGED
@@ -2,19 +2,22 @@ require 'rest_client'
|
|
2
2
|
|
3
3
|
class Loggly
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
def initialize(options)
|
6
|
+
@subdomain = options[:subdomain]
|
7
|
+
@user = options[:user]
|
8
|
+
@pass = options[:pass]
|
9
|
+
@key = options[:key]
|
10
|
+
@ec2 = options[:ec2] ||= false
|
11
|
+
end
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
def log(log_data)
|
14
|
+
ec2flag = @ec2 ? 'ec2.' : ''
|
15
|
+
RestClient.post("https://#{ec2flag}logs.loggly.com/inputs/#{@key}", log_data)
|
16
|
+
end
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
def search(query)
|
19
|
+
response = RestClient.get("https://#{@user}:#{@pass}@#{@subdomain}.loggly.com/api/search", {:params => {:q => query}})
|
20
|
+
yield response.to_str if block_given?
|
21
|
+
end
|
19
22
|
|
20
23
|
end
|
data/ruby_loggly.gemspec
ADDED
@@ -0,0 +1,61 @@
|
|
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{ruby_loggly}
|
8
|
+
s.version = "0.0.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Ryan Mitchell"]
|
12
|
+
s.date = %q{2011-08-10}
|
13
|
+
s.description = %q{A simple Ruby interface to the Loggly API}
|
14
|
+
s.email = %q{mitchellryanj@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".rspec",
|
22
|
+
"Gemfile",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"lib/ruby_loggly.rb",
|
27
|
+
"ruby_loggly.gemspec",
|
28
|
+
"spec/ruby_loggly_spec.rb",
|
29
|
+
"spec/spec_helper.rb"
|
30
|
+
]
|
31
|
+
s.homepage = %q{http://github.com/mitchel456/ruby_loggly}
|
32
|
+
s.licenses = ["MIT"]
|
33
|
+
s.require_paths = ["lib"]
|
34
|
+
s.rubygems_version = %q{1.7.2}
|
35
|
+
s.summary = %q{Simple Ruby interface to Loggly}
|
36
|
+
|
37
|
+
if s.respond_to? :specification_version then
|
38
|
+
s.specification_version = 3
|
39
|
+
|
40
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
41
|
+
s.add_runtime_dependency(%q<rest-client>, [">= 1.6.3"])
|
42
|
+
s.add_development_dependency(%q<rspec>, ["> 2.3.0"])
|
43
|
+
s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
|
44
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.6.4"])
|
45
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
46
|
+
else
|
47
|
+
s.add_dependency(%q<rest-client>, [">= 1.6.3"])
|
48
|
+
s.add_dependency(%q<rspec>, ["> 2.3.0"])
|
49
|
+
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
50
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
51
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
52
|
+
end
|
53
|
+
else
|
54
|
+
s.add_dependency(%q<rest-client>, [">= 1.6.3"])
|
55
|
+
s.add_dependency(%q<rspec>, ["> 2.3.0"])
|
56
|
+
s.add_dependency(%q<bundler>, ["> 1.0.0"])
|
57
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
58
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
data/spec/ruby_loggly_spec.rb
CHANGED
@@ -2,54 +2,92 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Loggly do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
5
|
+
before(:all) do
|
6
|
+
@test_subdomain = 'example'
|
7
|
+
@test_user = 'user'
|
8
|
+
@test_pass = 'pass'
|
9
|
+
@test_key = '123456'
|
10
|
+
@loggly = Loggly.new(
|
11
|
+
:subdomain => @test_subdomain,
|
12
|
+
:user => @test_user,
|
13
|
+
:pass => @test_pass,
|
14
|
+
:key => @test_key
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#search" do
|
19
|
+
|
20
|
+
before(:each) do
|
21
|
+
RestClient.stub!(:get)
|
22
|
+
Kernel.stub!(:print)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should generate an appropriate RestClient GET" do
|
26
|
+
|
27
|
+
search_string = "search string"
|
28
|
+
RestClient.should_receive(:get).with(
|
29
|
+
"https://#{@test_user}:#{@test_pass}@#{@test_subdomain}.loggly.com/api/search",
|
30
|
+
{:params => {:q => search_string}}
|
31
|
+
)
|
32
|
+
|
33
|
+
@loggly.search(search_string)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should execute the callback if one is provided" do
|
37
|
+
|
38
|
+
Kernel.should_receive(:print).with('return data')
|
39
|
+
RestClient.should_receive(:get).and_return('return data')
|
40
|
+
|
41
|
+
@loggly.search('anything') do |data|
|
42
|
+
Kernel.print data
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "#log" do
|
48
|
+
|
49
|
+
before(:each) do
|
50
|
+
RestClient.stub!(:post)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should generate an appropriate RestClient POST with a raw payload" do
|
54
|
+
|
55
|
+
log_string = "this is a test log"
|
56
|
+
RestClient.should_receive(:post).with(
|
57
|
+
"https://logs.loggly.com/inputs/%s" % @test_key,
|
58
|
+
log_string
|
59
|
+
)
|
60
|
+
|
61
|
+
@loggly.log(log_string)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should generate an appropriate RestClient POST with parameters" do
|
65
|
+
|
66
|
+
log_parameters = { :time => 123456, :type => 'foo', :logger => 'bar' }
|
67
|
+
RestClient.should_receive(:post).with(
|
68
|
+
"https://logs.loggly.com/inputs/%s" % @test_key,
|
69
|
+
log_parameters
|
70
|
+
)
|
71
|
+
|
72
|
+
@loggly.log(log_parameters)
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should use the EC2 host if the EC2 flag is set" do
|
76
|
+
|
77
|
+
log_string = "this is a test log"
|
78
|
+
ec2logger = Loggly.new(
|
79
|
+
:subdomain => @test_subdomain,
|
80
|
+
:user => @test_user,
|
81
|
+
:pass => @test_pass,
|
82
|
+
:key => @test_key,
|
83
|
+
:ec2 => true
|
84
|
+
)
|
85
|
+
RestClient.should_receive(:post).with(
|
86
|
+
"https://ec2.logs.loggly.com/inputs/%s" % @test_key,
|
87
|
+
log_string
|
88
|
+
)
|
89
|
+
|
90
|
+
ec2logger.log(log_string)
|
91
|
+
end
|
92
|
+
end
|
55
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_loggly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-08-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
16
|
-
requirement: &
|
16
|
+
requirement: &26754528 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.6.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *26754528
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &26754168 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>'
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.3.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *26754168
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &26753880 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>'
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *26753880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &26753520 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *26753520
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &26753160 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *26753160
|
69
69
|
description: A simple Ruby interface to the Loggly API
|
70
70
|
email: mitchellryanj@gmail.com
|
71
71
|
executables: []
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- README.rdoc
|
82
82
|
- Rakefile
|
83
83
|
- lib/ruby_loggly.rb
|
84
|
+
- ruby_loggly.gemspec
|
84
85
|
- spec/ruby_loggly_spec.rb
|
85
86
|
- spec/spec_helper.rb
|
86
87
|
homepage: http://github.com/mitchel456/ruby_loggly
|
@@ -98,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
98
99
|
version: '0'
|
99
100
|
segments:
|
100
101
|
- 0
|
101
|
-
hash:
|
102
|
+
hash: 273334035
|
102
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
104
|
none: false
|
104
105
|
requirements:
|