ruby_loggly 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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.1"
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
- def initialize(options)
6
- @uri = options[:uri]
7
- @user = options[:user]
8
- @pass = options[:pass]
9
- @key = options[:key]
10
- end
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
- def log(log_data)
13
- RestClient.post("https://logs.loggly.com/inputs/#{@key}", log_data)
14
- end
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
- def search(query)
17
- RestClient.get("https://#{@uri}/api/search", {:params => {:q => query}})
18
- end
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
@@ -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
+
@@ -2,54 +2,92 @@ require 'spec_helper'
2
2
 
3
3
  describe Loggly do
4
4
 
5
- before(:all) do
6
- @test_uri = 'example.loggly.com'
7
- @test_user = 'user'
8
- @test_pass = 'pass'
9
- @test_key = '123456'
10
- @loggly = Loggly.new(
11
- :uri => @test_uri,
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
- end
23
-
24
- it "should generate an appropriate RestClient GET" do
25
- search_string = "search string"
26
- RestClient.should_receive(:get).with(@test_uri, {:params => {:q => search_string}})
27
- @loggly.search("search string")
28
- end
29
- end
30
-
31
- describe "#log" do
32
-
33
- before(:each) do
34
- RestClient.stub!(:post)
35
- end
36
-
37
- it "should generate an appropriate RestClient POST with a raw payload" do
38
- log_string = "this is a test log"
39
- RestClient.should_receive(:post).with(
40
- "https://logs.loggly.com/inputs/%s" % @test_key,
41
- log_string
42
- )
43
- @loggly.log(log_string)
44
- end
45
-
46
- it "should generate an appropriate RestClient POST with parameters" do
47
- log_parameters = { :time => 123456, :type => 'foo', :logger => 'bar' }
48
- RestClient.should_receive(:post).with(
49
- "https://logs.loggly.com/inputs/%s" % @test_key,
50
- log_parameters
51
- )
52
- @loggly.log(log_parameters)
53
- end
54
- end
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.1
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-07-29 00:00:00.000000000Z
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: &27576864 !ruby/object:Gem::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: *27576864
24
+ version_requirements: *26754528
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &27576540 !ruby/object:Gem::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: *27576540
35
+ version_requirements: *26754168
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &27576252 !ruby/object:Gem::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: *27576252
46
+ version_requirements: *26753880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &27575952 !ruby/object:Gem::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: *27575952
57
+ version_requirements: *26753520
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &27575664 !ruby/object:Gem::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: *27575664
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: -721368077
102
+ hash: 273334035
102
103
  required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  none: false
104
105
  requirements: