loba 0.3.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.0
4
- before_install: gem install bundler -v 1.11.2
5
- addons:
6
- code_climate:
7
- repo_token: 8e4f3d6c483544a1479af37a53ca72b968cf77cdf7a050e3e163cf526444d832
8
- after_success:
9
- - bundle exec codeclimate-test-reporter
data/Gemfile DELETED
@@ -1,12 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- group :development do
6
- gem 'yard'
7
- end
8
-
9
- group :test do
10
- gem 'codeclimate-test-reporter', require: nil
11
- gem 'simplecov', require: false
12
- end
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "loba"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/loba.gemspec DELETED
@@ -1,30 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'loba/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "loba"
8
- spec.version = Loba::VERSION
9
- spec.platform = Gem::Platform::RUBY
10
- spec.authors = ["Richard Newman"]
11
- spec.email = ["richard@newmanworks.com"]
12
-
13
- spec.summary = %q{Loba: Easy tracing for debugging.}
14
- spec.description = %q{Handy methods for adding trace lines to output or Rails logs.}
15
- spec.homepage = "https://github.com/rdnewman/loba"
16
- spec.license = "MIT"
17
-
18
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
- spec.bindir = "exe"
20
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
- spec.require_paths = ["lib"]
22
- spec.required_ruby_version = '>= 2.1.0'
23
-
24
- spec.add_development_dependency 'bundler', '~> 1.11'
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
27
-
28
- spec.add_dependency "binding_of_caller", "~> 0.7"
29
- spec.add_dependency "colorize", "~> 0.7"
30
- end
data/readme/ts.md DELETED
@@ -1,45 +0,0 @@
1
- #### Timestamp notices: `Loba.ts`
2
- Outputs a timestamped notice, useful for quick traces to see the code path and easier than, say, [Kernel#set_trace_func](http://ruby-doc.org/core-2.2.3/Kernel.html#method-i-set_trace_func).
3
- Also does a simple elapsed time check since the previous timestamp notice to help with quick, minimalist profiling.
4
-
5
- For example,
6
-
7
- ```
8
- [TIMESTAMP] #=0002, diff=93.478016, at=1451444972.970602 (in=/home/usracct/src/myapp/app/models/target.rb:55:in `some_calculation')
9
- ```
10
-
11
- To invoke,
12
-
13
- ```
14
- Loba.ts # no arguments
15
- ```
16
-
17
- `Loba.timestamp` is an alias for `Loba.ts`.
18
-
19
- The resulting notice output format is
20
-
21
- ```
22
- [TIMESTAMP] #=nnnn, diff=ss.ssssss, at=tttttttttt.tttttt (in=/path/to/code/somecode.rb:LL:in 'some_method')
23
- ```
24
-
25
- where
26
- * `nnn` ("#=") is a sequential numbering (1, 2, 3, ...) of timestamp notices,
27
- * `ss.ssssss` ("diff=") is number of seconds since the last timestamp notice was output (i.e., relative time),
28
- * `tttttttttt.tttttt` ("at=") is Time.now (as seconds) (i.e., absolute time),
29
- * `/path/to/code/somecode.rb` ("in=") is the source code file that invoked `Loba.ts`,
30
- * `LL` ("in=...:") is the line number of the source code file that invoked `Loba.ts`, and
31
- * `some_method`is the method in which `Loba.ts` was invoked.
32
-
33
-
34
- ##### Options
35
-
36
- As the last argument, an options hash may be provided:
37
- * `production`: true if this value notice is enabled when running in :production environment (see ["Environment Notes"](README.md#environment-notes)) \[_default: `false`_\]
38
-
39
- ###### Example 5: Using options hash
40
- ```ruby
41
- Loba.ts production: true
42
- ```
43
- ```ruby
44
- Loba.ts {production: true}
45
- ```
data/readme/val.md DELETED
@@ -1,117 +0,0 @@
1
- #### Value notices: `Loba.val`
2
-
3
- Inserts line to Rails.logger.debug (or to STDOUT if Rails.logger not available) showing value with method and class identification
4
-
5
- ```
6
- Loba.val :var_sym # the :var_sym argument is the variable or method name given as a symbol (see below)
7
- ```
8
-
9
- or
10
-
11
- ```
12
- Loba.val some_identifier # directly give a variable or method name instead of a symbol (see below)
13
- ```
14
-
15
- or
16
-
17
- ```
18
- Loba.val some_identifier, "My label:" # same as direct variable, but allows a custom label
19
- ```
20
-
21
- Will produce a notice similar to the following:
22
-
23
- ```
24
- [Target.some_calculation] my_var: 54 (in /home/usracct/src/myapp/app/models/target.rb:55:in `some_calculation')
25
- ```
26
-
27
- ###### Example 1: Using simple Symbol as argument
28
- ```ruby
29
- class HelloWorld
30
- def hello(name)
31
- Loba.val :name # best to put Loba statement to far left for easy removal when done
32
- puts "Hello, #{name}!"
33
- end
34
- end
35
- HelloWorld.new.hello("Charlie")
36
- #=> [HelloWorld#hello] name: Charlie (in /path/to/file/hello_world.rb:3:in `hello')
37
- #=> Hello, Charlie!
38
- ```
39
-
40
- ###### Example 2: Using more complex Symbol as argument
41
- ```ruby
42
- class HelloWorld
43
- def hello(name)
44
- myHash = {somename: name}
45
- # Loba.val :myHash[name] won't work directly, but...
46
- Loba.val "myHash[name]".to_sym # will work -- just express the name as a String and cast to a Symbol
47
- puts "Hello, #{name}!"
48
- end
49
- end
50
- HelloWorld.new.hello("Charlie")
51
- #=> [HelloWorld#hello] myHash[name]: Charlie (in /path/to/file/hello_world.rb:5:in `hello')
52
- #=> Hello, Charlie!
53
- ```
54
-
55
- ###### Example 3: Using a non-Symbol as argument without a label
56
- ```ruby
57
- class HelloWorld
58
- def hello(name)
59
- Loba.val name
60
- puts "Hello, #{name}!"
61
- end
62
- end
63
- HelloWorld.new.hello("Charlie")
64
- #=> [HelloWorld#hello] Charlie (in /path/to/file/hello_world.rb:3:in `hello')
65
- #=> Hello, Charlie!
66
- ```
67
-
68
- ###### Example 4: Using a non-Symbol as argument with a label
69
- ```ruby
70
- class HelloWorld
71
- def hello(name)
72
- Loba.val name, "Name:"
73
- puts "Hello, #{name}!"
74
- end
75
- end
76
- HelloWorld.new.hello("Charlie")
77
- #=> [HelloWorld#hello] Name: Charlie (in /path/to/file/hello_world.rb:3:in `hello')
78
- #=> Hello, Charlie!
79
- ```
80
-
81
- ##### Notice format:
82
-
83
- The resulting notice output format is
84
-
85
- ```
86
- [ccccc.mmmmm] vvvvv: rrrrr (in /path/to/code/somecode.rb:LL:in 'some_method')
87
- ```
88
-
89
- where
90
- * `ccccc` is the name of the class from where `Loba.val` was invoked,
91
- * `mmmmm` is the name of the method from where `Loba.val` was invoked,
92
- * `vvvvv` is generally the name of the variable for which `Loba.val` is inspecting, or any custom label given,
93
- * `rrrrr` is the result of inspecting what `Loba.val` was invoked against,
94
- * `/path/to/code/somecode.rb` is the source code file that invoked `Loba.val`,
95
- * `LL` is the line number of the source code file that invoked `Loba.val`, and
96
- * `some_method`is the method in which `Loba.val` was invoked.
97
-
98
-
99
- Notes:
100
- * `ccccc`: Ruby supports anonymous classes (e.g., `= Class.new`). If an anonymous class, "<anonymous class>" will be output here.
101
- * `mmmmm`: Ruby supports anonymous methods, procs, and lambdas. If an anonymous method, et al, "<anonymous method>" will be output here.
102
- * `vvvvv`: This depends on the argument being provided: if a symbol, then this field will use that symbol to determine the name and present it here. If not, nothing will appear for this field.
103
- * `rrrrr`: The value of the variable given to `Loba.val`. `inspect` may be used (see [options](#options) below).
104
-
105
- ##### Options
106
-
107
- As the last argument, an options hash may be provided:
108
- * `inspect`: true if this value notice is to use #inspect against the content being evaluated \[_default: `true`_\]
109
- * `production`: true if this value notice is enabled when running in :production environment (see ["Environment Notes"](README.md#environment-notes)) \[_default: `false`_\]
110
-
111
- ###### Example 5: Using options hash
112
- ```ruby
113
- Loba.val name, "Name:", inspect: false, production: true
114
- ```
115
- ```ruby
116
- Loba.val :name, nil, {production: true}
117
- ```
data/readme/zulu.png DELETED
Binary file