muina 0.2.8 → 0.4.0

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.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +25 -0
  3. data/README.md +0 -35
  4. data/lib/muina/maybe/none.rb +61 -0
  5. data/lib/muina/maybe/some.rb +62 -0
  6. data/lib/muina/maybe.rb +13 -0
  7. data/lib/muina/result/failure.rb +7 -18
  8. data/lib/muina/result/success.rb +7 -18
  9. data/lib/muina/result.rb +6 -8
  10. data/lib/muina/version.rb +1 -2
  11. data/lib/muina.rb +0 -32
  12. metadata +24 -225
  13. data/.github/workflows/main.yml +0 -16
  14. data/.gitignore +0 -5
  15. data/.mutant.yml +0 -38
  16. data/.rspec +0 -4
  17. data/.rubocop.yml +0 -181
  18. data/.ruby-version +0 -1
  19. data/.simplecov +0 -14
  20. data/CHANGELOG.md +0 -38
  21. data/Gemfile +0 -34
  22. data/Gemfile.lock +0 -265
  23. data/Guardfile +0 -24
  24. data/Rakefile +0 -13
  25. data/SECURITY.md +0 -14
  26. data/bin/bundle +0 -114
  27. data/bin/console +0 -15
  28. data/bin/flay +0 -29
  29. data/bin/flog +0 -29
  30. data/bin/guard +0 -29
  31. data/bin/irb +0 -29
  32. data/bin/lefthook +0 -29
  33. data/bin/mutant +0 -29
  34. data/bin/parlour +0 -29
  35. data/bin/rake +0 -29
  36. data/bin/rspec +0 -29
  37. data/bin/rubocop +0 -29
  38. data/bin/setup +0 -8
  39. data/bin/srb +0 -29
  40. data/bin/srb-rbi +0 -29
  41. data/bin/tapioca +0 -29
  42. data/exe/muina +0 -11
  43. data/lefthook.yml +0 -39
  44. data/lib/muina/action/params_factory.rb +0 -17
  45. data/lib/muina/action/step/command.rb +0 -33
  46. data/lib/muina/action/step/failure.rb +0 -18
  47. data/lib/muina/action/step/query.rb +0 -35
  48. data/lib/muina/action/step/result.rb +0 -56
  49. data/lib/muina/action/step.rb +0 -13
  50. data/lib/muina/action.rb +0 -73
  51. data/lib/muina/any.rb +0 -7
  52. data/lib/muina/classes.rb +0 -7
  53. data/lib/muina/deprecator.rb +0 -93
  54. data/lib/muina/entity.rb +0 -20
  55. data/lib/muina/module.rb +0 -6
  56. data/lib/muina/parameters.rb +0 -7
  57. data/lib/muina/params.rb +0 -19
  58. data/lib/muina/private_creation.rb +0 -12
  59. data/lib/muina/result/factory.rb +0 -37
  60. data/lib/muina/result/null.rb +0 -25
  61. data/lib/muina/service.rb +0 -25
  62. data/lib/muina/symbol_hash.rb +0 -7
  63. data/lib/muina/unit.rb +0 -10
  64. data/lib/muina/untyped_array.rb +0 -7
  65. data/lib/muina/untyped_hash.rb +0 -7
  66. data/lib/muina/value.rb +0 -24
  67. data/muina.gemspec +0 -35
  68. data/rbi/muina.rbi +0 -311
  69. data/sorbet/config +0 -2
  70. data/sorbet/rbi/gems/actionpack@6.1.4.rbi +0 -5045
  71. data/sorbet/rbi/gems/actionview@6.1.4.rbi +0 -2416
  72. data/sorbet/rbi/gems/activesupport@6.1.4.rbi +0 -3778
  73. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -54
  74. data/sorbet/rbi/gems/awesome_print@1.9.2.rbi +0 -322
  75. data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -8
  76. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -18
  77. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  78. data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -39
  79. data/sorbet/rbi/gems/commander@4.6.0.rbi +0 -8
  80. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +0 -2403
  81. data/sorbet/rbi/gems/crass@1.0.6.rbi +0 -123
  82. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +0 -185
  83. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -54
  84. data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -36
  85. data/sorbet/rbi/gems/erubis@2.7.0.rbi +0 -8
  86. data/sorbet/rbi/gems/faker@2.18.0.rbi +0 -2469
  87. data/sorbet/rbi/gems/ffi@1.15.3.rbi +0 -8
  88. data/sorbet/rbi/gems/flay@2.12.1.rbi +0 -178
  89. data/sorbet/rbi/gems/flog@4.6.4.rbi +0 -70
  90. data/sorbet/rbi/gems/formatador@0.3.0.rbi +0 -8
  91. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +0 -49
  92. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +0 -233
  93. data/sorbet/rbi/gems/guard-rubocop@1.4.0.rbi +0 -66
  94. data/sorbet/rbi/gems/guard-shell@0.7.2.rbi +0 -69
  95. data/sorbet/rbi/gems/guard@2.18.0.rbi +0 -617
  96. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
  97. data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -616
  98. data/sorbet/rbi/gems/io-console@0.5.9.rbi +0 -8
  99. data/sorbet/rbi/gems/irb@1.3.6.rbi +0 -452
  100. data/sorbet/rbi/gems/lefthook@0.7.6.rbi +0 -8
  101. data/sorbet/rbi/gems/listen@3.6.0.rbi +0 -476
  102. data/sorbet/rbi/gems/loofah@2.10.0.rbi +0 -223
  103. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +0 -431
  104. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -8
  105. data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -344
  106. data/sorbet/rbi/gems/mutant-license@0.1.1.1.4043027289354708743625974235631451632228.0.rbi +0 -8
  107. data/sorbet/rbi/gems/mutant-rspec@0.10.32.rbi +0 -8
  108. data/sorbet/rbi/gems/mutant@0.10.32.rbi +0 -4154
  109. data/sorbet/rbi/gems/nenv@0.3.0.rbi +0 -88
  110. data/sorbet/rbi/gems/nokogiri@1.11.7.rbi +0 -1422
  111. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +0 -331
  112. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -113
  113. data/sorbet/rbi/gems/parlour@6.0.1.rbi +0 -1726
  114. data/sorbet/rbi/gems/parser@3.0.2.0.rbi +0 -1683
  115. data/sorbet/rbi/gems/path_expander@1.1.0.rbi +0 -24
  116. data/sorbet/rbi/gems/polyfill@1.9.0.rbi +0 -393
  117. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  118. data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -47
  119. data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -272
  120. data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1618
  121. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +0 -92
  122. data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -183
  123. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -153
  124. data/sorbet/rbi/gems/rake@13.0.6.rbi +0 -808
  125. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +0 -8
  126. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +0 -8
  127. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -1120
  128. data/sorbet/rbi/gems/reline@0.2.6.rbi +0 -662
  129. data/sorbet/rbi/gems/rexml@3.2.5.rbi +0 -672
  130. data/sorbet/rbi/gems/rspec-core@3.10.1.rbi +0 -2509
  131. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +0 -1574
  132. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +0 -1462
  133. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +0 -509
  134. data/sorbet/rbi/gems/rspec@3.10.0.rbi +0 -38
  135. data/sorbet/rbi/gems/rubocop-ast@1.8.0.rbi +0 -2194
  136. data/sorbet/rbi/gems/rubocop-performance@1.11.4.rbi +0 -899
  137. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -118
  138. data/sorbet/rbi/gems/rubocop-rspec@2.4.0.rbi +0 -1805
  139. data/sorbet/rbi/gems/rubocop-sorbet@0.6.2.rbi +0 -288
  140. data/sorbet/rbi/gems/rubocop@1.18.4.rbi +0 -13197
  141. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -405
  142. data/sorbet/rbi/gems/ruby_parser@3.16.0.rbi +0 -4528
  143. data/sorbet/rbi/gems/safe_type@1.1.1.rbi +0 -157
  144. data/sorbet/rbi/gems/sexp_processor@4.15.3.rbi +0 -359
  145. data/sorbet/rbi/gems/shellany@0.0.1.rbi +0 -28
  146. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -89
  147. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +0 -577
  148. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +0 -8
  149. data/sorbet/rbi/gems/sorbet-coerce@0.5.0.rbi +0 -42
  150. data/sorbet/rbi/gems/sorbet-rails@0.7.4.rbi +0 -8
  151. data/sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi +0 -17
  152. data/sorbet/rbi/gems/spoom@1.1.1.rbi +0 -1193
  153. data/sorbet/rbi/gems/tapioca@0.4.23.rbi +0 -1826
  154. data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -838
  155. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -856
  156. data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -26
  157. data/sorbet/rbi/gems/unparser@0.6.0.rbi +0 -2037
  158. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -173
  159. data/sorbet/rbi/todo.rbi +0 -8
  160. data/sorbet/rbi/typed_params.rbi +0 -7
  161. data/sorbet/tapioca/require.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 406f36585e9a83b4436c4d055ad66e3c5387f4a9102cc5e441999379625fab21
