mongo_request_logger 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10ab543ab4fed5e432099b38ce6c32bc3e745aa0
4
- data.tar.gz: b202b63d0c93bd20baea08a806f3325bdd1114c6
3
+ metadata.gz: d80368aaa66825e64d487fda42dfc49971405c93
4
+ data.tar.gz: ce9c93717c84a69b8146e5a453f70532a59ce85b
5
5
  SHA512:
6
- metadata.gz: a7a24b97466f0803cd2ff95a180ff122fbc82bd646e39c381f65e7ecf15bfdac68a328b2f9ac029bb496c415d4d3ae0a391674a0c4a0de1c501aada5529bdeeb
7
- data.tar.gz: 1f591f39c0926808a0f1308fda972968e54798a24226bc6b1a7901e33eba9dc13f90a5725d7fcf34d4da29562744a1abadfdb5f110e115e911b82282d8efb497
6
+ metadata.gz: ca4cd287d1f02f26ceb3f643915316e4c8de84968122c193fca25274330f4059b5f51e8e6a8838ee9df199fd26b1d1fc89d6590584f789eb7b7dfe69573daa92
7
+ data.tar.gz: 06addefe92b727a9594303885a80565b3bdc116bf3869e0cc13fce10469233ac371a2674a19f3b2106a08cd339439e146177ed21b2713294d5d7d6fc3e510081
@@ -1,8 +1,14 @@
1
+ ## 0.7.0
2
+
3
+ *Backwards incompatible!*
4
+
5
+ * Deprecate Mongoid 4 support in favour of Mongoid 5
6
+
1
7
  ## 0.6.0
2
8
 
3
9
  *Backwards incompatible!*
4
10
 
5
- * Replace Moped with the official Mongo Ruby Driver, while retaining support for the mongoid configuration file.
11
+ * Replace Moped with the official Mongo Ruby Driver, while retaining support for the Mongoid 4 configuration file.
6
12
 
7
13
  ## 0.5.0
8
14
 
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'mongo', '~> 2.0'
4
- gem 'mongoid', '~> 4.0'
3
+ gem 'mongo', '~> 2.2'
4
+ gem 'mongoid', '~> 5.1'
5
5
  gem 'rspec'
6
6
  gem 'sinatra', '~> 1.4.0'
7
7
 
data/README.md CHANGED
@@ -6,7 +6,7 @@ Log requests in a structured format to MongoDB.
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'mongoid', '~> 4.0'
9
+ gem 'mongoid', '~> 5.1'
10
10
  gem 'mongo_request_logger'
11
11
 
12
12
  ## Usage with Rails 4
@@ -17,7 +17,7 @@ Add a `logger` session to your Mongoid config, `config/mongoid.yml`. An addition
17
17
  Example:
18
18
 
19
19
  development:
20
- sessions:
20
+ clients:
21
21
  logger:
22
22
  database: your_log_db
23
23
  hosts:
@@ -25,8 +25,10 @@ Example:
25
25
  - host2:27017
26
26
  - host3:27017
27
27
  options:
28
- safe: false
29
- consistency: eventual
28
+ write:
29
+ w: 0
30
+ read:
31
+ mode: :secondary
30
32
  capsize: 1000 # MB
31
33
 
32
34
  Routes for log viewer
@@ -1,8 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'mongo', '~> 2.0'
4
- gem 'moped', '~> 2.0'
5
- gem 'mongoid', '~> 4.0'
3
+ gem 'mongo', '~> 2.2'
4
+ gem 'mongoid', '~> 5.1'
6
5
  gem 'rspec'
7
6
  gem 'rails', '~> 4.2'
8
7
  gem 'sinatra', '~> 1.3.2'
@@ -1,8 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'mongo', '~> 2.0'
4
- gem 'moped', '~> 2.0'
5
- gem 'mongoid', '~> 4.0'
3
+ gem 'mongo', '~> 2.2'
4
+ gem 'mongoid', '~> 5.1'
6
5
  gem 'rspec'
