rshade 0.2.0 → 0.2.1

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: 39758f070ab0a6b6e7dc0bdc09aa03bb107130f84fe7115331189a31c0e013eb
4
- data.tar.gz: 0331bdd526cd0155df7d210603bb07a15c9541bcce62197b2754731e640060c3
3
+ metadata.gz: efdbfc08fca88589c49b580abbbeb36687b68986e365291c2c4758633b33943d
4
+ data.tar.gz: 78e8147a5539bb79216281763274c676d916729b62af681b2811caa1772f7031
5
5
  SHA512:
6
- metadata.gz: b0c97b53d02f997d05484e850655dfe561c82da1d110a111022885278ece826b5fc75b2e5d70260ff59095ca29178e681c85915301a6b171efe263aa42c82f64
7
- data.tar.gz: ed9a95bceb71f94cd17587bd88086a6e26d77b5a19fe14ed96b4cfbd559fa1574ffaca380ec3fc49167e788197008bc08b581f83fb5997fb058dedba77e49bf8
6
+ metadata.gz: 39fad4c1cb0663e510aaee89100090a10e689880da9f2fb2422fc404094337bad4bcbd5bb72a96270b284a3709392d4d9879cb1410d8f912d8e55db2962a8e4f
7
+ data.tar.gz: de5d785cfe183f5a7109aeebb128086e0173ce126788165b7dc18b818de066909830e628b5322c84ff6c9655696cb34cc8c7d289aafff036965f6a7caeb7bda0
data/.rubocop.yml ADDED
@@ -0,0 +1,31 @@
1
+ # The behavior of RuboCop can be controlled via the .rubocop.yml
2
+ # configuration file. It makes it possible to enable/disable
3
+ # certain cops (checks) and to alter their behavior if they accept
4
+ # any parameters. The file can be placed either in your home
5
+ # directory or in some project directory.
6
+ #
7
+ # RuboCop will start looking for the configuration file in the directory
8
+ # where the inspected file is and continue its way up to the root directory.
9
+ #
10
+ # See https://docs.rubocop.org/rubocop/configuration
11
+ AllCops:
12
+ NewCops: enable
13
+ Exclude:
14
+ - 'spec/fixture/**/*'
15
+ Style/HashSyntax:
16
+ EnforcedShorthandSyntax: never
17
+
18
+ Naming/MethodParameterName:
19
+ Exclude:
20
+ - spec/**/*
21
+ - test.rb
22
+ Style/Documentation:
23
+ Enabled: false
24
+ Metrics/BlockLength:
25
+ Max: 75
26
+ Metrics/MethodLength:
27
+ Max: 30
28
+ Metrics/PerceivedComplexity:
29
+ Max: 10
30
+ Metrics/AbcSize:
31
+ Max: 30
data/Gemfile CHANGED
@@ -9,6 +9,9 @@ gemspec
9
9
 
10
10
  group :development, :test do
11
11
  gem 'binding_of_caller'
12
+ gem 'bundler', '~> 2.2.33'
12
13
  gem 'prism'
13
14
  gem 'pry'
15
+ gem 'rake', '>= 12.3.3'
16
+ gem 'rspec', '~> 3.0'
14
17
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rshade (0.2.0)
4
+ rshade (0.2.1)
5
5
  binding_of_caller
6
6
  colorize
7
7
  prism
@@ -12,7 +12,7 @@ GEM
12
12
  binding_of_caller (1.0.1)
13
13
  debug_inspector (>= 1.2.0)
14
14
  coderay (1.1.3)
15
- colorize (0.8.1)
15
+ colorize (1.1.0)
16
16
  debug_inspector (1.2.0)
17
17
  diff-lcs (1.5.0)
18
18
  method_source (1.0.0)
data/README.md CHANGED
@@ -102,11 +102,12 @@ As you can see all code that have been in use is printed.
102
102
 
103
103
  ## Stack reveal
104
104
  Config
