debugged-ruby 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,15 @@
1
+ require File.expand_path('../lib/debugged-ruby/version', __FILE__)
2
+ Gem::Specification.new do |g|
3
+ g.name = 'debugged-ruby'
4
+ g.version = Debugged::VERSION
5
+ g.authors = ["henkem"]
6
+ g.summary = 'Ruby debugged'
7
+ g.description = 'Ruby debugged'
8
+ g.email = 'mitchh23@gmail.com'
9
+ g.files = Dir['lib/**/*'] + Dir['spec/**/*'] + Dir['spec/**/*'] + Dir['rails/**/*'] + Dir['tasks/**/*'] + Dir['*.rb'] + ["debugged-ruby.gemspec"]
10
+ g.homepage = 'http://www.debugged.io'
11
+ g.require_paths = ["lib"]
12
+ #gem.rubyforge_project = ''
13
+ g.requirements << "json_pure, json-jruby or json gem required"
14
+ #gem.add_dependency 'rack'
15
+ end
@@ -0,0 +1,72 @@
1
+ require 'debugged-ruby/config'
2
+ require 'debugged-ruby/version'
3
+ require 'json'
4
+ require 'digest/sha1'
5
+ require 'httpclient'
6
+ require 'net/http'
7
+
8
+ module Debugged
9
+ @@api_key = nil
10
+
11
+ def self.api_key=(api_key)
12
+ puts 'SOUNDS LEGIT TO ME'
13
+ @@api_key = api_key
14
+ end
15
+
16
+ def self.api_key
17
+ @@api_key
18
+ end
19
+
20
+ def self.report(name, data, e)
21
+
22
+ unless data.is_a? Hash
23
+ #Log this
24
+ raise ArgumentError, 'Data argument is not Hash'
25
+ end
26
+
27
+ unless name.is_a? String
28
+ #Log this
29
+ raise ArgumentError, 'Name argument is not String'
30
+ end
31
+
32
+ name ||= ""
33
+ data ||= ""
34
+
35
+ time = Time.now.utc.to_i
36
+ hash = Digest::SHA1.base64digest @@api_key.to_s+name+"ruby"+time.to_s
37
+
38
+ report =
39
+ {
40
+ "created_at" => time,
41
+ "identifier" => hash,
42
+ "exception_name" => name,
43
+ "sdk_version" => "ruby",
44
+ "stack_trace" => e.backtrace.join("\n"),
45
+ "message" => e.message,
46
+ "line_number" => e.backtrace[0].split(":").last.to_i,
47
+ "character_number" => -1,
48
+ "filename" => e.backtrace[0].split("/").last.split(":").first,
49
+ "user_custom_data" => data,
50
+ "sdk_data" => {"ruby_version" => RUBY_VERSION.to_s,
51
+ "platform" => RUBY_PLATFORM.to_s}
52
+ }
53
+ url = "http://debugged.herokuapp.com/report"
54
+ uri = URI(url)
55
+
56
+ req = Net::HTTP::Post.new(uri.request_uri)
57
+ req.basic_auth @@api_key, 'pass'
58
+ req.body = report.to_json
59
+
60
+ # NOT ASYNC AS OF YET
61
+ begin
62
+ res = Net::HTTP.start(uri.hostname, uri.port) do |http|
63
+ http.request(req)
64
+ end
65
+ rescue
66
+ #do something
67
+ end
68
+ end
69
+ #
70
+ #response = RestClient.post url, :payload => report.to_json, :content_typ=>:json, :user => @@api_key
71
+ #puts response.body
72
+ end
File without changes
@@ -0,0 +1,3 @@
1
+ module Debugged
2
+ VERSION = '0.0.1'
3
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: debugged-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - henkem
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-11-10 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Ruby debugged
15
+ email: mitchh23@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/debugged-ruby/config.rb
21
+ - lib/debugged-ruby/version.rb
22
+ - lib/debugged-ruby.rb
23
+ - debugged-ruby.gemspec
24
+ homepage: http://www.debugged.io
25
+ licenses: []
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements:
43
+ - json_pure, json-jruby or json gem required
44
+ rubyforge_project:
45
+ rubygems_version: 1.8.24
46
+ signing_key:
47
+ specification_version: 3
48
+ summary: Ruby debugged
49
+ test_files: []