debug_print_ext 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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MjE5NTQ0YjRkMDAwNWIxNzBiZTdkOGI3OGFhOWYwNGE5YzA3NDViZQ==
5
+ data.tar.gz: !binary |-
6
+ OTMyZTEwMDVjZTJjOTUzMDlmZDE4MjE4M2U0Y2JhNjg3MjE5YzM3MA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NjI2MmE1NmEyN2Y5YTM4MmRkNzJhMTU0NzFlMWIyODdiNDM3MThmNjU5NWRi
10
+ YTJiZDRiOWYyYTFkZTQ3OTJhOTUyMGY2YWNiNTc2ZWM3ODNlZjQxZGI5MjI2
11
+ ZWViNGFjNjlmNTk5MmZmZmYxN2I0YjM0OGJkNmEwZDQ0MGY2NjY=
12
+ data.tar.gz: !binary |-
13
+ MDA4OTYzMTIxYmRiZDRiNTVmMjBmN2RhMjhkZWI2NWQ3MmYwZjIyN2IwYzMx
14
+ NzI2YzI2MDgzMzkxOGZiMjE5NWI3ODkwMDI0YjJiNzM4OTU0MWI5ZTU2Nzlj
15
+ ZmFhMWZlMzM1MTE0NmNjOWRmOTI2ODRkYTZjYjhiODQ2NjUzZjY=
data/.gitignore ADDED
@@ -0,0 +1,23 @@
1
+ .idea
2
+ *.gem
3
+ *.rbc
4
+ .bundle
5
+ .config
6
+ .yardoc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
19
+ *.bundle
20
+ *.so
21
+ *.o
22
+ *.a
23
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in debug_print.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Petr Cervinka
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # DebugPrint
2
+
3
+ Ever placed `puts`, `pp` or `ap` for debugging purposes in the code and then forgot where the prints come from? Use `dp` (or `debug_print`) instead! `dp` simply prints header line with information about caller.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'debug_print', git: 'https://github.com/cervinka/debug_print.git'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ ## Usage
16
+
17
+ Use `dp some_object` in your code to print debug information. The output looks like:
18
+
19
+ ```
20
+ [DEBUG: from /Users/myname/projects/test/app/controllers/themes_controller.rb:13:in `suggestions']
21
+ {
22
+ :a => "aaa",
23
+ :b => "bbbb"
24
+ }
25
+ ```
26
+
27
+ `dp` automatically uses `awesome_print`, `pretty_print` or `p` for printing (in quoted order) if available.
28
+
29
+ You can also specify printer in your code:
30
+
31
+ ```ruby
32
+ # set printing method globally
33
+ DebugPrint.printer = :ap # use awesome print for printing
34
+ DebugPrint.printer = :pp # use pretty print for printing
35
+ DebugPrint.printer = :p # use standard p method for printing
36
+ DebugPrint.printer = :puts # use standard puts method for printing
37
+
38
+ # set printing method ad-hoc
39
+ dp object_to_print, printer: ap
40
+ ```
41
+
42
+ You can also silent all calls to `dp` by `DebugPrint.silent = true`
43
+
44
+ ## Contributing
45
+
46
+ 1. Fork it ( https://github.com/[my-github-username]/debug_print/fork )
47
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
48
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
49
+ 4. Push to the branch (`git push origin my-new-feature`)
50
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'debug_print/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "debug_print_ext"
8
+ spec.version = DebugPrint::VERSION
9
+ spec.authors = ["Petr Cervinka"]
10
+ spec.email = ["petr@petrcervinka.cz"]
11
+ spec.summary = %q{Very simple gem for debug printings.}
12
+ spec.description = %q{Ever placed `puts`, `pp` or `ap` for debugging purposes in the code and then forgot where the prints come from? Use `dp` (or `debug_print`) instead! `dp` simply prints header line with information about caller. }
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.6"
22
+ spec.add_development_dependency "rake"
23
+ end
@@ -0,0 +1,3 @@
1
+ class DebugPrint
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,41 @@
1
+ require "debug_print/version"
2
+
3
+ class DebugPrint
4
+ @@printer = nil
5
+ @@silent = false
6
+
7
+ def self.silent=(silent)
8
+ @@silent = silent
9
+ end
10
+
11
+ def self.silent
12
+ @@silent
13
+ end
14
+
15
+ def self.printer=(print)
16
+ @@printer = print
17
+ end
18
+
19
+ def self.printer
20
+ return @@printer if @@printer
21
+ if defined?(AwesomePrint)
22
+ :ap
23
+ elsif defined?(PrettyPrint)
24
+ :pp
25
+ else
26
+ :p
27
+ end
28
+ end
29
+ end
30
+
31
+ module Kernel
32
+
33
+ def debug_print(object, options = {})
34
+ return if DebugPrint.silent
35
+ print = options[:printer] || DebugPrint.printer
36
+ puts "[DEBUG: from #{caller.first}]"
37
+ Kernel.send(print, object)
38
+ end
39
+
40
+ alias :dp :debug_print
41
+ end
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: debug_print_ext
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Petr Cervinka
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-06-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: ! 'Ever placed `puts`, `pp` or `ap` for debugging purposes in the code
42
+ and then forgot where the prints come from? Use `dp` (or `debug_print`) instead!
43
+ `dp` simply prints header line with information about caller. '
44
+ email:
45
+ - petr@petrcervinka.cz
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - .gitignore
51
+ - Gemfile
52
+ - LICENSE.txt
53
+ - README.md
54
+ - Rakefile
55
+ - debug_print.gemspec
56
+ - lib/debug_print.rb
57
+ - lib/debug_print/version.rb
58
+ homepage: ''
59
+ licenses:
60
+ - MIT
61
+ metadata: {}
62
+ post_install_message:
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubyforge_project:
78
+ rubygems_version: 2.2.2
79
+ signing_key:
80
+ specification_version: 4
81
+ summary: Very simple gem for debug printings.
82
+ test_files: []