7
6
  gem 'sinatra', '~> 1.4.0'
8
7
 
@@ -12,7 +12,6 @@ require 'mongoid'
12
12
 
13
13
  require 'mongo'
14
14
  require_relative './mongo_request_logger/adapters/mongo.rb'
15
- require_relative './mongo_request_logger/mongoid_config.rb'
16
15
 
17
16
 
18
17
  module MongoRequestLogger
@@ -27,9 +26,9 @@ module MongoRequestLogger
27
26
 
28
27
  environment = ENV['RACK_ENV'] || ENV['RAILS_ENV']
29
28
 
30
- session = MongoidConfig.clients[:logger]
29
+ session = Mongoid.client(:logger)
31
30
  if session
32
- log_config = MongoidConfig.clients.config[:logger][:options].with_indifferent_access
31
+ log_config = Mongoid.clients[:logger][:options].with_indifferent_access
33
32
 
34
33
  fallback_log = options[:fallback_log] || log_config['fallback_log'] || "log/#{environment}.log"
35
34
 
@@ -1,3 +1,3 @@
1
1
  module MongoRequestLogger
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  test:
2
- sessions:
2
+ clients:
3
3
  default:
4
4
  database: request_logger_test_dummy
5
5
  hosts:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_request_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Embark Mobile
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-04 00:00:00.000000000 Z
11
+ date: 2016-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -384,7 +384,6 @@ files:
384
384
  - lib/mongo_request_logger/logged_job.rb
385
385
  - lib/mongo_request_logger/logger.rb
386
386
  - lib/mongo_request_logger/logger_extensions.rb
387
- - lib/mongo_request_logger/mongoid_config.rb
388
387
  - lib/mongo_request_logger/rack.rb
389
388
  - lib/mongo_request_logger/railtie.rb
390
389
  - lib/mongo_request_logger/search_terms.rb
@@ -399,11 +398,6 @@ files:
399
398
  - spec/rails_spec.rb
400
399
  - spec/shared_examples.rb
401
400
  - spec/spec_helper.rb
402
- - spec/testapp/app.rb
403
- - spec/testapp/config.ru
404
- - spec/testapp/config/logger.yml
405
- - spec/testapp/log/.gitignore
406
- - spec/testapp/log/.gitkeep
407
401
  - views/index.erb
408
402
  homepage: ''
409
403
  licenses: []
@@ -437,8 +431,3 @@ test_files:
437
431
  - spec/rails_spec.rb
438
432
  - spec/shared_examples.rb
439
433
  - spec/spec_helper.rb
