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 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: