lumberjack-couchdb-driver 0.0.1

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.
@@ -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: []