conditionz 0.0.7 → 0.0.8

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzVmNzI1N2EyZmZhYTAwMWE5YzMxYzY3M2ZlMTIwZjhkMGI3ZDlkNQ==
4
+ Y2VlM2U1MzljNzAzMDQxYmUxZjY0Nzg0YWY5ZTc5ZGJiYzYxM2VhNQ==
5
5
  data.tar.gz: !binary |-
6
- ZTM5YTFiZDlhMDYxNWFmZTkwNWYzODc3NTUyZjNkZDY5NzViMzU0Yg==
6
+ MzM2MzRlOTk1YmM4Mzg1NGE2ZTEzMTU3ZWQzNjE3Zjk4YzQzZGU1ZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTdhNjJmYjNlODQ4MTlmNjkyMGY0ZjNiZDgwOTU0ODc1NDgxYzA3NmUwOWNk
10
- YjY5NTI3YmUyNTJlZGNhMTQ0ZWNhMzllY2E5MjczNmY2ZjMzM2YwNjVkYzkx
11
- Yjc3NTQyMzlhYTQ1MTQ0NGNmNzQ1NTc1MmE4NjNlM2E2Mzc4OWU=
9
+ MTk2MjRiZTUzMjEwZjA4ZjliY2I5NzBjMTQxOTUwN2RiZGFjYmYwZWVjMzgy
10
+ MjdkOWY5MGQ4ZmJlNGQ5YTg4MDJiNDZiOTA2MTBhNWE2Zjg0OTNiZjkzZDNi
11
+ MzJlMzVkNDRiZTQ2ODMwMzdhMTFlMmExOWJkY2VkOTk3ZTEwNmI=
12
12
  data.tar.gz: !binary |-
