bcdd-result 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +31 -11
  3. data/CHANGELOG.md +148 -0
  4. data/README.md +849 -242
  5. data/Rakefile +9 -3
  6. data/Steepfile +1 -1
  7. data/lib/bcdd/result/config/constant_alias.rb +33 -0
  8. data/lib/bcdd/result/config/options.rb +26 -0
  9. data/lib/bcdd/result/config/switcher.rb +82 -0
  10. data/lib/bcdd/result/config.rb +71 -0
  11. data/lib/bcdd/result/context/expectations/mixin.rb +23 -0
  12. data/lib/bcdd/result/context/expectations.rb +25 -0
  13. data/lib/bcdd/result/context/failure.rb +9 -0
  14. data/lib/bcdd/result/context/mixin.rb +41 -0
  15. data/lib/bcdd/result/context/success.rb +15 -0
  16. data/lib/bcdd/result/context.rb +74 -0
  17. data/lib/bcdd/result/{expectations/contract → contract}/disabled.rb +2 -2
  18. data/lib/bcdd/result/{expectations → contract}/error.rb +5 -3
  19. data/lib/bcdd/result/{expectations/contract → contract}/evaluator.rb +2 -2
  20. data/lib/bcdd/result/{expectations/contract → contract}/for_types.rb +2 -2
  21. data/lib/bcdd/result/contract/for_types_and_values.rb +44 -0
  22. data/lib/bcdd/result/contract/interface.rb +21 -0
  23. data/lib/bcdd/result/{expectations → contract}/type_checker.rb +1 -1
  24. data/lib/bcdd/result/contract.rb +33 -0
  25. data/lib/bcdd/result/error.rb +7 -9
  26. data/lib/bcdd/result/expectations/mixin.rb +19 -12
  27. data/lib/bcdd/result/expectations.rb +51 -36
  28. data/lib/bcdd/result/failure/methods.rb +21 -0
  29. data/lib/bcdd/result/failure.rb +2 -16
  30. data/lib/bcdd/result/mixin.rb +26 -8
  31. data/lib/bcdd/result/success/methods.rb +21 -0
  32. data/lib/bcdd/result/success.rb +2 -16
  33. data/lib/bcdd/result/version.rb +1 -1
  34. data/lib/bcdd/result.rb +17 -4
  35. data/lib/bcdd-result.rb +3 -0
  36. data/sig/bcdd/result.rbs +340 -88
  37. metadata +27 -16
  38. data/lib/bcdd/result/expectations/contract/for_types_and_values.rb +0 -37
  39. data/lib/bcdd/result/expectations/contract/interface.rb +0 -21
  40. data/lib/bcdd/result/expectations/contract.rb +0 -25
  41. data/lib/result.rb +0 -5
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class BCDD::Result::Expectations
4
- module Contract::Interface
5
- def allowed_types
6
- raise ::BCDD::Result::Error::NotImplemented
7
- end
8
-
9
- def type?(_type)
10
- raise ::BCDD::Result::Error::NotImplemented
11
- end
12
-
13
- def type!(_type)
14
- raise ::BCDD::Result::Error::NotImplemented
15
- end
16
-
17
- def type_and_value!(_data)
18
- raise ::BCDD::Result::Error::NotImplemented
19
- end
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class BCDD::Result::Expectations
4
- module Contract
5
- require_relative 'contract/interface'
6
- require_relative 'contract/evaluator'
7
- require_relative 'contract/disabled'
8
- require_relative 'contract/for_types'
9
- require_relative 'contract/for_types_and_values'
10
-
11
- NONE = Contract::Evaluator.new(Contract::Disabled, Contract::Disabled).freeze
12
-
13
- ToEnsure = ->(spec) do
14
- return Contract::Disabled if spec.nil?
15
-
16
- spec.is_a?(Hash) ? Contract::ForTypesAndValues.new(spec) : Contract::ForTypes.new(Array(spec))
17
- end
18
-
19
- def self.new(success:, failure:)
20
- Contract::Evaluator.new(ToEnsure[success], ToEnsure[failure])
21
- end
22
-
23
- private_constant :ToEnsure
24
- end
25
- end
data/lib/result.rb DELETED
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'bcdd/result'
4
-
5
- Object.const_set(:Result, BCDD::Result)