4
- data.tar.gz: 11feb70f115ddfa6b68357c70e3bf38727dc1fac02d18540e1f2ebd56ff46024
3
+ metadata.gz: 868d82b70df649f4904a718c34d487f5c05da90a0e9d28620765c080cb970020
4
+ data.tar.gz: 322edb475ebf673ae7d54b8bae3e6c44a0a0be9b7a2bb80df5d27f474b35d90c
5
5
  SHA512:
6
- metadata.gz: 52000f4ca1c38ddbf38ca826ed94d295d6119d00c40851fdd311ae6d3c1bb6fee42d5dd58f3e1a8b937b4eb0f1bf373949ded1d7ade0f88ea2c005ee38fc4b04
7
- data.tar.gz: ed926845c343654537e5bb2078b1a28911fbfad27af85b7df2e4ac11c5539ecc8234357cfb234ec1e21c832a2dba44bc99373535138071e8f2bd7f71a94e3566
6
+ metadata.gz: 996ea7ae5699568af2096e486edf7df2eaf72c4ca7b2dfd1d40d3c54483fa1c2d97227f1c53947ec674a698a8abd5368e5fb854fc5a998c2ec0cbe231094bec6
7
+ data.tar.gz: a93c3d768491556b845fbeb7d00e7424e5b9966b1ed5b940abc627f4b9a873b7184615c4e5f55f55a073fe0e1ece527610e48055a0dac8a5e84156438c96bcae
data/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <https://unlicense.org>
25
+
data/README.md CHANGED
@@ -1,36 +1 @@
1
1
  # Muina
