tapioca 0.5.4 → 0.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 28c385b223b0ab1221b81420ad3a40222ff243552e121959e1e2290b1711357e
4
- data.tar.gz: 1c06cd621dee12c9afd506a669c2762d2c7ca2f471f2a22b4e38bde6092f9f13
3
+ metadata.gz: 6051054b5414fe5f3383fa6fefc8fabdfd426380c026f55fdf87ecee8e10d964
4
+ data.tar.gz: 5054dacc20c7a8881c957540d0fa624d7ec406d57f8486a9dab9e088e2d270d0
5
5
  SHA512:
6
- metadata.gz: e8f6278d058bef31b5fdac1d94556814de7486355d1bcdf9fb2e29da6f33743ec5c330befb492b51ada82d392d10bae2e0c663eda7a365c1272631add49adce6
7
- data.tar.gz: 4a342639d1ab6a79b83f6273ac9d44589919953f70773d0492c8c038250f344541d280801db88be72883dd8c55ff8ccd9fafa9ffcbff32e5421df2e821b59365
6
+ metadata.gz: e67122acb9f97bef99088a6dd2cded0c29a73bde763ab8acaad0fae6470ba0b1fc4d2a9139e781ca9ba569595560a743eba69dc701b0632712b31104e41ce2cf
7
+ data.tar.gz: 3ebf64268dc86b2740e68d3a508fdc67d458f976028781a4a9bce95eba883d2852840560fec32d3792d7193cdd224898bdfe913ffe800ddf3d5ad7be8a914ca6
data/lib/tapioca/cli.rb CHANGED
@@ -129,7 +129,6 @@ module Tapioca
129
129
  desc: "Verifies RBIs are up-to-date"
130
130
  option :doc,
131
131
  type: :boolean,
132
- default: false,
133
132
  desc: "Include YARD documentation from sources when generating RBIs. Warning: this might be slow"
134
133
  def gem(*gems)
135
134
  Tapioca.silence_warnings do
@@ -80,7 +80,7 @@ module Tapioca
80
80
 
81
81
  sig { override.returns(T::Enumerable[Module]) }
82
82
  def gather_constants
83
- descendants_of(::ActiveRecord::Base).reject(&:abstract_class?)
83
+ descendants_of(::ActiveRecord::Base)
84
84
  end
85
85
 
86
86
  private
@@ -34,53 +34,57 @@ module Tapioca
34
34
  # # post.rbi
35
35
  # # typed: true
36
36
  # class Post
37
- # sig { params(review_date: T.nilable(Date)).returns(T.nilable(Date)) }
38
- # def review_date=(review_date); end
37
+ # include StoreAccessors
39
38
  #
40
- # sig { returns(T.nilable(Date)) }
41
- # def review_date; end
39
+ # module StoreAccessors
40
+ # sig { params(review_date: T.nilable(Date)).returns(T.nilable(Date)) }
41
+ # def review_date=(review_date); end
42
42
  #
43
- # sig { returns(T.nilable(Date)) }
44
- # def review_date_was; end
43
+ # sig { returns(T.nilable(Date)) }
44
+ # def review_date; end
45
45
  #
46
- # sig { returns(T::Boolean) }
47
- # def review_date_changed?; end
46
+ # sig { returns(T.nilable(Date)) }
47
+ # def review_date_was; end
48
48
  #
49
- # sig { returns(T.nilable(Date)) }
50
- # def review_date_before_last_save; end
49
+ # sig { returns(T::Boolean) }
50
+ # def review_date_changed?; end
51
51
  #
52
- # sig { returns(T::Boolean) }
53
- # def saved_change_to_review_date?; end
52
+ # sig { returns(T.nilable(Date)) }
53
+ # def review_date_before_last_save; end
54
54
  #
55
- # sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
56
- # def review_date_change; end
55
+ # sig { returns(T::Boolean) }
56
+ # def saved_change_to_review_date?; end
57
57
  #
58
- # sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
59
- # def saved_change_to_review_date; end
58
+ # sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
59
+ # def review_date_change; end
60
60
  #
61
- # sig { params(reviewd: T::Boolean).returns(T::Boolean) }
62
- # def reviewed=(reviewed); end
61
+ # sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
62
+ # def saved_change_to_review_date; end
63
63
  #
64
- # sig { returns(T::Boolean) }
65
- # def reviewed; end
64
+ # sig { params(reviewd: T::Boolean).returns(T::Boolean) }
65
+ # def reviewed=(reviewed); end
66
66
  #
67
- # sig { returns(T::Boolean) }
68
- # def reviewed_was; end
67
+ # sig { returns(T::Boolean) }
68
+ # def reviewed; end
69
69
  #
70
- # sig { returns(T::Boolean) }
71
- # def reviewed_changed?; end
70
+ # sig { returns(T::Boolean) }
71
+ # def reviewed_was; end
72
72
  #
73
- # sig { returns(T::Boolean) }
74
- # def reviewed_before_last_save; end
73
+ # sig { returns(T::Boolean) }
74
+ # def reviewed_changed?; end
75
75
  #
76
- # sig { returns(T::Boolean) }
77
- # def saved_change_to_reviewed?; end
76
+ # sig { returns(T::Boolean) }
77
+ # def reviewed_before_last_save; end
78
78
  #
