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 +4 -4
- data/lib/tapioca/cli.rb +0 -1
- data/lib/tapioca/compilers/dsl/active_record_enum.rb +1 -1
- data/lib/tapioca/compilers/dsl/active_record_typed_store.rb +41 -33
- data/lib/tapioca/compilers/dsl/identity_cache.rb +0 -1
- data/lib/tapioca/constant_locator.rb +7 -1
- data/lib/tapioca/rbi_ext/model.rb +1 -1
- data/lib/tapioca/version.rb +1 -1
- metadata +22 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6051054b5414fe5f3383fa6fefc8fabdfd426380c026f55fdf87ecee8e10d964
|
|
4
|
+
data.tar.gz: 5054dacc20c7a8881c957540d0fa624d7ec406d57f8486a9dab9e088e2d270d0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
@@ -34,53 +34,57 @@ module Tapioca
|
|
|
34
34
|
# # post.rbi
|
|
35
35
|
# # typed: true
|
|
36
36
|
# class Post
|
|
37
|
-
#
|
|
38
|
-
# def review_date=(review_date); end
|
|
37
|
+
# include StoreAccessors
|
|
39
38
|
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
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
|
-
#
|
|
44
|
-
#
|
|
43
|
+
# sig { returns(T.nilable(Date)) }
|
|
44
|
+
# def review_date; end
|
|
45
45
|
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
46
|
+
# sig { returns(T.nilable(Date)) }
|
|
47
|
+
# def review_date_was; end
|
|
48
48
|
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
49
|
+
# sig { returns(T::Boolean) }
|
|
50
|
+
# def review_date_changed?; end
|
|
51
51
|
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
52
|
+
# sig { returns(T.nilable(Date)) }
|
|
53
|
+
# def review_date_before_last_save; end
|
|
54
54
|
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
55
|
+
# sig { returns(T::Boolean) }
|
|
56
|
+
# def saved_change_to_review_date?; end
|
|
57
57
|
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
58
|
+
# sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
|
|
59
|
+
# def review_date_change; end
|
|
60
60
|
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
61
|
+
# sig { returns(T.nilable([T.nilable(Date), T.nilable(Date)])) }
|
|
62
|
+
# def saved_change_to_review_date; end
|
|
63
63
|
#
|
|
64
|
-
#
|
|
65
|
-
#
|
|
64
|
+
# sig { params(reviewd: T::Boolean).returns(T::Boolean) }
|
|
65
|
+
# def reviewed=(reviewed); end
|
|
66
66
|
#
|
|
67
|
-
#
|
|
68
|
-
#
|
|
67
|
+
# sig { returns(T::Boolean) }
|
|
68
|
+
# def reviewed; end
|
|
69
69
|
#
|
|
70
|
-
#
|
|
71
|
-
#
|
|
70
|
+
# sig { returns(T::Boolean) }
|
|
71
|
+
# def reviewed_was; end
|
|
72
72
|
#
|
|
73
|
-
#
|
|
74
|
-
#
|
|
73
|
+
# sig { returns(T::Boolean) }
|
|
74
|
+
# def reviewed_changed?; end
|
|
75
75
|
#
|
|
76
|
-
#
|
|
77
|
-
#
|
|
76
|
+
# sig { returns(T::Boolean) }
|
|
77
|
+
# def reviewed_before_last_save; end
|
|
78
78
|
#
|
|
79
|
-
#
|
|
80
|
-
#
|
|
79
|
+
# sig { returns(T::Boolean) }
|
|
80
|
+
# def saved_change_to_reviewed?; end
|
|
81
81
|
#
|
|
82
|
-
#
|
|
83
|
-
#
|
|
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
|
-
|
|
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
|
|
@@ -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] <<
|
|
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::
|
|
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
|
data/lib/tapioca/version.rb
CHANGED
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
|
+
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-
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
111
|
+
version: 1.1.4
|
|
100
112
|
- !ruby/object:Gem::Dependency
|
|
101
113
|
name: thor
|
|
102
114
|
requirement: !ruby/object:Gem::Requirement
|