cassie-queries 0.0.1.a2 → 0.0.1.a3

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: 292e17b52cc92a211e404495ca0835bd2a3bb368
4
- data.tar.gz: edede8b8ef33b3625cba57ce64699ee11556ad86
3
+ metadata.gz: cb242e7d39178042db018afd756662c8fad3c97f
4
+ data.tar.gz: 635694c6fa09a3c33a4344a510a168f30f7395ff
5
5
  SHA512:
6
- metadata.gz: 813f15ce1672f5f0a7cfb3adced562b0ee94a2f3a4e523a048e5b6973d22d38562068059a1cbc53fc0353c24fd20a1685b9246b19a9e9c03a24cd01327e98f28
7
- data.tar.gz: b063aba0e91ef6bdb58bf68f732ec1bb5a490ffe37c63ac5b4c22f60e664c11fdf2a85ea787bc451fb3cf30d2d347e33a35f65929fa4b486932cf09821b8b3d7
6
+ metadata.gz: 2dcaa13edba2a7d1df4a6775efdf75671fc7782e2e8f3358748e2356acd17200098d6eeda84cb2d2b8774a4e15727d2220ea7b4397859a611713b16bc5a3af53
7
+ data.tar.gz: 6ee8cb5798723ecb6ca88133e07cdd7088bb6ea3558635db69b615e11644ba1c97a7a03b5d8e6f93422d198936d0d70d68d511f2ec1f2afda84ff12f29c5de4d
@@ -1,4 +1,4 @@
1
- module Cassie::Queries::LogSubscription
1
+ module Cassie::Queries::Logging
2
2
  class CqlExecutionEvent < ActiveSupport::Notifications::Event
3
3
 
4
4
  def duration # in milliseconds
@@ -0,0 +1,27 @@
1
+ module Cassie::Queries
2
+ module Logging
3
+
4
+ def self.logger
5
+ @logger ||= init_logger
6
+ end
7
+
8
+ def self.logger=(new_logger)
9
+ @logger = new_logger || Logger.new('/dev/null')
10
+ end
11
+
12
+ def self.init_logger(target = STDOUT)
13
+ previous_logger = @logger
14
+
15
+ @logger = Logger.new(target)
16
+ @logger.level = Logger::INFO
17
+ @logger.formatter = log_formatter
18
+
19
+ previous_logger.close if previous_logger
20
+ @logger
21
+ end
22
+
23
+ def self.log_formatter
24
+ ActiveSupport::Logger::SimpleFormatter.new
25
+ end
26
+ end
27
+ end
@@ -1,7 +1,7 @@
1
- require_relative 'log_subscription/cql_execution_event'
1
+ require_relative 'cql_execution_event'
2
2
 
3
- module Cassie::Queries
4
- module LogSubscription
3
+ module Cassie::Queries::Logging
4
+ module Subscription
5
5
  extend ::ActiveSupport::Concern
6
6
 
7
7
  included do
@@ -12,20 +12,11 @@ module Cassie::Queries
12
12
  # finish # => Time, when the instrumented block ended execution
13
13
  # id # => String, unique ID for this notification
14
14
  # payload # => Hash, the payload
15
+ # [:exception] => if raised during event
15
16
  unless args.last[:exception]
16
17
  logger.debug(CqlExecutionEvent.new(*args).message)
17
18
  end
18
19
  end
19
20
  end
20
-
21
- module ClassMethods
22
- def logger
23
- @logger ||= begin
24
- l = Logger.new(STDOUT)
25
- l.formatter = ActiveSupport::Logger::SimpleFormatter.new
26
- l
27
- end
28
- end
29
- end
30
21
  end
31
22
  end
@@ -0,0 +1,22 @@
1
+ require_relative 'logging/logger'
2
+ require_relative 'logging/subscription'
3
+
4
+ module Cassie::Queries
5
+ module Logging
6
+ extend ::ActiveSupport::Concern
7
+
8
+ included do
9
+ include Subscription
10
+ end
11
+
12
+ module ClassMethods
13
+ def logger
14
+ Cassie::Queries::Logging.logger
15
+ end
16
+ end
17
+
18
+ def logger
19
+ self.class.logger
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,3 @@
1
- require 'active_support/core_ext/string/filters'
2
-
3
1
  module Cassie::Queries
4
2
  module PreparedStatement
5
3
  extend ::ActiveSupport::Concern
data/lib/cassie/query.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  module Cassie
2
- # think about ActiveSupport autoloading
2
+ require 'cassandra'
3
3
  require_relative 'queries/session'
4
4
  require_relative 'queries/statement'
5
5
  require_relative 'queries/prepared_statement'
6
6
  require_relative 'queries/instrumentation'
7
- require_relative 'queries/log_subscription'
7
+ require_relative 'queries/logging'
8
8
 
9
9
  class Query
10
10
  include Queries::Session
11
11
  include Queries::Statement
12
12
  include Queries::PreparedStatement
13
13
  include Queries::Instrumentation
14
- include Queries::LogSubscription
14
+ include Queries::Logging
15
15
  end
16
16
  end
@@ -1,6 +1,16 @@
1
+ # Active Support used for
2
+ # * include convenience via ActiveSupport::Concern
3
+ # * string extensions
4
+ # * notification pub/sub
5
+ # * log formatting
6
+ #
7
+ # We require/autoload extensions only as needed,
8
+ # this base require has almost no overhead
9
+ #
10
+ # http://guides.rubyonrails.org/active_support_core_extensions.html
1
11
  require 'active_support'
2
12
 
3
- # cassie directory instead of cassie_queries
13
+ # Use cassie directory instead of cassie-queries
4
14
  # to allow sharing of cassie module with other libraries
5
15
  # but maintain folder/file/module/class naming conventions
6
16
  require_relative 'cassie/query'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassie-queries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.a2
4
+ version: 0.0.1.a3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Prothro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-09 00:00:00.000000000 Z
11
+ date: 2015-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cassandra-driver
@@ -74,8 +74,10 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - lib/cassie/queries/instrumentation.rb
77
- - lib/cassie/queries/log_subscription/cql_execution_event.rb
78
- - lib/cassie/queries/log_subscription.rb
77
+ - lib/cassie/queries/logging/cql_execution_event.rb
78
+ - lib/cassie/queries/logging/logger.rb
79
+ - lib/cassie/queries/logging/subscription.rb
80
+ - lib/cassie/queries/logging.rb
79
81
  - lib/cassie/queries/prepared_statement.rb
80
82
  - lib/cassie/queries/session.rb
81
83
  - lib/cassie/queries/statement.rb