tapping_device 0.4.10 → 0.4.11
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/Gemfile.lock +12 -14
- data/README.md +1 -1
- data/lib/tapping_device/payload.rb +40 -9
- data/lib/tapping_device/trackable.rb +2 -2
- data/lib/tapping_device/version.rb +1 -1
- data/tapping_device.gemspec +1 -3
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8328ddf34918bc8be607eb8bad74e3588f435a13dcefdf0690dd7f03ec4774f
|
4
|
+
data.tar.gz: d34dd35817a235e92e12f7c086a3911d11c8564851a29e3ae31676b9b699f67f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c12632e9ecdfed8970b36f191f2d2ea736cf1dc61a12096559cf25dfd791ee22c240e80d0230ffad4dc334d8dd9e6071efb1d6372256e339cd4387f79316a995
|
7
|
+
data.tar.gz: 92a81f59e1f130ea25a41e58fb06c4ca153fa0eaa021094c59782737d16af34160ccb257a42a1bdd0a589d3e739a17ebf126c2cf72e233a0b61eab133825311e
|
data/Gemfile.lock
CHANGED
@@ -1,27 +1,25 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
tapping_device (0.4.
|
4
|
+
tapping_device (0.4.11)
|
5
5
|
activerecord (>= 5.2)
|
6
|
-
awesome_print
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: https://rubygems.org/
|
10
9
|
specs:
|
11
|
-
activemodel (6.0.2.
|
12
|
-
activesupport (= 6.0.2.
|
13
|
-
activerecord (6.0.2.
|
14
|
-
activemodel (= 6.0.2.
|
15
|
-
activesupport (= 6.0.2.
|
16
|
-
activesupport (6.0.2.
|
10
|
+
activemodel (6.0.2.2)
|
11
|
+
activesupport (= 6.0.2.2)
|
12
|
+
activerecord (6.0.2.2)
|
13
|
+
activemodel (= 6.0.2.2)
|
14
|
+
activesupport (= 6.0.2.2)
|
15
|
+
activesupport (6.0.2.2)
|
17
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
18
17
|
i18n (>= 0.7, < 2)
|
19
18
|
minitest (~> 5.1)
|
20
19
|
tzinfo (~> 1.1)
|
21
20
|
zeitwerk (~> 2.2)
|
22
|
-
awesome_print (1.8.0)
|
23
21
|
coderay (1.1.2)
|
24
|
-
concurrent-ruby (1.1.
|
22
|
+
concurrent-ruby (1.1.6)
|
25
23
|
database_cleaner (1.7.0)
|
26
24
|
diff-lcs (1.3)
|
27
25
|
docile (1.3.2)
|
@@ -33,7 +31,7 @@ GEM
|
|
33
31
|
pry (0.12.2)
|
34
32
|
coderay (~> 1.1.0)
|
35
33
|
method_source (~> 0.9.0)
|
36
|
-
rake (
|
34
|
+
rake (13.0.1)
|
37
35
|
rspec (3.8.0)
|
38
36
|
rspec-core (~> 3.8.0)
|
39
37
|
rspec-expectations (~> 3.8.0)
|
@@ -54,9 +52,9 @@ GEM
|
|
54
52
|
simplecov-html (0.10.2)
|
55
53
|
sqlite3 (1.4.1)
|
56
54
|
thread_safe (0.3.6)
|
57
|
-
tzinfo (1.2.
|
55
|
+
tzinfo (1.2.7)
|
58
56
|
thread_safe (~> 0.1)
|
59
|
-
zeitwerk (2.
|
57
|
+
zeitwerk (2.3.0)
|
60
58
|
|
61
59
|
PLATFORMS
|
62
60
|
ruby
|
@@ -65,7 +63,7 @@ DEPENDENCIES
|
|
65
63
|
bundler (~> 2.0)
|
66
64
|
database_cleaner
|
67
65
|
pry
|
68
|
-
rake (~>
|
66
|
+
rake (~> 13.0)
|
69
67
|
rspec (~> 3.0)
|
70
68
|
simplecov (= 0.17.1)
|
71
69
|
sqlite3 (>= 1.3.6)
|
data/README.md
CHANGED
@@ -113,7 +113,7 @@ Called :apply_discount FROM /Users/st0012/projects/tapping_device-demo/app/servi
|
|
113
113
|
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.
|
114
114
|
|
115
115
|
#### Options
|
116
|
-
- `
|
116
|
+
- `inspect:` - will print objects with `#inspect` instead of `#to_s` if set to `true` (very noisy when having large objects). Default is `false`.
|
117
117
|
|
118
118
|
```ruby
|
119
119
|
class OrdersController < ApplicationController
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require "awesome_print"
|
2
1
|
class TappingDevice
|
3
2
|
class Payload < Hash
|
4
3
|
ATTRS = [
|
@@ -52,14 +51,9 @@ class TappingDevice
|
|
52
51
|
end
|
53
52
|
end
|
54
53
|
|
55
|
-
def detail_call_info(
|
56
|
-
arguments_output = arguments
|
57
|
-
return_value_output = return_value
|
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
|
54
|
+
def detail_call_info(inspect: false)
|
55
|
+
arguments_output = generate_string_result(arguments, inspect)
|
56
|
+
return_value_output = generate_string_result(return_value, inspect)
|
63
57
|
|
64
58
|
<<~MSG
|
65
59
|
#{method_name_and_defined_class}
|
@@ -69,5 +63,42 @@ class TappingDevice
|
|
69
63
|
|
70
64
|
MSG
|
71
65
|
end
|
66
|
+
|
67
|
+
def generate_string_result(obj, inspect)
|
68
|
+
case obj
|
69
|
+
when Array
|
70
|
+
array_to_string(obj, inspect)
|
71
|
+
when Hash
|
72
|
+
hash_to_string(obj, inspect)
|
73
|
+
when String
|
74
|
+
"\"#{obj}\""
|
75
|
+
else
|
76
|
+
inspect ? obj.inspect : obj.to_s
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def array_to_string(array, inspect)
|
81
|
+
elements_string = array.map do |elem|
|
82
|
+
generate_string_result(elem, inspect)
|
83
|
+
end.join(", ")
|
84
|
+
"[#{elements_string}]"
|
85
|
+
end
|
86
|
+
|
87
|
+
def hash_to_string(hash, inspect)
|
88
|
+
elements_string = hash.map do |key, value|
|
89
|
+
"#{key.to_s}: #{generate_string_result(value, inspect)}"
|
90
|
+
end.join(", ")
|
91
|
+
"{#{elements_string}}"
|
92
|
+
end
|
93
|
+
|
94
|
+
def obj_to_string(element, inspect)
|
95
|
+
to_string_method = inspect ? :inspect : :to_s
|
96
|
+
|
97
|
+
if !inspect && element.is_a?(String)
|
98
|
+
"\"#{element}\""
|
99
|
+
else
|
100
|
+
element.send(to_string_method)
|
101
|
+
end
|
102
|
+
end
|
72
103
|
end
|
73
104
|
end
|
@@ -21,10 +21,10 @@ class TappingDevice
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def print_calls_in_detail(target, options = {})
|
24
|
-
|
24
|
+
inspect = options.delete(:inspect)
|
25
25
|
|
26
26
|
tap_on!(target, options) do |payload|
|
27
|
-
puts(payload.detail_call_info(
|
27
|
+
puts(payload.detail_call_info(inspect: inspect))
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
data/tapping_device.gemspec
CHANGED
@@ -32,13 +32,11 @@ 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
|
-
|
37
35
|
spec.add_development_dependency "sqlite3", ">= 1.3.6"
|
38
36
|
spec.add_development_dependency "database_cleaner"
|
39
37
|
spec.add_development_dependency "bundler", "~> 2.0"
|
40
38
|
spec.add_development_dependency "pry"
|
41
|
-
spec.add_development_dependency "rake", "~>
|
39
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
42
40
|
spec.add_development_dependency "rspec", "~> 3.0"
|
43
41
|
spec.add_development_dependency "simplecov", "0.17.1"
|
44
42
|
end
|
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.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- st0012
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -24,20 +24,6 @@ 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'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: sqlite3
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +86,14 @@ dependencies:
|
|
100
86
|
requirements:
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
89
|
+
version: '13.0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
96
|
+
version: '13.0'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rspec
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|