79
- # sig { returns(T.nilable([T::Boolean, T::Boolean])) }
80
- # def reviewed_change; end
79
+ # sig { returns(T::Boolean) }
80
+ # def saved_change_to_reviewed?; end
81
81
  #
82
- # sig { returns(T.nilable([T::Boolean, T::Boolean])) }
83
- # def saved_change_to_reviewed; end
82
+ # sig { returns(T.nilable([T::Boolean, T::Boolean])) }
83
+ # def reviewed_change; end
84
+ #
85
+ # sig { returns(T.nilable([T::Boolean, T::Boolean])) }
86
+ # def saved_change_to_reviewed; end
87
+ # end
84
88
  # end
85
89
  # ~~~
86
90
  class ActiveRecordTypedStore < Base
@@ -105,7 +109,11 @@ module Tapioca
105
109
  type = type_for(field.type_sym)
106
110
  type = "T.nilable(#{type})" if field.null && type != "T.untyped"
107
111
 
108
- generate_methods(model, field.name.to_s, type)
112
+ model.create_module("StoreAccessors") do |store_accessors_module|
113
+ generate_methods(store_accessors_module, field.name.to_s, type)
114
+ end
115
+
116
+ model.create_include("StoreAccessors")
109
117
  end
110
118
  end
111
119
  end
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  begin
5
- require "rails/railtie"
6
5
  require "identity_cache"
7
6
  rescue LoadError
8
7
  # means IdentityCache is not installed,
@@ -17,8 +17,14 @@ module Tapioca
17
17
  TracePoint.trace(:class) do |tp|
18
18
  unless tp.self.singleton_class?
19
19
  key = name_of(tp.self)
20
+ file = tp.path
21
+ if file == "(eval)"
22
+ file = T.must(caller_locations)
23
+ .drop_while { |loc| loc.path == "(eval)" }
24
+ .first&.path
25
+ end
20
26
  @class_files[key] ||= Set.new
21
- @class_files[key] << tp.path
27
+ @class_files[key] << file
22
28
  end
23
29
  end
24
30
 
@@ -37,7 +37,7 @@ module RBI
37
37
 
38
38
  sig { void }
39
39
  def set_empty_body_content
40
- comments << RBI::EmptyComment.new unless comments.empty?
40
+ comments << RBI::BlankLine.new unless comments.empty?
41
41
  comments << RBI::Comment.new("THIS IS AN EMPTY RBI FILE.")
42
42
  comments << RBI::Comment.new("see https://github.com/Shopify/tapioca/wiki/Manual-Gem-Requires")
43
43
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Tapioca
5
- VERSION = "0.5.4"
5
+ VERSION = "0.5.5"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapioca
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ufuk Kayserilioglu
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-10-26 00:00:00.000000000 Z
14
+ date: 2021-11-25 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -45,58 +45,70 @@ dependencies:
45
45
  name: rbi
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: 0.0.0
48
51
  - - ">="
49
52
  - !ruby/object:Gem::Version
50
- version: '0'
53
+ version: 0.0.8
51
54
  type: :runtime
52
55
  prerelease: false
53
56
  version_requirements: !ruby/object:Gem::Requirement
54
57
  requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.0.0
55
61
  - - ">="
56
62
  - !ruby/object:Gem::Version
57
- version: '0'
63
+ version: 0.0.8
58
64
  - !ruby/object:Gem::Dependency
59
65
  name: sorbet-static
60
66
  requirement: !ruby/object:Gem::Requirement
61
67
  requirements:
62
68
  - - ">="
63
69
  - !ruby/object:Gem::Version
64
- version: 0.5.6200
70
+ version: 0.5.9204
65
71
  type: :runtime
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
68
74
  requirements:
69
75
  - - ">="
70
76
  - !ruby/object:Gem::Version
71
- version: 0.5.6200
77
+ version: 0.5.9204
72
78
  - !ruby/object:Gem::Dependency
73
79
  name: sorbet-runtime
74
80
  requirement: !ruby/object:Gem::Requirement
75
81
  requirements:
76
82
  - - ">="
77
83
  - !ruby/object:Gem::Version
78
- version: '0'
84
+ version: 0.5.9204
79
85
  type: :runtime
80
86
  prerelease: false
81
87
  version_requirements: !ruby/object:Gem::Requirement
82
88
  requirements:
83
89
  - - ">="
84
90
  - !ruby/object:Gem::Version
85
- version: '0'
91
+ version: 0.5.9204
86
92
  - !ruby/object:Gem::Dependency
87
93
  name: spoom
88
94
  requirement: !ruby/object:Gem::Requirement
89
95
  requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 1.1.0
90
99
  - - ">="
91
100
  - !ruby/object:Gem::Version
92
- version: '0'
101
+ version: 1.1.4
93
102
  type: :runtime
94
103
  prerelease: false
95
104
  version_requirements: !ruby/object:Gem::Requirement
96
105
  requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: 1.1.0
97
109
  - - ">="
98
110
  - !ruby/object:Gem::Version
99
- version: '0'
111
+ version: 1.1.4
100
112
  - !ruby/object:Gem::Dependency
101
113
  name: thor
102
114
  requirement: !ruby/object:Gem::Requirement