tapping_device 0.4.8 → 0.4.9
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 +4 -4
- data/.github/workflows/ruby.yml +1 -1
- data/Gemfile.lock +5 -3
- data/README.md +4 -1
- data/lib/tapping_device/payload.rb +14 -5
- data/lib/tapping_device/trackable.rb +5 -1
- data/lib/tapping_device/version.rb +1 -1
- data/tapping_device.gemspec +2 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac2d7b19e16c5c1f3f09d8d1abb81f8efe1238366a056457a804adf8c3ed5746
|
4
|
+
data.tar.gz: d683824d3c9ba64dc968d11891b2d1a5522768dbea68e604a6ed4dc04bef7488
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bae37829ceac31871f11da1b9f2be3000572e65291229eb1208794e4214dc28bc55e4cc2dd44ec4a2dc1fd6cf01798509d860f132a6503b47368eadb544f172a
|
7
|
+
data.tar.gz: 73053c155178b21ddb93627f227f7a50130684b29c95cf0c310aedd06bcbf3ab94529a79fd73451725b7180e93ffa9e64b9d3fd7dd8e2c5125a15c8ea1500d21
|
data/.github/workflows/ruby.yml
CHANGED
@@ -22,7 +22,7 @@ jobs:
|
|
22
22
|
- name: Install sqlite
|
23
23
|
run: |
|
24
24
|
# See https://github.community/t5/GitHub-Actions/ubuntu-latest-Apt-repository-list-issues/td-p/41122/page/2
|
25
|
-
|
25
|
+
for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file; done
|
26
26
|
sudo apt-get update
|
27
27
|
sudo apt-get install libsqlite3-dev
|
28
28
|
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
tapping_device (0.4.
|
4
|
+
tapping_device (0.4.9)
|
5
5
|
activerecord (>= 5.2)
|
6
|
+
awesome_print
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: https://rubygems.org/
|
@@ -18,16 +19,17 @@ GEM
|
|
18
19
|
minitest (~> 5.1)
|
19
20
|
tzinfo (~> 1.1)
|
20
21
|
zeitwerk (~> 2.2)
|
22
|
+
awesome_print (1.8.0)
|
21
23
|
coderay (1.1.2)
|
22
24
|
concurrent-ruby (1.1.5)
|
23
25
|
database_cleaner (1.7.0)
|
24
26
|
diff-lcs (1.3)
|
25
27
|
docile (1.3.2)
|
26
|
-
i18n (1.
|
28
|
+
i18n (1.8.2)
|
27
29
|
concurrent-ruby (~> 1.0)
|
28
30
|
json (2.3.0)
|
29
31
|
method_source (0.9.2)
|
30
|
-
minitest (5.
|
32
|
+
minitest (5.14.0)
|
31
33
|
pry (0.12.2)
|
32
34
|
coderay (~> 1.1.0)
|
33
35
|
method_source (~> 0.9.0)
|
data/README.md
CHANGED
@@ -149,6 +149,9 @@ Called :apply_discount FROM /Users/st0012/projects/tapping_device-demo/app/servi
|
|
149
149
|
|
150
150
|
It prints the object's calls in detail (including call location, arguments, and return value). It's useful for observing an object's behavior when debugging.
|
151
151
|
|
152
|
+
#### Options
|
153
|
+
- `awesome_print:` - will print calls in prettier format if set to `true`. Default is `false`
|
154
|
+
|
152
155
|
```ruby
|
153
156
|
class OrdersController < ApplicationController
|
154
157
|
include TappingDevice::Trackable
|
@@ -180,7 +183,7 @@ class OrdersController < ApplicationController
|
|
180
183
|
FROM /Users/st0012/projects/tapping_device-demo/app/controllers/orders_controller.rb:11
|
181
184
|
```
|
182
185
|
|
183
|
-
The output's order might look strange. This is because tapping_device needs to wait for the call to return in order to have its return value.
|
186
|
+
The output's order might look strange. This is because `tapping_device` needs to wait for the call to return in order to have its return value.
|
184
187
|
|
185
188
|
### tap_init!
|
186
189
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "awesome_print"
|
1
2
|
class TappingDevice
|
2
3
|
class Payload < Hash
|
3
4
|
ATTRS = [
|
@@ -38,7 +39,7 @@ class TappingDevice
|
|
38
39
|
end
|
39
40
|
|
40
41
|
SYMBOLS = {
|
41
|
-
location: "
|
42
|
+
location: "from:",
|
42
43
|
sql: "QUERIES",
|
43
44
|
return_value: "=>",
|
44
45
|
arguments: "<=",
|
@@ -51,12 +52,20 @@ class TappingDevice
|
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
54
|
-
def detail_call_info
|
55
|
+
def detail_call_info(awesome_print: false)
|
56
|
+
arguments_output = arguments.inspect
|
57
|
+
return_value_output = return_value.inspect
|
58
|
+
|
59
|
+
if awesome_print
|
60
|
+
arguments_output = arguments.ai(ruby19_syntax: true, multiline: false)
|
61
|
+
return_value_output = return_value.ai(ruby19_syntax: true, multiline: false)
|
62
|
+
end
|
63
|
+
|
55
64
|
<<~MSG
|
56
65
|
#{method_name_and_defined_class}
|
57
|
-
|
58
|
-
|
59
|
-
|
66
|
+
from: #{location}
|
67
|
+
<= #{arguments_output}
|
68
|
+
=> #{return_value_output}
|
60
69
|
MSG
|
61
70
|
end
|
62
71
|
end
|
@@ -21,7 +21,11 @@ class TappingDevice
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def print_calls_in_detail(target, options = {})
|
24
|
-
|
24
|
+
awesome_print = options.delete(:awesome_print)
|
25
|
+
|
26
|
+
tap_on!(target, options) do |payload|
|
27
|
+
puts(payload.detail_call_info(awesome_print: awesome_print))
|
28
|
+
end
|
25
29
|
end
|
26
30
|
|
27
31
|
def new_device(options, &block)
|
data/tapping_device.gemspec
CHANGED
@@ -32,6 +32,8 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency "activerecord", ">= 5.2"
|
33
33
|
end
|
34
34
|
|
35
|
+
spec.add_dependency "awesome_print"
|
36
|
+
|
35
37
|
spec.add_development_dependency "sqlite3", ">= 1.3.6"
|
36
38
|
spec.add_development_dependency "database_cleaner"
|
37
39
|
spec.add_development_dependency "bundler", "~> 2.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tapping_device
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- st0012
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '5.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: awesome_print
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: sqlite3
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|