muina 0.2.8 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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