105
+
105
106
  ```ruby
106
107
  ::RShade::Config::Registry.instance.stack_config do |config|
107
- config.exclude_gems!
108
- filepath = File.join(Rails.root, 'log', 'rshade-stack.json.log')
109
- config.set_formatter(:json, { filepath: filepath, pretty: false })
108
+ config.exclude_gems!
109
+ filepath = File.join(Rails.root, 'log', 'rshade-stack.json.log')
110
+ config.formatter!(:json, { filepath: filepath, pretty: false })
110
111
  end
111
112
  ```
112
113
 
@@ -3,9 +3,8 @@
3
3
  module RShade
4
4
  class Config
5
5
  class Registry
6
- attr_reader :map, :mutex
7
-
8
6
  include Singleton
7
+ attr_reader :map, :mutex
9
8
 
10
9
  def initialize
11
10
  @map = {}
@@ -13,12 +12,6 @@ module RShade
13
12
  defaults
14
13
  end
15
14
 
16
- def set_default_stack(config)
17
- mutex.synchronize do
18
- map[:store_default] = config
19
- end
20
- end
21
-
22
15
  def default_stack_config
23
16
  val = nil
24
17
  mutex.synchronize do
@@ -6,7 +6,8 @@ module RShade
6
6
  attr_reader :filter, :formatter, :custom_serializers
7
7
 
8
8
  DEFAULT_FORMATTER = {
9
- json: ::RShade::Formatter::Stack::Json
9
+ json: ::RShade::Formatter::Stack::Json,
10
+ stdout: ::RShade::Formatter::Stack::Stdout
10
11
  }.freeze
11
12
 
12
13
  # @param [Hash] options
@@ -28,7 +29,7 @@ module RShade
28
29
  self
29
30
  end
30
31
 
31
- def set_formatter(formatter, opts = {})
32
+ def formatter!(formatter, opts = {})
32
33
  @formatter = formatter.is_a?(Symbol) ? set_symbol_formatter(formatter, opts) : formatter
33
34
  self
34
35
  end
@@ -50,8 +51,12 @@ module RShade
50
51
  end
51
52
 
52
53
  def default_filter_composition
54
+ variable_filter = RShade::Filter::VariableFilter.new
55
+ include_filter = RShade::Filter::IncludePathFilter.new
56
+ exclude_filter = RShade::Filter::ExcludePathFilter.new
57
+
53
58
  RShade::Filter::FilterBuilder.build([:or,
54
- [:or, RShade::Filter::VariableFilter.new, RShade::Filter::IncludePathFilter.new], RShade::Filter::ExcludePathFilter.new])
59
+ [:or, variable_filter, include_filter], exclude_filter])
55
60
  end
56
61
  end
57
62
  end
@@ -16,7 +16,7 @@ module RShade
16
16
  @custom_serializers = options.fetch(:custom_serializers, {})
17
17
  end
18
18
 
19
- def set_tp_events(tp_events)
19
+ def tp_events!(tp_events)
20
20
  @tp_events = tp_events
21
21
  self
22
22
  end
@@ -31,7 +31,7 @@ module RShade
31
31
  self
32
32
  end
33
33
 
34
- def set_formatter(formatter)
34
+ def formatter!(formatter)
35
35
  @formatter = formatter
36
36
  self
37
37
  end
@@ -39,8 +39,12 @@ module RShade
39
39
  private
40
40
 
41
41
  def default_filter_composition
42
+ variable_filter = RShade::Filter::VariableFilter.new
43
+ include_filter = RShade::Filter::IncludePathFilter.new
44
+ exclude_filter = RShade::Filter::ExcludePathFilter.new
45
+
42
46
  RShade::Filter::FilterBuilder.build([:or,
43
- [:or, RShade::Filter::VariableFilter.new, RShade::Filter::IncludePathFilter.new], RShade::Filter::ExcludePathFilter.new])
47
+ [:or, variable_filter, include_filter], exclude_filter])
44
48
  end
45
49
  end
46
50
  end
data/lib/rshade/config.rb CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  module RShade
4
4
  class Config
5
- RUBY_VERSION_PATTERN = /ruby-[0-9.]*/
5
+ RUBY_VERSION_PATTERN = /ruby-[0-9.]*/.freeze
6
6
 
7
7
  def self.default