2
-
3
- [![Gem Version](https://badge.fury.io/rb/muina.svg)](https://badge.fury.io/rb/muina)
4
-
5
- Typesafe base objects to make your code safer and cleaner.
6
-
7
- ## Installation
8
-
9
- ```ruby
10
- gem 'muina'
11
- ```
12
-
13
- ## Usage
14
-
15
- * Muina::Action: self extracting, step based, result returning features
16
- * Muina::Params: self extracting typed params
17
- * Muina::PrivateCreation: mixin to make `.new` and `.allocate` private
18
- * Muina::Result: type safe result monad
19
- * Muina::Service: service object with typesafe constants and attributes
20
- * Muina::Value: typesafe immutable struct-like objects
21
- * `muina` CLI: to copy bundled rbi file
22
-
23
- ## Development
24
-
25
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests.
26
- You can also run `bin/console` for an interactive prompt that will allow you to experiment.
27
-
28
- To install this gem onto your local machine, run `bundle exec rake install`.
29
- To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`,
30
- which will create a git tag for the version, push git commits and the created tag,
31
- and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
-
33
- ## Contributing
34
-
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/vaporyhumo/muina.
36
- This project is intended to be a safe, welcoming space for collaboration.
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Muina
4
+ class Maybe
5
+ class None < self
6
+ private_class_method(:new)
7
+ def initialize
8
+ freeze
9
+ end
10
+
11
+ def some?
12
+ false
13
+ end
14
+
15
+ def none?
16
+ true
17
+ end
18
+
19
+ def value!
20
+ raise
21
+ end
22
+
23
+ def value_or(default)
24
+ default
25
+ end
26
+
27
+ def value_or_yield
28
+ yield
29
+ end
30
+
31
+ def value_or_nil
32
+ nil
33
+ end
34
+
35
+ def and_then
36
+ self
37
+ end
38
+
39
+ def or_else
40
+ yield
41
+ self
42
+ end
43
+
44
+ def map
45
+ self
46
+ end
47
+
48
+ def map_none
49
+ Maybe.return yield
50
+ end
51
+
52
+ def bind
53
+ self
54
+ end
55
+
56
+ def bind_none
57
+ yield
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Muina
4
+ class Maybe
5
+ class Some < self
6
+ def initialize(value)
7
+ @value = value
8
+ freeze
9
+ end
10
+ private_class_method(:new)
11
+
12
+ def some?
13
+ true
14
+ end
15
+
16
+ def none?
17
+ false
18
+ end
19
+
20
+ def value!
21
+ @value
22
+ end
23
+
24
+ def value_or(default)
25
+ @value
26
+ end
27
+
28
+ def value_or_yield
29
+ @value
30
+ end
31
+
32
+ def value_or_nil
33
+ @value
34
+ end
35
+
36
+ def and_then
37
+ yield(@value)
38
+ self
39
+ end
40
+
41
+ def or_else
42
+ self
43
+ end
44
+
45
+ def map
46
+ Maybe.return yield(@value)
47
+ end
48
+
49
+ def map_none
50
+ self
51
+ end
52
+
53
+ def bind
54
+ yield(@value)
55
+ end
56
+
57
+ def bind_none
58
+ self
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Muina
4
+ class Maybe
5
+ def self.return(value)
6
+ Some.__send__(:new, value)
7
+ end
8
+
9
+ def self.none
10
+ None.__send__(:new)
11
+ end
12
+ end
13
+ end
@@ -1,30 +1,19 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module Muina
5
- class Result < Value
6
- # Right(wrong) side of the Result Monad
4
+ class Result
7
5
  class Failure < self
8
- class ValueCalledOnFailureError < Error; end
9
-
10
- const :error, T.untyped
11
- private :error
6
+ def initialize(error)
7
+ @error = error
8
+ freeze
9
+ end
12
10
 
13
11
  def value!
14
- raise ValueCalledOnFailureError
12
+ raise
15
13
  end
16
14
 
17
15
  def error!
18
- error
19
- end
20
-
21
- def and_then(&_blk)
22
- self
23
- end
24
-
25
- def or_else(&blk)
26
- blk[error] if blk
27
- self
16
+ @error
28
17
  end
29
18
  end
30
19
  end
@@ -1,30 +1,19 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module Muina
5
- class Result < Value
6
- # Left(correct) side of the Result Monad
4
+ class Result
7
5
  class Success < self
8
- class ErrorCalledOnSuccessError < Error; end
9
-
10
- const :value, T.untyped
11
- private :value
6
+ def initialize(value)
7
+ @value = value
8
+ freeze
9
+ end
12
10
 
13
11
  def value!
14
- value
12
+ @value
15
13
  end
16
14
 
17
15
  def error!
18
- raise ErrorCalledOnSuccessError
19
- end
20
-
21
- def and_then(&blk)
22
- blk[value] if blk
23
- self
24
- end
25
-
26
- def or_else(&_blk)
27
- self
16
+ raise
28
17
  end
29
18
  end
30
19
  end
data/lib/muina/result.rb CHANGED
@@ -1,17 +1,15 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module Muina
5
- # Result Monad
6
- class Result < Value
7
- include PrivateCreation
4
+ class Result
5
+ private_class_method :new
8
6
 
9
- def self.Null # rubocop:disable Naming/MethodName
10
- Null.__send__(:new)
7
+ def self.success(value)
8
+ Success.__send__(:new, value)
11
9
  end
12
10
 
13
- def self.[](success_klass, error_klass)
14
- Factory.new(success_klass: success_klass, error_klass: error_klass)
11
+ def self.failure(error)
12
+ Failure.__send__(:new, error)
15
13
  end
16
14
  end
17
15
  end
data/lib/muina/version.rb CHANGED
@@ -1,7 +1,6 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module Muina
5
- VERSION = '0.2.8'
4
+ VERSION = '0.4.0'
6
5
  public_constant :VERSION
7
6
  end
data/lib/muina.rb CHANGED
@@ -1,42 +1,10 @@
1
- # typed: strict
2
1
  # frozen_string_literal: true
3
2
 
4
- # Load dependencies
5
- require 'action_controller'
6
- require 'action_controller/metal/exceptions'
7
- require 'sorbet-runtime'
8
- require 'sorbet-rails/typed_params'
9
- require 'sorbet-struct-comparable'
10
-
11
- # Require Module monkeypatch
12
- require 'muina/module'
13
-
14
- # Setup zeitwork loader
15
3
  require 'zeitwerk'
16
4
  loader = Zeitwerk::Loader.for_gem
17
- module_ext = "#{__dir__}/muina/module.rb"
18
- loader.ignore(module_ext)
19
5
  loader.setup
20
6
 
21
- # Top level module
22
7
  module Muina
23
- class Error < StandardError; end
24
-
25
- def self.Success(value) # rubocop:disable Naming/MethodName
26
- Result::Success.__send__(:new, value: value)
27
- end
28
-
29
- def self.Failure(error) # rubocop:disable Naming/MethodName
30
- Result::Failure.__send__(:new, error: error)
31
- end
32
-
33
- def self.Result(&blk) # rubocop:disable Naming/MethodName
34
- Success(blk[])
35
- rescue StandardError => e
36
- Failure(e)
37
- end
38
8
  end
39
- M = Muina
40
9
 
41
- # Eager load all code
42
10
  loader.eager_load
metadata CHANGED
@@ -1,271 +1,70 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muina
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaporyhumo
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-19 00:00:00.000000000 Z
11
+ date: 2024-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: actionpack
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: sorbet-rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: sorbet-runtime
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: sorbet-struct-comparable
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
13
  - !ruby/object:Gem::Dependency
70
14
  name: zeitwerk
71
15
  requirement: !ruby/object:Gem::Requirement
72
16
  requirements:
73
- - - ">="
17
+ - - "~>"
74
18
  - !ruby/object:Gem::Version
75
- version: '0'
19
+ version: '2'
76
20
  type: :runtime
77
21
  prerelease: false
78
22
  version_requirements: !ruby/object:Gem::Requirement
79
23
  requirements:
80
- - - ">="
24
+ - - "~>"
81
25
  - !ruby/object:Gem::Version
82
- version: '0'
83
- description: Useful parent classes for the Rails missing parts
26
+ version: '2'
27
+ description: Monads and other stuff to help you write safer Ruby code
84
28
  email:
85
29
  - roanvilina@gmail.com
86
- executables:
87
- - muina
30
+ executables: []
88
31
  extensions: []
89
32
  extra_rdoc_files: []
90
33
  files:
91
- - ".github/workflows/main.yml"
92
- - ".gitignore"
93
- - ".mutant.yml"
94
- - ".rspec"
95
- - ".rubocop.yml"
96
- - ".ruby-version"
97
- - ".simplecov"
98
- - CHANGELOG.md
99
- - Gemfile
100
- - Gemfile.lock
101
- - Guardfile
34
+ - LICENSE
102
35
  - README.md
103
- - Rakefile
104
- - SECURITY.md
105
- - bin/bundle
106
- - bin/console
107
- - bin/flay
108
- - bin/flog
109
- - bin/guard
110
- - bin/irb
111
- - bin/lefthook
112
- - bin/mutant
113
- - bin/parlour
114
- - bin/rake
115
- - bin/rspec
116
- - bin/rubocop
117
- - bin/setup
118
- - bin/srb
119
- - bin/srb-rbi
120
- - bin/tapioca
121
- - exe/muina
122
- - lefthook.yml
123
36
  - lib/muina.rb
124
- - lib/muina/action.rb
125
- - lib/muina/action/params_factory.rb
126
- - lib/muina/action/step.rb
127
- - lib/muina/action/step/command.rb
128
- - lib/muina/action/step/failure.rb
129
- - lib/muina/action/step/query.rb
130
- - lib/muina/action/step/result.rb
131
- - lib/muina/any.rb
132
- - lib/muina/classes.rb
133
- - lib/muina/deprecator.rb
134
- - lib/muina/entity.rb
135
- - lib/muina/module.rb
136
- - lib/muina/parameters.rb
137
- - lib/muina/params.rb
138
- - lib/muina/private_creation.rb
37
+ - lib/muina/maybe.rb
38
+ - lib/muina/maybe/none.rb
39
+ - lib/muina/maybe/some.rb
139
40
  - lib/muina/result.rb
140
- - lib/muina/result/factory.rb
141
41
  - lib/muina/result/failure.rb
142
- - lib/muina/result/null.rb
143
42
  - lib/muina/result/success.rb
144
- - lib/muina/service.rb
145
- - lib/muina/symbol_hash.rb
146
- - lib/muina/unit.rb
147
- - lib/muina/untyped_array.rb
148
- - lib/muina/untyped_hash.rb
149
- - lib/muina/value.rb
150
43
  - lib/muina/version.rb
151
- - muina.gemspec
152
- - rbi/muina.rbi
153
- - sorbet/config
154
- - sorbet/rbi/gems/actionpack@6.1.4.rbi
155
- - sorbet/rbi/gems/actionview@6.1.4.rbi
156
- - sorbet/rbi/gems/activesupport@6.1.4.rbi
157
- - sorbet/rbi/gems/ast@2.4.2.rbi
158
- - sorbet/rbi/gems/awesome_print@1.9.2.rbi
159
- - sorbet/rbi/gems/builder@3.2.4.rbi
160
- - sorbet/rbi/gems/byebug@11.1.3.rbi
161
- - sorbet/rbi/gems/coderay@1.1.3.rbi
162
- - sorbet/rbi/gems/colorize@0.8.1.rbi
163
- - sorbet/rbi/gems/commander@4.6.0.rbi
164
- - sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi
165
- - sorbet/rbi/gems/crass@1.0.6.rbi
166
- - sorbet/rbi/gems/diff-lcs@1.4.4.rbi
167
- - sorbet/rbi/gems/docile@1.4.0.rbi
168
- - sorbet/rbi/gems/erubi@1.10.0.rbi
169
- - sorbet/rbi/gems/erubis@2.7.0.rbi
170
- - sorbet/rbi/gems/faker@2.18.0.rbi
171
- - sorbet/rbi/gems/ffi@1.15.3.rbi
172
- - sorbet/rbi/gems/flay@2.12.1.rbi
173
- - sorbet/rbi/gems/flog@4.6.4.rbi
174
- - sorbet/rbi/gems/formatador@0.3.0.rbi
175
- - sorbet/rbi/gems/guard-compat@1.2.1.rbi
176
- - sorbet/rbi/gems/guard-rspec@4.7.3.rbi
177
- - sorbet/rbi/gems/guard-rubocop@1.4.0.rbi
178
- - sorbet/rbi/gems/guard-shell@0.7.2.rbi
179
- - sorbet/rbi/gems/guard@2.18.0.rbi
180
- - sorbet/rbi/gems/highline@2.0.3.rbi
181
- - sorbet/rbi/gems/i18n@1.8.10.rbi
182
- - sorbet/rbi/gems/io-console@0.5.9.rbi
183
- - sorbet/rbi/gems/irb@1.3.6.rbi
184
- - sorbet/rbi/gems/lefthook@0.7.6.rbi
185
- - sorbet/rbi/gems/listen@3.6.0.rbi
186
- - sorbet/rbi/gems/loofah@2.10.0.rbi
187
- - sorbet/rbi/gems/lumberjack@1.2.8.rbi
188
- - sorbet/rbi/gems/method_source@1.0.0.rbi
189
- - sorbet/rbi/gems/minitest@5.14.4.rbi
190
- - sorbet/rbi/gems/mutant-license@0.1.1.1.4043027289354708743625974235631451632228.0.rbi
191
- - sorbet/rbi/gems/mutant-rspec@0.10.32.rbi
192
- - sorbet/rbi/gems/mutant@0.10.32.rbi
193
- - sorbet/rbi/gems/nenv@0.3.0.rbi
194
- - sorbet/rbi/gems/nokogiri@1.11.7.rbi
195
- - sorbet/rbi/gems/notiffany@0.1.3.rbi
196
- - sorbet/rbi/gems/parallel@1.20.1.rbi
197
- - sorbet/rbi/gems/parlour@6.0.1.rbi
198
- - sorbet/rbi/gems/parser@3.0.2.0.rbi
199
- - sorbet/rbi/gems/path_expander@1.1.0.rbi
200
- - sorbet/rbi/gems/polyfill@1.9.0.rbi
201
- - sorbet/rbi/gems/pry@0.14.1.rbi
202
- - sorbet/rbi/gems/racc@1.5.2.rbi
203
- - sorbet/rbi/gems/rack-test@1.1.0.rbi
204
- - sorbet/rbi/gems/rack@2.2.3.rbi
205
- - sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi
206
- - sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi
207
- - sorbet/rbi/gems/rainbow@3.0.0.rbi
208
- - sorbet/rbi/gems/rake@13.0.6.rbi
209
- - sorbet/rbi/gems/rb-fsevent@0.11.0.rbi
210
- - sorbet/rbi/gems/rb-inotify@0.10.1.rbi
211
- - sorbet/rbi/gems/regexp_parser@2.1.1.rbi
212
- - sorbet/rbi/gems/reline@0.2.6.rbi
213
- - sorbet/rbi/gems/rexml@3.2.5.rbi
214
- - sorbet/rbi/gems/rspec-core@3.10.1.rbi
215
- - sorbet/rbi/gems/rspec-expectations@3.10.1.rbi
216
- - sorbet/rbi/gems/rspec-mocks@3.10.2.rbi
217
- - sorbet/rbi/gems/rspec-support@3.10.2.rbi
218
- - sorbet/rbi/gems/rspec@3.10.0.rbi
219
- - sorbet/rbi/gems/rubocop-ast@1.8.0.rbi
220
- - sorbet/rbi/gems/rubocop-performance@1.11.4.rbi
221
- - sorbet/rbi/gems/rubocop-rake@0.6.0.rbi
222
- - sorbet/rbi/gems/rubocop-rspec@2.4.0.rbi
223
- - sorbet/rbi/gems/rubocop-sorbet@0.6.2.rbi
224
- - sorbet/rbi/gems/rubocop@1.18.4.rbi
225
- - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
226
- - sorbet/rbi/gems/ruby_parser@3.16.0.rbi
227
- - sorbet/rbi/gems/safe_type@1.1.1.rbi
228
- - sorbet/rbi/gems/sexp_processor@4.15.3.rbi
229
- - sorbet/rbi/gems/shellany@0.0.1.rbi
230
- - sorbet/rbi/gems/simplecov-html@0.12.3.rbi
231
- - sorbet/rbi/gems/simplecov@0.21.2.rbi
232
- - sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi
233
- - sorbet/rbi/gems/sorbet-coerce@0.5.0.rbi
234
- - sorbet/rbi/gems/sorbet-rails@0.7.4.rbi
235
- - sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi
236
- - sorbet/rbi/gems/spoom@1.1.1.rbi
237
- - sorbet/rbi/gems/tapioca@0.4.23.rbi
238
- - sorbet/rbi/gems/thor@1.1.0.rbi
239
- - sorbet/rbi/gems/tzinfo@2.0.4.rbi
240
- - sorbet/rbi/gems/unicode-display_width@2.0.0.rbi
241
- - sorbet/rbi/gems/unparser@0.6.0.rbi
242
- - sorbet/rbi/gems/zeitwerk@2.4.2.rbi
243
- - sorbet/rbi/todo.rbi
244
- - sorbet/rbi/typed_params.rbi
245
- - sorbet/tapioca/require.rb
246
44
  homepage: https://github.com/vaporyhumo/muina
247
- licenses: []
45
+ licenses:
46
+ - Unlicense
248
47
  metadata:
249
48
  homepage_uri: https://github.com/vaporyhumo/muina
250
- source_code_uri: https://github.com/vaporyhumo/muina
251
- changelog_uri: https://github.com/vaporyhumo/muina
252
- post_install_message:
49
+ changelog_uri: https://github.com/vaporyhumo/muina/blob/main/CHANGELOG.md
50
+ rubygems_mfa_required: 'true'
51
+ post_install_message:
253
52
  rdoc_options: []
254
53
  require_paths:
255
54
  - lib
256
55
  required_ruby_version: !ruby/object:Gem::Requirement
257
56
  requirements:
258
- - - ">="
57
+ - - "~>"
259
58
  - !ruby/object:Gem::Version
260
- version: 2.6.0
59
+ version: '3.1'
261
60
  required_rubygems_version: !ruby/object:Gem::Requirement
262
61
  requirements:
263
62
  - - ">="
264
63
  - !ruby/object:Gem::Version
265
64
  version: '0'
266
65
  requirements: []
267
- rubygems_version: 3.2.13
268
- signing_key:
66
+ rubygems_version: 3.5.7
67
+ signing_key:
269
68
  specification_version: 4
270
- summary: Rails and Sorbet compatible framework
69
+ summary: Write safer Ruby code.
271
70
  test_files: []
@@ -1,16 +0,0 @@
1
- name: Ruby
2
-
3
- on: [push,pull_request]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v2
10
- - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
12
- with:
13
- ruby-version: 2.6.6
14
- bundler-cache: true
15
- - name: Run the default task
16
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,5 +0,0 @@
1
- /coverage/
2
- /pkg/
3
-
4
- .rspec_status
5
- .byebug_history