contracts-rb 0.1.2
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +19 -0
- data/CONTRIBUTING.md +3 -0
- data/LICENSE.txt +9 -0
- data/README.md +140 -0
- data/SECURITY.md +3 -0
- data/assets/contracts-rb-logo.png +0 -0
- data/docs/_config.yml +3 -0
- data/docs/assets/contracts-rb-logo.png +0 -0
- data/docs/contracts/contracts.md +59 -0
- data/docs/index.html +79 -0
- data/examples/banking/README.md +3 -0
- data/examples/banking/bank_account.rb +21 -0
- data/examples/banking/demo.rb +6 -0
- data/examples/banking/transfer_service.rb +15 -0
- data/exe/contracts +105 -0
- data/lib/contracts/rails.rb +20 -0
- data/lib/contracts/rspec/verifier.rb +25 -0
- data/lib/contracts/rspec.rb +42 -0
- data/lib/contracts/version.rb +5 -0
- data/lib/contracts.rb +971 -0
- data/sig/contracts.rbs +7 -0
- metadata +65 -0
data/sig/contracts.rbs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
module Contracts
|
|
2
|
+
VERSION: String
|
|
3
|
+
def self.configure: () { (Configuration) -> void } -> void
|
|
4
|
+
def self.contract_for: (Module owner, Symbol method_name, ?method_type: Symbol) -> Contract?
|
|
5
|
+
def self.nilable: (untyped value) -> Constraints::Nilable
|
|
6
|
+
def self.any: (*untyped values) -> Constraints::Union
|
|
7
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: contracts-rb
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.2
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Magnexis
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies: []
|
|
12
|
+
description: Expressive runtime contracts for parameters, results, state, invariants,
|
|
13
|
+
and exceptions.
|
|
14
|
+
executables:
|
|
15
|
+
- contracts
|
|
16
|
+
extensions: []
|
|
17
|
+
extra_rdoc_files: []
|
|
18
|
+
files:
|
|
19
|
+
- CHANGELOG.md
|
|
20
|
+
- CONTRIBUTING.md
|
|
21
|
+
- LICENSE.txt
|
|
22
|
+
- README.md
|
|
23
|
+
- SECURITY.md
|
|
24
|
+
- assets/contracts-rb-logo.png
|
|
25
|
+
- docs/_config.yml
|
|
26
|
+
- docs/assets/contracts-rb-logo.png
|
|
27
|
+
- docs/contracts/contracts.md
|
|
28
|
+
- docs/index.html
|
|
29
|
+
- examples/banking/README.md
|
|
30
|
+
- examples/banking/bank_account.rb
|
|
31
|
+
- examples/banking/demo.rb
|
|
32
|
+
- examples/banking/transfer_service.rb
|
|
33
|
+
- exe/contracts
|
|
34
|
+
- lib/contracts.rb
|
|
35
|
+
- lib/contracts/rails.rb
|
|
36
|
+
- lib/contracts/rspec.rb
|
|
37
|
+
- lib/contracts/rspec/verifier.rb
|
|
38
|
+
- lib/contracts/version.rb
|
|
39
|
+
- sig/contracts.rbs
|
|
40
|
+
homepage: https://github.com/magnexis/contracts-rb
|
|
41
|
+
licenses:
|
|
42
|
+
- MIT
|
|
43
|
+
metadata:
|
|
44
|
+
rubygems_mfa_required: 'true'
|
|
45
|
+
source_code_uri: https://github.com/magnexis/contracts-rb
|
|
46
|
+
changelog_uri: https://github.com/magnexis/contracts-rb/blob/master/CHANGELOG.md
|
|
47
|
+
bug_tracker_uri: https://github.com/magnexis/contracts-rb/issues
|
|
48
|
+
rdoc_options: []
|
|
49
|
+
require_paths:
|
|
50
|
+
- lib
|
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '3.1'
|
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
requirements: []
|
|
62
|
+
rubygems_version: 4.0.17
|
|
63
|
+
specification_version: 4
|
|
64
|
+
summary: Behavioral contracts for Ruby methods and objects
|
|
65
|
+
test_files: []
|