8
- ::RShade::Config::Store.new.set_formatter(::RShade::Formatter::Trace::Stdout.new)
8
+ ::RShade::Config::Store.new.formatter!(::RShade::Formatter::Trace::Stdout.new)
9
9
  .config_filter(::RShade::Filter::ExcludePathFilter) do |paths|
10
10
  default_excluded_path.each do |path|
11
11
  paths << path
@@ -28,7 +28,7 @@ module RShade
28
28
 
29
29
  def tp_events(&block)
30
30
  events = block.call
31
- @config_store.set_tp_events(events)
31
+ @config_store.tp_events!(events)
32
32
  self
33
33
  end
34
34
 
@@ -49,7 +49,7 @@ module RShade
49
49
 
50
50
  def formatter(&block)
51
51
  formatter = block.call
52
- @config_store.set_formatter(formatter)
52
+ @config_store.formatter!(formatter)
53
53
  self
54
54
  end
55
55
 
@@ -71,7 +71,7 @@ module RShade
71
71
  end
72
72
 
73
73
  def self.default_excluded_path
74
- [ENV['GEM_PATH'].split(':'), RUBY_VERSION_PATTERN, /internal/].flatten.compact
74
+ [ENV['GEM_PATH'].split(':'), RUBY_VERSION_PATTERN, /internal/, %r{/gems/}].flatten.compact
75
75
  end
76
76
  end
77
77
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Object
4
+ # rubocop:disable Metrics/MethodLength
4
5
  def reveal(method_name = nil, **opts, &block)
5
6
  if method_name
6
7
  @__cache_rshade_reveal ||= {}
@@ -8,6 +9,7 @@ class Object
8
9
  @__cache_rshade_reveal[method_name] = config
9
10
  instance_eval do
10
11
  def method_added(name)
12
+ super
11
13
  return unless @__cache_rshade_reveal[name]
12
14
 
13
15
  if @__reveal_rewrite
@@ -34,4 +36,5 @@ class Object
34
36
  trace.show
35
37
  end
36
38
  end
39
+ # rubocop:enable Metrics/MethodLength
37
40
  end
data/lib/rshade/event.rb CHANGED
@@ -22,7 +22,7 @@ module RShade
22
22
  self
23
23
  end
24
24
 
25
- def set_return_value!(return_value)
25
+ def return_value!(return_value)
26
26
  @hash[:return_value] = return_value
27
27
  self
28
28
  end
@@ -46,7 +46,7 @@ module RShade
46
46
  vars[var_name] = hash
47
47
  end
48
48
 
