tapping_device 0.4.10 → 0.4.11

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: 23d3086bd40ed2665b040147abdbd7ca9cf2fd6e8d0e4300e0dfe8c6c14def70
4
- data.tar.gz: b980e4cbf079204151b81645aa9c097254c0be1f514c2e09482ee3a4ede1ec68
3
+ metadata.gz: d8328ddf34918bc8be607eb8bad74e3588f435a13dcefdf0690dd7f03ec4774f
4
+ data.tar.gz: d34dd35817a235e92e12f7c086a3911d11c8564851a29e3ae31676b9b699f67f
5
5
  SHA512:
6
- metadata.gz: 4d731a0cc9436e48354a55afe094cd16ce93778876fd541702813645be21e2d77cdfa0580b93486c0a59ddf48c614df9106d752483842da5bec2bb19ee06e97a
7
- data.tar.gz: 1de7093fd6b474260a7b819ddffa8839dc26ff5e5553d450084515e9ce6b1d69cb97066c69fa49f48777548e18768dd52dc8114efc5a469e63e870f3005086c2
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.10)
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.1)
12
- activesupport (= 6.0.2.1)
13
- activerecord (6.0.2.1)
14
- activemodel (= 6.0.2.1)
15
- activesupport (= 6.0.2.1)
16
- activesupport (6.0.2.1)
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.5)
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 (10.0.4)
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.6)
55
+ tzinfo (1.2.7)
58
56
  thread_safe (~> 0.1)
59
- zeitwerk (2.2.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 (~> 10.0)
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
- - `awesome_print:` - will print calls in prettier format if set to `true`. Default is `false`
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(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
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
- awesome_print = options.delete(:awesome_print)
24
+ inspect = options.delete(:inspect)
25
25
 
26
26
  tap_on!(target, options) do |payload|
27
- puts(payload.detail_call_info(awesome_print: awesome_print))
27
+ puts(payload.detail_call_info(inspect: inspect))
28
28
  end
29
29
  end
30
30
 
@@ -1,3 +1,3 @@
1
1
  class TappingDevice
2
- VERSION = "0.4.10"
2
+ VERSION = "0.4.11"
3
3
  end
@@ -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", "~> 10.0"
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.10
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-02-05 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
96
+ version: '13.0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: rspec
113
99
  requirement: !ruby/object:Gem::Requirement