13
- Y2YyNjAyNmViMWZkZmZiZTA4NTJjN2M5NTIxMWQ1NGI1MzEyOTE0ODAwYWE1
14
- NjJlZDNmNDUxNmExODkzYjQ5ODlmMTIyMGZmYTRmNGIwMTQ0ODYwZTg4NWU5
15
- ZGRjOTEwNWRhYjg4NzlhZmNmZTVjZWIzZjA4MmJiYTAyYTMyODg=
13
+ ZGFjMmU1Zjg3N2ExMjFhNDAyMmI4NTBjMGU4MTI3NmIyZDMwMDk2YmE2MjY0
14
+ ODFhNDBmZmI0N2Y4OTZkNDQyNDA0YjBhNzZiOTA1OTA0NTI3YzgzMjY3YmQ5
15
+ OWMwYTk5ODMyODI1MjJhODE0NTkyZmVmOTMxNDlhMTJmNDU1NjM=
data/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ *.rbc
2
+ capybara-*.html
3
+ .rspec
4
+ /log
5
+ /tmp
6
+ /db/*.sqlite3
7
+ /public/system
8
+ /coverage/
9
+ /spec/tmp
10
+ /pkg
11
+ **.orig
12
+ rerun.txt
13
+ pickle-email-*.html
14
+ config/initializers/secret_token.rb
15
+ config/secrets.yml
16
+
17
+ ## Environment normalisation:
18
+ /.bundle
19
+ /vendor/bundle
20
+
21
+ # these should all be checked in to normalise the environment:
22
+ # Gemfile.lock, .ruby-version, .ruby-gemset
23
+
24
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
25
+ .rvmrc
data/Gemfile.lock ADDED
@@ -0,0 +1,24 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ conditionz (0.0.7)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.2.4)
10
+ rspec (2.13.0)
11
+ rspec-core (~> 2.13.0)
12
+ rspec-expectations (~> 2.13.0)
13
+ rspec-mocks (~> 2.13.0)
14
+ rspec-core (2.13.1)
15
+ rspec-expectations (2.13.0)
16
+ diff-lcs (>= 1.1.3, < 2.0)
17
+ rspec-mocks (2.13.1)
18
+
19
+ PLATFORMS
20
+ ruby
21
+
22
+ DEPENDENCIES
23
+ conditionz!
24
+ rspec (~> 2.6)
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 yaniv preiss
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,103 @@
1
+ conditionz
2
+ ===================
3
+
4
+ # Description
5
+
6
+ Semantic Design-By-Contract pre-conditions and post-conditions.
7
+
8
+ The purpose is to raise an error when a certain condition or more are not met.
9
+
10
+ See
11
+
12
+ http://en.wikipedia.org/wiki/Design_by_contract
13
+
14
+ http://en.wikipedia.org/wiki/Precondition
15
+
16
+ http://en.wikipedia.org/wiki/Postcondition
17
+
18
+
19
+ # Installation
20
+
21
+ Add to your Gemfile:
22
+
23
+ ```ruby
24
+ gem 'conditionz'
25
+ ```
26
+
27
+ Then run:
28
+
29
+ ```ruby
30
+ bundle install
31
+ ```
32
+
33
+ # Usage
34
+
35
+ Suppose you have the following class:
36
+
37
+ ```ruby
38
+ class MyTime
39
+ attr_accessor :hour, :minute
40
+
41
+ def initialize(new_hour, new_minute)
42
+ hour = new_hour
43
+ minute = new_minute
44
+ end
45
+ end
46
+ ```
47
+
48
+ Now you wish that initialize method parameters are within a certain range.
49
+ Include the pre condition, and add the precondition
50
+
51
+ ```ruby
52
+ include Conditionz
53
+
54
+ class MyTime
55
+ attr_accessor :hour, :minute
56
+
57
+ def initialize(new_hour, new_minute)
58
+ Precondition.require 0 <= new_hour && new_hour <= 23, "Hour must be between 0 and 23"
59
+ Precondition.require 0 <= new_minute && new_minute <= 59, "Minute must be between 0 and 59"
60
+
61
+ hour = new_hour
62
+ minute = new_minute
63
+ end
64
+ end
65
+ ```
66
+
67
+ Notice the call to ```Precondition.require```, which receives a predicate (a boolean expression),
68
+ and an optional message ```string``` or ```proc```.
69
+
70
+ Here's an example with proc:
71
+ ```ruby
72
+ Precondition.require 0 <= new_hour && new_hour <= 23, Proc.new { "Hour must be between 0 and 23 but got #{new_hour}" }
73
+ ```
74
+
75
+ Analogously, you can ensure post conditions:
76
+ (In this example, instead of ```include```, the fully qualified name is used
77
+
78
+ ```ruby
79
+ class MyQueue
80
+ attr_accessor :size
81
+
82
+ def push(item)
83
+ # some implementation of pushing to queue...
84
+
85
+ Conditionz::PostCondition.ensure size > 0
86
+ end
87
+ end
88
+ ```
89
+
90
+
91
+ Not directly related, and preferably unit tested, but could be useful - assert a predicate
92
+
93
+ ```ruby
94
+ def foo
95
+ first_result = first_calculation()
96
+ Assert.that first_result > 0, "result should have been positive"
97
+ second_result = sqrt first_result
98
+ end
99
+ ```
100
+
101
+ # License
102
+
103
+ see MIT-LICENSE
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,21 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'conditionz'
7
+ s.version = Conditionz::VERSION
8
+ s.date = '2014-04-01'
9
+ s.summary = "Semantic 'Design-By-Contract pre and post conditions'"
10
+ s.description = "Assert pre-conditions and post-conditions inside methods"
11
+ s.authors = ["Yaniv Preiss"]
12
+ s.email = 'yanivpr@gmail.com'
13
+ s.files = `git ls-files`.split("\n")
14
+ s.test_files = s.files.grep(%r{^(spec)/})
15
+ s.homepage = 'https://github.com/yanivpr/conditionz'
16
+ s.license = 'MIT'
17
+
18
+ s.add_development_dependency "rspec", "~> 2.6"
19
+ s.add_development_dependency "bundler", "~> 1.4"
20
+ s.add_development_dependency "rake"
21
+ end
data/gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/lib/conditionz.rb CHANGED
@@ -1,7 +1,11 @@
1
+ require 'version'
1
2
  require 'conditionz/condition_base'
2
3
  require 'conditionz/pre_condition'
3
4
  require 'conditionz/post_condition'
4
5
  require 'conditionz/assert'
5
6
  require 'conditionz/pre_condition_not_met_error'
6
7
  require 'conditionz/post_condition_not_met_error'
7
- require 'conditionz/assertion_error'
8
+ require 'conditionz/assertion_error'
9
+
10
+ module Conditionz
11
+ end
@@ -0,0 +1,25 @@
1
+ require_relative 'condition_base'
2
+
3
+ module Conditionz
4
+
5
+ # Raise assertion error when +predicate+ is false
6
+ class Assert
7
+
8
+ # Raise assertion error if predicate is false. Otherwise do nothing
9
+ #
10
+ # ==== Attributes
11
+ #
12
+ # * +predicate+ - a boolean expression to eval
13
+ # * +message+ - Error message to raise
14
+ #
15
+ # ==== Examples
16
+ #
17
+ # Assert.that age > 0, "Age should have been positive"
18
+ # Assert.that age > 0
19
+ #
20
+ def self.that predicate, message = 'Assertion failed'
21
+ ConditionBase.verify predicate, AssertionError, message
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'condition_base'
2
+
3
+ module Conditionz
4
+
5
+ # Raised when assertion failed
6
+ class AssertionError < StandardError
7
+ attr_reader :message
8
+ def initialize(message = '')
9
+ @message = message
10
+ end
11
+ end
12
+
13
+ end
@@ -0,0 +1,31 @@
1
+ require_relative 'pre_condition_not_met_error'
2
+ require_relative 'post_condition_not_met_error'
3
+
4
+ module Conditionz
5
+
6
+ # Raise error when +predicate+ is false
7
+ class ConditionBase
8
+
9
+ # Raise error if predicate is false. Otherwise do nothing
10
+ #
11
+ # ==== Attributes
12
+ #
13
+ # * +predicate+ - a boolean expression to eval
14
+ # * +error_class+ - Class of the error to raise
15
+ # * +message+ - Error message to raise
16
+ #
17
+ # ==== Examples
18
+ #
19
+ # ConditionBase.verify age > 0, Conditionz::PreCondition, "Age must be positive"
20
+ # ConditionBase.verify age > 0, Conditionz::PreCondition
21
+ #
22
+ def self.verify predicate, error_class, message = 'Condition not met'
23
+ return if predicate
24
+
25
+ error_message = message.is_a?(String) ? message : message.call
26
+ raise error_class, error_message
27
+ end
28
+
29
+ end
30
+
31
+ end
@@ -0,0 +1,25 @@
1
+ require_relative 'condition_base'
2
+
3
+ module Conditionz
4
+
5
+ # Raise postcondition error when +predicate+ is false
6
+ class PostCondition
7
+
8
+ # Raise postcondition error if predicate is false. Otherwise do nothing
9
+ #
10
+ # ==== Attributes
11
+ #
12
+ # * +predicate+ - a boolean expression to eval
13
+ # * +message+ - Error message to raise
14
+ #
15
+ # ==== Examples
16
+ #
17
+ # PostCondition.ensure age > 0, "Age should have been positive"
18
+ # PostCondition.ensure age > 0
19
+ #
20
+ def self.ensure predicate, message = 'Postcondition not met'
21
+ ConditionBase.verify predicate, PostConditionNotMetError, message
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'condition_base'
2
+
3
+ module Conditionz
4
+
5
+ # Raised when a postcondition is not met
6
+ class PostConditionNotMetError < StandardError
7
+ attr_reader :message
8
+ def initialize(message = '')
9
+ @message = message
10
+ end
11
+ end
12
+
13
+ end
@@ -0,0 +1,25 @@
1
+ require_relative 'condition_base'
2
+
3
+ module Conditionz
4
+
5
+ # Raise precondition error when +predicate+ is false
6
+ class PreCondition
7
+
8
+ # Raise precondition error if predicate is false. Otherwise do nothing
9
+ #
10
+ # ==== Attributes
11
+ #
12
+ # * +predicate+ - a boolean expression to eval
13
+ # * +message+ - Error message to raise
14
+ #
15
+ # ==== Examples
16
+ #
17
+ # PreCondition.require age > 0, "Age must be positive"
18
+ # PreCondition.require age > 0
19
+ #
20
+ def self.require predicate, message = 'Precondition not met'
21
+ ConditionBase.verify predicate, PreConditionNotMetError, message
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ module Conditionz
2
+
3
+ # Raised when a precondition is not met
4
+ class PreConditionNotMetError < StandardError
5
+ attr_reader :message
6
+ def initialize(message = '')
7
+ @message = message
8
+ end
9
+ end
10
+
11
+ end
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module Conditionz
2
+ VERSION = "0.0.8"
3
+ end
@@ -0,0 +1,22 @@
1
+ require 'conditionz/assert'
2
+
3
+ describe Conditionz::Assert do
4
+
5
+ let(:predicate) { true } #doesn't matter for these tests
6
+
7
+ it "should call the condition base with assert error and message" do
8
+ message = "some message"
9
+ Conditionz::ConditionBase.should_receive(:verify).
10
+ with(predicate, Conditionz::AssertionError, message)
11
+
12
+ Conditionz::Assert.that predicate, message
13
+ end
14
+
15
+ it "should call the condition base with assert error and message_proc" do
16
+ message_proc = Proc.new { "some message" }
17
+ Conditionz::ConditionBase.should_receive(:verify).
18
+ with(predicate, Conditionz::AssertionError, message_proc)
19
+
20
+ Conditionz::Assert.that predicate, message_proc
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ require 'conditionz/assertion_error'
2
+
3
+ describe Conditionz::AssertionError do
4
+
5
+ it "should have correct message" do
6
+ message = "some message"
7
+ error = Conditionz::AssertionError.new(message)
8
+
9
+ error.message.should == message
10
+ end
11
+ end
@@ -0,0 +1,93 @@
1
+ require 'conditionz/condition_base'
2
+
3
+ describe Conditionz::ConditionBase do
4
+
5
+ context "predicate is true" do
6
+ let(:true_predicate) { true }
7
+
8
+ it "should not raise precondition error" do
9
+ message = "custom pre condition message"
10
+
11
+ expect {
12
+ Conditionz::ConditionBase.verify true_predicate,
13
+ Conditionz::PreConditionNotMetError,
14
+ message
15
+ }.not_to raise_error
16
+ end
17
+
18
+ it "should not raise postcondition error" do
19
+ message = "custom post condition message"
20
+
21
+ expect {
22
+ Conditionz::ConditionBase.verify true_predicate,
23
+ Conditionz::PostConditionNotMetError,
24
+ message
25
+ }.to_not raise_error
26
+ end
27
+ end
28
+
29
+ context "predicate is false" do
30
+ let(:false_predicate) { false }
31
+
32
+ context "precondition" do
33
+ it "should raise error with given message" do
34
+ message = "custom pre condition message"
35
+
36
+ expect {
37
+ Conditionz::ConditionBase.verify false_predicate,
38
+ Conditionz::PreConditionNotMetError,
39
+ message
40
+ }.to raise_error Conditionz::PreConditionNotMetError, message
41
+ end
42
+
43
+ it "should raise error with given message proc" do
44
+ message = "custom pre condition message"
45
+ message_proc = Proc.new { message }
46
+
47
+ expect {
48
+ Conditionz::ConditionBase.verify false_predicate,
49
+ Conditionz::PreConditionNotMetError,
50
+ message_proc
51
+ }.to raise_error Conditionz::PreConditionNotMetError, message
52
+ end
53
+
54
+ it "should raise error with default message" do
55
+ expect {
56
+ Conditionz::ConditionBase.verify false_predicate,
57
+ Conditionz::PreConditionNotMetError
58
+ }.to raise_error Conditionz::PreConditionNotMetError, 'Condition not met'
59
+ end
60
+ end
61
+
62
+ context "postcondition" do
63
+ it "should raise error with given message" do
64
+ message = "custom post condition message"
65
+
66
+ expect {
67
+ Conditionz::ConditionBase.verify false_predicate,
68
+ Conditionz::PostConditionNotMetError,
69
+ message
70
+ }.to raise_error Conditionz::PostConditionNotMetError, message
71
+ end
72
+
73
+ it "should raise error with given message proc" do
74
+ message = "custom post condition message"
75
+ message_proc = Proc.new { message }
76
+
77
+ expect {
78
+ Conditionz::ConditionBase.verify false_predicate,
79
+ Conditionz::PostConditionNotMetError,
80
+ message_proc
81
+ }.to raise_error Conditionz::PostConditionNotMetError, message
82
+ end
83
+
84
+ it "should raise error with default message" do
85
+ expect {
86
+ Conditionz::ConditionBase.verify false_predicate,
87
+ Conditionz::PostConditionNotMetError
88
+ }.to raise_error Conditionz::PostConditionNotMetError, 'Condition not met'
89
+ end
90
+ end
91
+
92
+ end
93
+ end
@@ -0,0 +1,11 @@
1
+ require 'conditionz/post_condition_not_met_error'
2
+
3
+ describe Conditionz::PostConditionNotMetError do
4
+
5
+ it "should have correct message" do
6
+ message = "some message"
7
+ error = Conditionz::PostConditionNotMetError.new(message)
8
+
9
+ error.message.should == message
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ require 'conditionz/post_condition'
2
+
3
+ describe Conditionz::PostCondition do
4
+
5
+ let(:predicate) { true } #doesn't matter for these tests
6
+
7
+ it "should call the condition base with pre condition error and message" do
8
+ message = "some message"
9
+ Conditionz::ConditionBase.should_receive(:verify).
10
+ with(predicate, Conditionz::PostConditionNotMetError, message)
11
+
12
+ Conditionz::PostCondition.ensure predicate, message
13
+ end
14
+
15
+ it "should call the condition base with pre condition error and message_proc" do
16
+ message_proc = Proc.new { "some message" }
17
+ Conditionz::ConditionBase.should_receive(:verify).
18
+ with(predicate, Conditionz::PostConditionNotMetError, message_proc)
19
+
20
+ Conditionz::PostCondition.ensure predicate, message_proc
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ require 'conditionz/pre_condition_not_met_error'
2
+
3
+ describe Conditionz::PreConditionNotMetError do
4
+
5
+ it "should have correct message" do
6
+ message = "some message"
7
+ error = Conditionz::PreConditionNotMetError.new(message)
8
+
9
+ error.message.should == message
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ require 'conditionz/pre_condition'
2
+
3
+ describe Conditionz::PreCondition do
4
+
5
+ let(:predicate) { true } #doesn't matter for these tests
6
+
7
+ it "should call the condition base with pre condition error and message" do
8
+ message = "some message"
9
+ Conditionz::ConditionBase.should_receive(:verify).
10
+ with(predicate, Conditionz::PreConditionNotMetError, message)
11
+
12
+ Conditionz::PreCondition.require predicate, message
13
+ end
14
+
15
+ it "should call the condition base with pre condition error and message_proc" do
16
+ message_proc = Proc.new { "some message" }
17
+ Conditionz::ConditionBase.should_receive(:verify).
18
+ with(predicate, Conditionz::PreConditionNotMetError, message_proc)
19
+
20
+ Conditionz::PreCondition.require predicate, message_proc
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conditionz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yaniv Preiss
@@ -24,14 +24,64 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.4'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  description: Assert pre-conditions and post-conditions inside methods
28
56
  email: yanivpr@gmail.com
29
57
  executables: []
30
58
  extensions: []
31
59
  extra_rdoc_files: []
32
60
  files:
61
+ - .gitignore
62
+ - Gemfile.lock
63
+ - LICENSE
64
+ - README.md
65
+ - Rakefile
66
+ - conditionz.gemspec
67
+ - gemfile
33
68
  - lib/conditionz.rb
34
- homepage: http://rubygems.org/gems/conditionz
69
+ - lib/conditionz/assert.rb
70
+ - lib/conditionz/assertion_error.rb
71
+ - lib/conditionz/condition_base.rb
72
+ - lib/conditionz/post_condition.rb
73
+ - lib/conditionz/post_condition_not_met_error.rb
74
+ - lib/conditionz/pre_condition.rb
75
+ - lib/conditionz/pre_condition_not_met_error.rb
76
+ - lib/version.rb
77
+ - spec/lib/assert_spec.rb
78
+ - spec/lib/assertion_error_spec.rb
79
+ - spec/lib/condition_base_spec.rb
80
+ - spec/lib/post_condition_not_met_error_spec.rb
81
+ - spec/lib/post_condition_spec.rb
82
+ - spec/lib/pre_condition_not_met_error_spec.rb
83
+ - spec/lib/pre_condition_spec.rb
84
+ homepage: https://github.com/yanivpr/conditionz
35
85
  licenses:
36
86
  - MIT
37
87
  metadata: {}
@@ -55,4 +105,11 @@ rubygems_version: 2.2.2
55
105
  signing_key:
56
106
  specification_version: 4
57
107
  summary: Semantic 'Design-By-Contract pre and post conditions'
58
- test_files: []
108
+ test_files:
109
+ - spec/lib/assert_spec.rb
110
+ - spec/lib/assertion_error_spec.rb
111
+ - spec/lib/condition_base_spec.rb
112
+ - spec/lib/post_condition_not_met_error_spec.rb
113
+ - spec/lib/post_condition_spec.rb
114
+ - spec/lib/pre_condition_not_met_error_spec.rb
115
+ - spec/lib/pre_condition_spec.rb