lumberjack-couchdb-driver 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,36 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rubygems/package_task'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'RVM likes to call it tests'
9
+ task :tests => :test
10
+
11
+ begin
12
+ require 'rspec'
13
+ require 'rspec/core/rake_task'
14
+ desc 'Run the unit tests'
15
+ RSpec::Core::RakeTask.new(:test)
16
+ rescue LoadError
17
+ task :test do
18
+ STDERR.puts "You must have rspec 2.0 installed to run the tests"
19
+ end
20
+ end
21
+
22
+ spec_file = File.expand_path('../lumberjack-couchdb-driver.gemspec', __FILE__)
23
+ if File.exist?(spec_file)
24
+ spec = eval(File.read(spec_file))
25
+
26
+ Gem::PackageTask.new(spec) do |p|
27
+ p.gem_spec = spec
28
+ end
29
+
30
+ desc "Release to rubygems.org"
31
+ task :release => :package do
32
+ require 'rake/gemcutter'
33
+ Rake::Gemcutter::Tasks.new(spec).define
34
+ Rake::Task['gem:push'].invoke
35
+ end
36
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,21 @@
1
+ require 'couchrest'
2
+ require 'zucker/extensions'
3
+
4
+ module Lumberjack
5
+ class Device
6
+ class Couchdb < Device
7
+
8
+ attr_reader :db
9
+
10
+ def initialize(url,options = {})
11
+ server = CouchRest.new(url)
12
+ @db = server.database!(options[:db])
13
+ end
14
+
15
+ def write(entry)
16
+ hash = entry.instance_variables.mash {|v| [v[1..-1],entry.instance_variable_get(v)]}
17
+ @db.save_doc(hash)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'lumberjack'
3
+ require 'lumberjack/couchdb'
4
+ require 'rocking_chair'
5
+
6
+ RockingChair.enable
7
+
8
+ describe Lumberjack::Device::Couchdb do
9
+
10
+ before(:all) do
11
+ RockingChair::Server.reset
12
+ @device = Lumberjack::Device::Couchdb.new('http://127.0.0.1:5984',:db => 'dummy-log')
13
+ end
14
+
15
+ it "should write to db" do
16
+ @device.write(Lumberjack::LogEntry.new(Time.now, 1, "Hello world!", nil, $$, nil))
17
+ id = @device.db.documents['rows'].first()['id']
18
+ @device.db.get(id)['message'].should == "Hello world!"
19
+ end
20
+
21
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lumberjack-couchdb-driver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - narkisr
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-09-13 00:00:00.000000000 +03:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: zucker
17
+ requirement: &8032540 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *8032540
26
+ - !ruby/object:Gem::Dependency
27
+ name: couchrest
28
+ requirement: &8032060 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *8032060
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ requirement: &8031400 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *8031400
48
+ - !ruby/object:Gem::Dependency
49
+ name: lumberjack
50
+ requirement: &8030820 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *8030820
59
+ - !ruby/object:Gem::Dependency
60
+ name: rocking_chair
61
+ requirement: &8030240 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *8030240
70
+ description: A Couchdb driver for the lumberjack logging gem.
71
+ email:
72
+ - narkisr@gmail.com
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - VERSION
78
+ - Rakefile
79
+ - lib/lumberjack/couchdb.rb
80
+ - spec/device/couchdb_spec.rb
81
+ has_rdoc: true
82
+ homepage: http://github.com/narkisr/lumberjack-couchdb-driver
83
+ licenses: []
84
+ post_install_message:
85
+ rdoc_options: []
86
+ require_paths:
87
+ - lib
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 1.6.2
103
+ signing_key:
104
+ specification_version: 3
105
+ summary: Couchdb driver for lumberjack
106
+ test_files: []