cassie-queries 0.0.1.a2 → 0.0.1.a3

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