dracarys 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.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/dracarys.gemspec +19 -0
- data/lib/dracarys.rb +43 -0
- data/lib/dracarys/middleware.rb +12 -0
- data/lib/dracarys/railtie.rb +11 -0
- data/lib/dracarys/version.rb +3 -0
- metadata +78 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: aab02827a6e944ef5134b32a9ea2171ac9556a67
|
|
4
|
+
data.tar.gz: b4b6f80c0fab42f196156631c5df59454565098b
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 2df4fdb3499bf282f2abfbe0565ba25a098eb55861ea8a5154469054af3aeb95c59edcde9288f027c4468ff5e0ec8feb58a8e0caa3b3e853c5b4e36b5f2be3b5
|
|
7
|
+
data.tar.gz: 19549065eab9b7192b9f3ec943435089b3ca9db6843d9331ddd39c574a68853bb13f14221e39957d51c3748f268329626b4cec96e4a6e449af327ada26293b37
|
data/.gitignore
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
|
2
|
+
#
|
|
3
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
|
4
|
+
# or operating system, you probably want to add a global ignore instead:
|
|
5
|
+
# git config --global core.excludesfile ~/.gitignore_global
|
|
6
|
+
|
|
7
|
+
# Ignore bundler config
|
|
8
|
+
/.bundle
|
|
9
|
+
|
|
10
|
+
# Ignore all logfiles and tempfiles.
|
|
11
|
+
*~
|
|
12
|
+
.#*
|
|
13
|
+
#*
|
|
14
|
+
.DS_Store
|
|
15
|
+
._.DS_Store
|
|
16
|
+
._*
|
|
17
|
+
*.fuse_hidden*
|
|
18
|
+
Gemfile.lock
|
|
19
|
+
.yardoc/
|
|
20
|
+
Thumbs.db
|
|
21
|
+
.ruby-version
|
|
22
|
+
*.gem
|
data/dracarys.gemspec
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'dracarys/version'
|
|
5
|
+
Gem::Specification.new do |gem|
|
|
6
|
+
gem.name = "dracarys"
|
|
7
|
+
gem.version = Dracarys::VERSION
|
|
8
|
+
gem.authors = ["Shiv Deepak"]
|
|
9
|
+
gem.email = ["shiv@hackerrank.com"]
|
|
10
|
+
gem.description = %q{Rails middleware for reporting breakpoints with timestamps.}
|
|
11
|
+
gem.summary = %q{Rails middleware for reporting breakpoints with timestamps.}
|
|
12
|
+
gem.homepage = "http://github.com/interviewstreet/dracarys"
|
|
13
|
+
gem.files = `git ls-files`.split($/)
|
|
14
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
15
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
16
|
+
gem.require_paths = ["lib"]
|
|
17
|
+
gem.add_development_dependency "rake"
|
|
18
|
+
gem.add_development_dependency "minitest", "~> 5.0"
|
|
19
|
+
end
|
data/lib/dracarys.rb
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require "dracarys/version"
|
|
2
|
+
require "dracarys/middleware"
|
|
3
|
+
require "dracarys/railtie" if defined?(Rails::Railtie)
|
|
4
|
+
|
|
5
|
+
module Dracarys
|
|
6
|
+
def self.store
|
|
7
|
+
Thread.current[:dracarys] ||= []
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.init!
|
|
11
|
+
teardown!
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.clear!
|
|
15
|
+
Thread.current[:dracarys] = []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def self.push(breakpoint)
|
|
19
|
+
store << [breakpoint, Time.now.utc.to_i]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.get_request_uid
|
|
23
|
+
@request_uid ||= (defined? $request_uid) ? $request_uid : gen_request_uid
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.clear_request_uid
|
|
27
|
+
@request_uid = nil
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def gen_request_uid
|
|
31
|
+
(rand(100).to_s + Time.now.to_i.to_s).to_i.to_s(30)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.dump!
|
|
35
|
+
store.dup
|
|
36
|
+
teardown!
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.teardown!
|
|
40
|
+
clear!
|
|
41
|
+
clear_request_uid
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module Dracarys
|
|
2
|
+
class Railtie < ::Rails::Railtie
|
|
3
|
+
initializer "dracarys.insert_middleware" do |app|
|
|
4
|
+
if ActionDispatch.const_defined? :RequestId
|
|
5
|
+
app.config.middleware.insert_after ActionDispatch::RequestId, Dracarys::Middleware
|
|
6
|
+
else
|
|
7
|
+
app.config.middleware.insert_after Rack::MethodOverride, Dracarys::Middleware
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: dracarys
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Shiv Deepak
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2014-12-16 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rake
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: minitest
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '5.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '5.0'
|
|
41
|
+
description: Rails middleware for reporting breakpoints with timestamps.
|
|
42
|
+
email:
|
|
43
|
+
- shiv@hackerrank.com
|
|
44
|
+
executables: []
|
|
45
|
+
extensions: []
|
|
46
|
+
extra_rdoc_files: []
|
|
47
|
+
files:
|
|
48
|
+
- ".gitignore"
|
|
49
|
+
- dracarys.gemspec
|
|
50
|
+
- lib/dracarys.rb
|
|
51
|
+
- lib/dracarys/middleware.rb
|
|
52
|
+
- lib/dracarys/railtie.rb
|
|
53
|
+
- lib/dracarys/version.rb
|
|
54
|
+
homepage: http://github.com/interviewstreet/dracarys
|
|
55
|
+
licenses: []
|
|
56
|
+
metadata: {}
|
|
57
|
+
post_install_message:
|
|
58
|
+
rdoc_options: []
|
|
59
|
+
require_paths:
|
|
60
|
+
- lib
|
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
62
|
+
requirements:
|
|
63
|
+
- - ">="
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: '0'
|
|
66
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
|
+
requirements:
|
|
68
|
+
- - ">="
|
|
69
|
+
- !ruby/object:Gem::Version
|
|
70
|
+
version: '0'
|
|
71
|
+
requirements: []
|
|
72
|
+
rubyforge_project:
|
|
73
|
+
rubygems_version: 2.4.3
|
|
74
|
+
signing_key:
|
|
75
|
+
specification_version: 4
|
|
76
|
+
summary: Rails middleware for reporting breakpoints with timestamps.
|
|
77
|
+
test_files: []
|
|
78
|
+
has_rdoc:
|