Skip to content

Commit aa8633f

Browse files
authored
Merge pull request #4 from MichalZaporski/main
Add the `Shale::Type::Decimal` type to the tapioca compiler
2 parents 7e4504b + e73f7dd commit aa8633f

File tree

6 files changed

+1078
-619
lines changed

6 files changed

+1078
-619
lines changed

Gemfile.lock

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ GEM
1212
ast (2.4.2)
1313
backport (1.2.0)
1414
benchmark (0.2.1)
15+
bigdecimal (3.2.3)
1516
booleans (0.1.1)
1617
byebug (11.1.3)
1718
diff-lcs (1.5.0)
@@ -58,7 +59,8 @@ GEM
5859
rubocop-espago (1.0.2)
5960
rubocop
6061
ruby-progressbar (1.11.0)
61-
shale (0.9.0)
62+
shale (1.2.2)
63+
bigdecimal
6264
shoulda-context (2.0.0)
6365
solargraph (0.48.0)
6466
backport (~> 1.2)

lib/tapioca/dsl/compilers/shale.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
require 'shale'
55
require 'booleans'
6+
require 'bigdecimal'
67
begin
78
require 'shale/builder'
89
rescue LoadError
@@ -148,7 +149,9 @@ def shale_builder_defined? = Boolean(defined?(::Shale::Builder))
148149
::Shale::Type::Time => Time,
149150
::Shale::Type::Date => Date,
150151
::Shale::Type::Boolean => T::Boolean,
151-
}.freeze,
152+
}.tap do |h|
153+
h[::Shale::Type::Decimal] = BigDecimal if defined?(::Shale::Type::Decimal)
154+
end.freeze,
152155
T::Hash[Class, Object],
153156
)
154157

@@ -162,7 +165,11 @@ def shale_builder_defined? = Boolean(defined?(::Shale::Builder))
162165
::Shale::Type::Time => Time,
163166
::Shale::Type::Date => Date,
164167
::Shale::Type::Boolean => Object,
165-
}.freeze,
168+
}.tap do |h|
169+
if defined?(::Shale::Type::Decimal)
170+
h[::Shale::Type::Decimal] = T.any(BigDecimal, String, Float, Integer, NilClass)
171+
end
172+
end.freeze,
166173
T::Hash[Class, Object],
167174
)
168175

sorbet/rbi/gems/bigdecimal@3.2.3.rbi

Lines changed: 70 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)