440
- - spec/testapp/app.rb
441
- - spec/testapp/config.ru
442
- - spec/testapp/config/logger.yml
443
- - spec/testapp/log/.gitignore
444
- - spec/testapp/log/.gitkeep
@@ -1,95 +0,0 @@
1
- module MongoRequestLogger
2
- # Directly parse the mongoig.yml config and present accessors similar to Mongoid 5.
3
- # TODO: to be replaced by the Mongoid 5 default behaviour
4
- module MongoidConfig
5
- def self.clients
6
- @clients ||= ClientMap.new
7
- end
8
-
9
- class ClientMap
10
- attr_reader :config
11
-
12
- def initialize
13
- @clients = HashWithIndifferentAccess.new
14
- config_file = Rails.root.join("config", "mongoid.yml")
15
- @config = Environment.load_yaml(config_file).with_indifferent_access
16
- @config = @config[:sessions]
17
- @config = @config.with_indifferent_access
18
- end
19
-
20
- def [] key
21
- config = @config[key]
22
- raise Mongoid::Errors::NoSessionConfig.new(key) unless config
23
- @clients[key] ||= ClientFactory.create(config)
24
- end
25
- end
26
-
27
- class ClientFactory
28
- def self.create configuration
29
- raise unless configuration
30
- if configuration[:uri]
31
- Mongo::Client.new(configuration[:uri], options(configuration))
32
- else
33
- opts = options(configuration).merge(database: configuration[:database])
34
- opts = opts.merge(credentials(configuration))
35
- Mongo::Client.new(configuration[:hosts], opts)
36
- end
37
- end
38
-
39
- private
40
-
41
- def self.options(configuration)
42
- config = configuration.dup
43
- options = config.delete(:options) || {}
44
- options.reject{ |k, v| k == :hosts }.to_hash.symbolize_keys!
45
- end
46
-
47
- def self.credentials(configuration)
48
- details = {}
49
- details[:user] = configuration[:username] unless configuration[:username].nil?
50
- details[:password] = configuration[:password] unless configuration[:password].nil?
51
- details
52
- end
53
- end
54
-
55
- class NoEnvironment < RuntimeError; end
56
- # Encapsulates logic for getting environment information.
57
- module Environment
58
- extend self
59
-
60
- # Get the name of the environment that we are running under. This first
61
- # looks for Rails, then Sinatra, then a RACK_ENV environment variable,
62
- # and if none of those are found raises an error.
63
- #
64
- # @example Get the env name.
65
- # Environment.env_name
66
- #
67
- # @raise [ Errors::NoEnvironment ] If no environment was set.
68
- #
69
- # @return [ String ] The name of the current environment.
70
- #
71
- # @since 2.3.0
72
- def env_name
73
- return Rails.env if defined?(Rails) && Rails.respond_to?(:env)
74
- return Sinatra::Base.environment.to_s if defined?(Sinatra)
75
- ENV["RACK_ENV"] || ENV["MONGOID_ENV"] || raise(NoEnvironment.new)
76
- end
77
-
78
- # Load the yaml from the provided path and return the settings for the
79
- # current environment.
80
- #
81
- # @example Load the yaml.
82
- # Environment.load_yaml("/work/mongoid.yml")
83
- #
84
- # @param [ String ] path The location of the file.
85
- #
86
- # @return [ Hash ] The settings.
87
- #
88
- # @since 2.3.0
89
- def load_yaml(path, environment = nil)
90
- env = environment ? environment.to_s : env_name
91
- YAML.load(ERB.new(File.new(path).read).result)[env]
92
- end
93
- end
94
- end
95
- end
@@ -1,14 +0,0 @@
1
- require 'sinatra/base'
2
-
3
- class SinatraApp < Sinatra::Base
4
- # This prevents Sinatra from using the default logger.
5
- set :logging, nil
6
-
7
- get '/' do
8
- puts logger.class.name
9
- logger.debug 'Logging from Sinatra!'
10
-
11
- "Log test on Sinatra #{Sinatra::VERSION}"
12
- end
13
- end
14
-
@@ -1,21 +0,0 @@
1
- require 'rack/builder'
2
- require 'mongo_request_logger'
3
- require './app'
4
- require 'rack/cascade'
5
-
6
- app = Rack::Builder.new do
7
- use Rack::Session::Cookie, secret: 'phungah1Geik8Eeth4Eezoh0aj1naeV2oiroh4EZe6Ulei1ohdooxae8cu0amake'
8
-
9
- MongoRequestLogger.configure(File.join(File.dirname(__FILE__), 'config/logger.yml'))
10
- use MongoRequestLogger::Rack
11
-
12
- map "/log" do
13
- run MongoRequestLogger::Viewer.new
14
- end
15
-
16
- map "/" do
17
- run SinatraApp.new
18
- end
19
- end
20
-
21
- run app
@@ -1,6 +0,0 @@
1
- test:
2
- host: localhost
3
- database: request_logger_test
4
- username: request_logger_test
5
- password: test_password
6
- capsize: 1024
@@ -1 +0,0 @@
1
- *.log
File without changes