tapping_device 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24fe45432978253d77089abca47f6b85e23b704936b6919a9e484a76bd423997
4
- data.tar.gz: 2f57680abf620d45426c4d4208c4d812427f600b7913a3e305f5f44fdcf1fbb6
3
+ metadata.gz: ac2d7b19e16c5c1f3f09d8d1abb81f8efe1238366a056457a804adf8c3ed5746
4
+ data.tar.gz: d683824d3c9ba64dc968d11891b2d1a5522768dbea68e604a6ed4dc04bef7488
5
5
  SHA512:
6
- metadata.gz: a449ed382aee9df385a3d64b50dced35aebb0f590243ec399c7e05c95cba9557d9e4b03ed7b158e83bc5dc7b3f9d032bb19608cff1d3344749eae8538efefef0
7
- data.tar.gz: b6a75131cd536086df46aa9a624bc9ccebd61c0e83e26312dd3ad2c6e9257922f19dee6f2a98cfd8e9eef6b1b0581d8db1c96c4101ec2a90f00bef9ad3022e48
6
+ metadata.gz: bae37829ceac31871f11da1b9f2be3000572e65291229eb1208794e4214dc28bc55e4cc2dd44ec4a2dc1fd6cf01798509d860f132a6503b47368eadb544f172a
7
+ data.tar.gz: 73053c155178b21ddb93627f227f7a50130684b29c95cf0c310aedd06bcbf3ab94529a79fd73451725b7180e93ffa9e64b9d3fd7dd8e2c5125a15c8ea1500d21
@@ -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
- sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list
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.8)
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.7.0)
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.13.0)
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: "FROM",
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
- <= #{arguments}
58
- => #{return_value || "nil"}
59
- FROM #{location}
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
- tap_on!(target, options).and_print(:detail_call_info)
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)
@@ -1,3 +1,3 @@
1
1
  class TappingDevice
2
- VERSION = "0.4.8"
2
+ VERSION = "0.4.9"
3
3
  end
@@ -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.8
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-05 00:00:00.000000000 Z
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