boba 0.0.4 → 0.0.5

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: e6b2eb9c09c7bcd8a5050115892945fc23749ddc3b9f0376387c914c089c390b
4
- data.tar.gz: b17a134072db6a900007bc4a74cba405ca69383039e710e86862de09c6daa93f
3
+ metadata.gz: e16935e2db06568259ab419c305c0ed064d4fba98c58d4a1f20dab74dd7daa26
4
+ data.tar.gz: 96a1a1e8220ce8dc7a3e9a7c2a7a9b0c675fbfcf4e0c5544b033889265c3c1e4
5
5
  SHA512:
6
- metadata.gz: 6d1bd6b43cc6ad2104ad6bcb96f78a53eb7c70068ef948ba0ab172fb8821537963e3a4bf5fe2b810613f9a2e4e9c0a30364bca266e243af1b8cf2800f0d8772a
7
- data.tar.gz: 38e5e55631671d0bf64c7c8f64b3d21d8d7c8dbd393b4ffc960f2e958766302bb67dea0c8aeef65ec606f2f395d1194ac1367551a795ae66c7f455ce412f287e
6
+ metadata.gz: 246e8b2873276f8e87909aae71dc14143e5635f201246a0b1c9a91a8aa60cec73dfa6e1871672a6e050099f217e646777c0c08a5e9bf5d2ff56cfd71a15de90a
7
+ data.tar.gz: 9eb1b1c15ba3939c3aec1e76ed83258940d3f3c2afa1f6f054d6189edcbcd65a2f4f853c81a925c2245ed2dd512563eeb689febf7d12fd756f368c2487c20478
data/lib/boba/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Boba
5
- VERSION = "0.0.4"
5
+ VERSION = "0.0.5"
6
6
  end
@@ -0,0 +1,37 @@
1
+ # typed: ignore
2
+ # frozen_string_literal: true
3
+
4
+ return unless defined?(Tapioca)
5
+
6
+ require "tapioca/dsl/compilers/state_machines"
7
+
8
+ module Tapioca
9
+ module Dsl
10
+ module Compilers
11
+ # `Tapioca::Dsl::Compilers::StateMachinesExtended` extends the default state machines compiler provided by Tapioca
12
+ # to allow for calling `with_state` and `without_state` on all Active Record relations. This is a temporary fix
13
+ # until a more durable solution can be found for this type of issue.
14
+ # See https://github.com/Shopify/tapioca/pull/1994#issuecomment-2302624697.
15
+ class StateMachinesExtended < ::Tapioca::Dsl::Compilers::StateMachines
16
+ ACTIVE_RECORD_RELATION_MODULE_NAMES = [
17
+ "GeneratedRelationMethods",
18
+ "GeneratedAssociationRelationMethods",
19
+ ].freeze
20
+
21
+ def decorate
22
+ return if constant.state_machines.empty?
23
+
24
+ super()
25
+
26
+ root.create_path(T.unsafe(constant)) do |klass|
27
+ class_module_name = "StateMachineClassHelperModule"
28
+
29
+ ACTIVE_RECORD_RELATION_MODULE_NAMES.each do |module_name|
30
+ klass.create_module(module_name).create_include(class_module_name)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Angellist
@@ -53,14 +53,15 @@ files:
53
53
  - lib/tapioca/dsl/compilers/active_record_associations_persisted.rb
54
54
  - lib/tapioca/dsl/compilers/active_record_columns_persisted.rb
55
55
  - lib/tapioca/dsl/compilers/money_rails.rb
56
+ - lib/tapioca/dsl/compilers/state_machines_extended.rb
56
57
  homepage: https://github.com/angellist/boba
57
58
  licenses:
58
59
  - MIT
59
60
  metadata:
60
61
  bug_tracker_uri: https://github.com/angellist/boba/issues
61
- changelog_uri: https://github.com/angellist/boba/blob/0.0.4/History.md
62
+ changelog_uri: https://github.com/angellist/boba/blob/0.0.5/History.md
62
63
  homepage_uri: https://github.com/angellist/boba
63
- source_code_uri: https://github.com/angellist/boba/tree/0.0.4
64
+ source_code_uri: https://github.com/angellist/boba/tree/0.0.5
64
65
  rubygems_mfa_required: 'true'
65
66
  post_install_message:
66
67
  rdoc_options: []