49
- hash = { path: evt.path, lineno: evt.lineno, klass: evt.defined_class, method_name: evt.method_id, vars:,
49
+ hash = { path: evt.path, lineno: evt.lineno, klass: evt.defined_class, method_name: evt.method_id, vars: vars,
50
50
  event_type: evt.event }
51
51
 
52
52
  if RETURN_EVENTS.include?(evt.event)
@@ -22,7 +22,7 @@ module RShade
22
22
  # @param [Integer] level
23
23
  def leave(event, _level)
24
24
  store.current! do |node|
25
- node.value.set_return_value!(event.return_value)
25
+ node.value.return_value!(event.return_value)
26
26
  .with_serialized_return!(serializer)
27
27
  end
28
28
  rescue StandardError
@@ -10,6 +10,7 @@ module RShade
10
10
  @current = @head = EventTreeNode.new(nil, 0, nil)
11
11
  end
12
12
 
13
+ # rubocop:disable Metrics/AbcSize
13
14
  def add(value, level)
14
15
  if current.level + 1 == level
15
16
  current.children << EventTreeNode.new(value, level, current)
@@ -30,6 +31,7 @@ module RShade
30
31
  @current = current.parent
31
32
  add(value, level)
32
33
  end
34
+ # rubocop:enable Metrics/AbcSize
33
35
 
34
36
  def current!(&block)
35
37
  block.call(current.children.last) if current.children.last
@@ -50,7 +52,7 @@ module RShade
50
52
  @level = level
51
53
  @parent = parent
52
54
  @value = value
53
- @vlevel = set_vlevel(parent)
55
+ @vlevel = vlevel!(parent)
54
56
  end
55
57
 
56
58
  def each(&block)
@@ -60,13 +62,13 @@ module RShade
60
62
 
61
63
  private
62
64
 
63
- def set_vlevel(node)
65
+ def vlevel!(node)
64
66
  return 0 if node.nil?
65
67
 
66
68
  if node.value || node.level.zero?
67
69
  node.vlevel + 1
68
70
  else
69
- set_vlevel(node.parent)
71
+ vlevel!(node.parent)
70
72
  end
71
73
  end
72
74
  end
@@ -3,7 +3,7 @@
3
3
  module RShade
4
4
  module Filter
5
5
  class Default
6
- RUBY_VERSION_PATTERN = /ruby-[0-9.]*/
6
+ RUBY_VERSION_PATTERN = /ruby-[0-9.]*/.freeze
7
7
 
8
8
  def self.create
9
9
  new.create
@@ -7,7 +7,7 @@ module RShade
7
7
  AND_OP = :and
8
8
  OR_OP = :or
9
9
  UNARY_OP = :unary
10
- attr_reader :value, :left, :right, :parent
10
+ attr_reader :value, :left, :right
11
11
  attr_accessor :parent
12
12
 
13
13
  # @param [#call, Enumerable] left
@@ -18,6 +18,7 @@ module RShade
18
18
  @right = right
19
19
  end
20
20
 
21
+ # rubocop:disable Metrics/CyclomaticComplexity
21
22
  def call(event)
22
23
  case value
23
24
  when UNARY_OP
@@ -30,6 +31,7 @@ module RShade
30
31
  value.call(event)
31
32
  end
32
33
  end
34
+ # rubocop:enable Metrics/CyclomaticComplexity
33
35
 
34
36
  def each(&block)
35
37
  yield value unless left && right
@@ -38,8 +40,8 @@ module RShade
38
40
  end
39
41
 
40
42
  def config_filter(type, &block)
41
- filter = find do |filter|
42
- filter.is_a? type
43
+ filter = find do |f|
44
+ f.is_a? type
43
45
  end
44
46
  filter&.config(&block)
45
47
  end
@@ -8,6 +8,7 @@ module RShade
8
8
  NAME = :include_paths
9
9
 
10
10
  def initialize
11
+ super
11
12
  @paths = []
12
13
  end
13
14
 
@@ -8,6 +8,7 @@ module RShade
8
8
  NAME = :variable_filter
9
9
 
10
10
  def initialize
11
+ super
11
12
  @matchers = []
12
13
  end
13
14
 
@@ -5,7 +5,7 @@ module RShade
5
5
  module Stack
6
6
  class Stdout < String
7
7
  def call(stack)
8
- puts super(stack)
8
+ puts super
9
9
  end
10
10
  end
11
11
  end
@@ -4,9 +4,13 @@ module RShade
4
4
  module Formatter
5
5
  module Stack
6
6
  class String
7
+ attr_reader :colorize
8
+
7
9
  ROOT_SEP = "---\n"
8
10
 
9
- def initialize(opts = {}); end
11
+ def initialize(colorize: true)
12
+ @colorize = colorize
13
+ end
10
14
 
11
15
  # @param [RShade::EventProcessor] stack
12
16
  def call(stack)
@@ -23,18 +27,26 @@ module RShade
23
27
  buffer.string
24
28
  end
25
29
 
30
+ private
31
+
26
32
  # @param [RShade::StackFrame] frame
27
33
  def line(line_idx, frame, depth)
28
- source_location = ColorizedString["(#{frame.source_location[:path]}:#{frame.source_location[:line]})"].colorize(:green)
34
+ source_location = apply_color("(#{frame.source_location[:path]}:#{frame.source_location[:line]})", :green)
29
35
  var_str = frame.local_vars.map do |_, val|
30
36
  var_name = val[:name]
31
37
  var_value = val[:value]
32
38
  var_type = val[:type]
33
39
  "#{var_type} #{var_name} => (#{var_value})"
34
40
  end.join(', ')
35
- colorized_var_str = ColorizedString[var_str].colorize(:blue)
41
+ colorized_var_str = apply_color(var_str, :blue)
36
42
  "#{' ' * depth}[frame: #{line_idx}]#{source_location} => local vars: (#{colorized_var_str})\n"
37
43
  end
44
+
45
+ def apply_color(str, color)
46
+ return str unless colorize
47
+
48
+ ColorizedString[str].colorize(color)
49
+ end
38
50
  end
39
51
  end
40
52
  end
@@ -23,9 +23,7 @@ module RShade
23
23
  end
24
24
 
25
25
  def write_to_file(data)
26
- ::File.open(::File.join(RShade::Config.store_dir, FILE_NAME), 'w+') do |f|
27
- f.write data
28
- end
26
+ ::File.write(::File.join(RShade::Config.store_dir, FILE_NAME), data)
29
27
  end
30
28
  end
31
29
  end
@@ -24,9 +24,7 @@ module RShade
24
24
  end
25
25
 
26
26
  def write_to_file(data)
27
- ::File.open(::File.join(RShade::Config.store_dir, FILE_NAME), 'w+') do |f|
28
- f.write data
29
- end
27
+ ::File.write(::File.join(RShade::Config.store_dir, FILE_NAME), data)
30
28
  end
31
29
 
32
30
  def template
@@ -13,9 +13,8 @@ module RShade
13
13
  end
14
14
 
15
15
  def flat
16
- arr = []
17
- event_store.each do |node|
18
- arr << item(node.event)
16
+ arr = event_store.map do |node|
17
+ item(node.event)
19
18
  end
20
19
  arr.sort_by { |item| item[:level] }
21
20
  end
@@ -30,9 +29,9 @@ module RShade
30
29
  sort_hash(hash)
31
30
  end
32
31
 
33
- def sort_hash(h)
32
+ def sort_hash(hash)
34
33
  {}.tap do |h2|
35
- h.sort.each do |k, v|
34
+ hash.sort.each do |k, v|
36
35
  h2[k] = v.is_a?(Hash) ? sort_hash(v) : v
37
36
  end
38
37
  end
@@ -6,7 +6,7 @@ module RShade
6
6
  class Stdout < String
7
7
  # @param [RShade::EventProcessor] event_store
8
8
  def call(event_store)
9
- puts super(event_store)
9
+ puts super
10
10
  end
11
11
  end
12
12
  end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RShade
4
- REPORTS = [].freeze
4
+ # rubocop:disable Style/MutableConstant
5
+ REPORTS = []
6
+ # rubocop:enable Style/MutableConstant
5
7
 
6
8
  module RSpecHelper
7
9
  def rshade_reveal(options = {}, &block)
@@ -26,14 +26,9 @@ module RShade
26
26
  String => ->(value) { value },
27
27
  Hash => lambda do |value|
28
28
  hash = {}
29
- begin
30
- value.each do |k, v|
31
- hash[k] = traverse(v)
32
- end
33
- rescue Exception => e
34
- binding.pry
29
+ value.each do |k, v|
30
+ hash[k] = traverse(v)
35
31
  end
36
-
37
32
  hash
38
33
  end,
39
34
  Array => lambda do |value|
data/lib/rshade/stack.rb CHANGED
@@ -9,7 +9,7 @@ module RShade
9
9
  end
10
10
 
11
11
  def self.trace(config: nil)
12
- new(config:).trace
12
+ new(config: config).trace
13
13
  end
14
14
 
15
15
  def trace
@@ -30,7 +30,7 @@ module RShade
30
30
  type = value.is_a?(Class) ? value : value.class
31
31
  memo[var_name] = {
32
32
  name: var_name,
33
- value:,
33
+ value: value,
34
34
  type: type.to_s
35
35
  }
36
36
  end
@@ -39,11 +39,12 @@ module RShade
39
39
  type = value.is_a?(Class) ? value : value.class
40
40
  memo[var_name] = {
41
41
  name: var_name,
42
- value:,
42
+ value: value,
43
43
  type: type.to_s
44
44
  }
45
45
  end
46
- hash = { source_location:, local_vars:, source: {}, receiver_variables: }
46
+ hash = { source_location: source_location, local_vars: local_vars, source: {},
47
+ receiver_variables: receiver_variables }
47
48
  new(hash)
48
49
  end
49
50
 
@@ -32,12 +32,12 @@ module RShade
32
32
  private
33
33
 
34
34
  # more info https://rubyapi.org/3.1/o/tracepoint
35
- # @param [TracePoint] tp
36
- def process(tp)
35
+ # @param [TracePoint] trace_point
36
+ def process(trace_point)
37
37
  changed
38
- event = Event.from_trace_point(tp)
39
- return notify_observers(event, :enter) if CALL_EVENTS.include?(tp.event)
40
- return notify_observers(event, :leave) if RETURN_EVENTS.include?(tp.event)
38
+ event = Event.from_trace_point(trace_point)
39
+ return notify_observers(event, :enter) if CALL_EVENTS.include?(trace_point.event)
40
+ return notify_observers(event, :leave) if RETURN_EVENTS.include?(trace_point.event)
41
41
 
42
42
  notify_observers(event, :other)
43
43
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RShade
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.1'
5
5
  end
data/rshade.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.metadata['changelog_uri'] = 'https://github.com/gingray/rshade/CHANGELOG.md'
26
26
  else
27
27
  raise 'RubyGems 2.0 or newer is required to protect against ' \
28
- 'public gem pushes.'
28
+ 'public gem pushes.'
29
29
  end
30
30
 
31
31
  # Specify which files should be added to the gem when it is released.
@@ -36,12 +36,11 @@ Gem::Specification.new do |spec|
36
36
  spec.bindir = 'exe'
37
37
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
38
38
  spec.require_paths = ['lib']
39
+ spec.required_ruby_version = '>= 2.7.0'
39
40
 
40
- spec.add_runtime_dependency 'binding_of_caller'
41
- spec.add_runtime_dependency 'colorize'
42
- spec.add_runtime_dependency 'prism'
41
+ spec.add_dependency 'binding_of_caller'
42
+ spec.add_dependency 'colorize'
43
+ spec.add_dependency 'prism'
43
44
 
44
- spec.add_development_dependency 'bundler', '~> 2.2.33'
45
- spec.add_development_dependency 'rake', '>= 12.3.3'
46
- spec.add_development_dependency 'rspec', '~> 3.0'
45
+ spec.metadata['rubygems_mfa_required'] = 'true'
47
46
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rshade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Lopatin
@@ -52,48 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 2.2.33
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 2.2.33
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 12.3.3
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 12.3.3
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.0'
97
55
  description: https://github.com/gingray/rshade
98
56
  email:
99
57
  - gingray.dev@gmail.com
@@ -103,6 +61,7 @@ extra_rdoc_files: []
103
61
  files:
104
62
  - ".gitignore"
105
63
  - ".rspec"
64
+ - ".rubocop.yml"
106
65
  - ".travis.yml"
107
66
  - Gemfile
108
67
  - Gemfile.lock
@@ -137,7 +96,6 @@ files:
137
96
  - lib/rshade/formatter/trace/json.rb
138
97
  - lib/rshade/formatter/trace/stdout.rb
139
98
  - lib/rshade/formatter/trace/string.rb
140
- - lib/rshade/rails/rails.rb
141
99
  - lib/rshade/rspec/rspec.rb
142
100
  - lib/rshade/serializer/traversal.rb
143
101
  - lib/rshade/stack.rb
@@ -156,6 +114,7 @@ metadata:
156
114
  homepage_uri: https://github.com/gingray/rshade
157
115
  source_code_uri: https://github.com/gingray/rshade
158
116
  changelog_uri: https://github.com/gingray/rshade/CHANGELOG.md
117
+ rubygems_mfa_required: 'true'
159
118
  post_install_message:
160
119
  rdoc_options: []
161
120
  require_paths:
@@ -164,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
123
  requirements:
165
124
  - - ">="
166
125
  - !ruby/object:Gem::Version
167
- version: '0'
126
+ version: 2.7.0
168
127
  required_rubygems_version: !ruby/object:Gem::Requirement
169
128
  requirements:
170
129
  - - ">="
File without changes