foghorn-leghorn 1.0.1
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/.gitignore +14 -0
- data/Gemfile +4 -0
- data/Guardfile +9 -0
- data/LICENSE.txt +22 -0
- data/README.md +27 -0
- data/Rakefile +11 -0
- data/docs/Foghorn_Leghorn.png +0 -0
- data/examples/foghorn_exceptions.rb +24 -0
- data/examples/foghorn_methods.rb +16 -0
- data/examples/foghorn_minitest.rb +12 -0
- data/foghorn.gemspec +25 -0
- data/lib/foghorn.rb +4 -0
- data/lib/foghorn/exceptions.rb +9 -0
- data/lib/foghorn/exceptions/base.rb +10 -0
- data/lib/foghorn/exceptions/standard_error.rb +13 -0
- data/lib/foghorn/inc/phrases.txt +61 -0
- data/lib/foghorn/methods.rb +39 -0
- data/lib/foghorn/minitest.rb +6 -0
- data/lib/foghorn/minitest/assertions.rb +11 -0
- data/lib/foghorn/version.rb +3 -0
- data/test/exceptions_test.rb +57 -0
- data/test/methods_test.rb +41 -0
- data/test/minitest_test.rb +18 -0
- data/test/test_helper.rb +4 -0
- data/test/version_test.rb +7 -0
- metadata +145 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: de1186a335dcfb4017337328adf2798939f3835f
|
4
|
+
data.tar.gz: 42acf04bf0245a314c2c3c36977f845af4f4ec96
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a44a876f50bf1b5aca6e47ca5415791e2770b593f8e97ec908f855815c2fc1b35ad58d4ea02c227f37160aab08493e0b46c0e2485f28af40272c9d8b864797c8
|
7
|
+
data.tar.gz: 082e36910b1fd4f9a055304ab868af5f81b3c8c902989936aace14f834b20b683048592d70308f7a5e5b4cc9a1f27fd2ef5e55bdf0ea1b46fe6984813e48129b
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard :minitest do
|
5
|
+
# with Minitest::Unit
|
6
|
+
watch(%r{^test/(.*)\/?test_(.*)\.rb$})
|
7
|
+
watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
|
8
|
+
watch(%r{^test/test_helper\.rb$}) { 'test' }
|
9
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 RickR
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
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
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Foghorn
|
2
|
+
|
3
|
+
Add more Foghorn Leghorn to your ruby.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'foghorn'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install foghorn
|
20
|
+
|
21
|
+
## Contributing
|
22
|
+
|
23
|
+
1. Fork it ( https://github.com/rickr/foghorn/fork )
|
24
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
25
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
26
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
27
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'foghorn'
|
2
|
+
include Foghorn::Exceptions
|
3
|
+
|
4
|
+
###
|
5
|
+
### Exceptions currently overrides StdError so anything
|
6
|
+
### That inherits should give us a motivation quote from
|
7
|
+
### Mr. Leghorn
|
8
|
+
|
9
|
+
begin
|
10
|
+
raise
|
11
|
+
rescue => e
|
12
|
+
puts e
|
13
|
+
end
|
14
|
+
puts "\n\n"
|
15
|
+
|
16
|
+
begin
|
17
|
+
raise NoMethodError, 'Custom messages are passed on a newline'
|
18
|
+
rescue => e
|
19
|
+
puts e
|
20
|
+
end
|
21
|
+
puts "\n\n"
|
22
|
+
|
23
|
+
# And this is what a stack strace would look like
|
24
|
+
42 / 0
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'foghorn'
|
2
|
+
include Foghorn::Methods
|
3
|
+
|
4
|
+
### Foghorn up some puts statements
|
5
|
+
Boy.I.say "boy what's wrong with you"
|
6
|
+
|
7
|
+
### The I class is recursive so we can repeat ourselves
|
8
|
+
I.say.I.say.I.say 'ruby is awesome'
|
9
|
+
Boy.I.say.boy "what's with you and chunky bacon"
|
10
|
+
|
11
|
+
### go_away allows us to exit
|
12
|
+
Boy.I.say.go_away 1
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'foghorn'
|
2
|
+
require 'minitest'
|
3
|
+
require 'minitest/autorun'
|
4
|
+
include Foghorn::Minitest
|
5
|
+
|
6
|
+
class FoghornExample < Minitest::Test
|
7
|
+
def test_pass_examples
|
8
|
+
# This is just a wrapper around assert_equal/refute_equal
|
9
|
+
i_do_declare 1, :to_be, 1
|
10
|
+
i_do_declare 1, :to_not_be, 2
|
11
|
+
end
|
12
|
+
end
|
data/foghorn.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'foghorn/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'foghorn-leghorn'
|
8
|
+
spec.version = Foghorn::VERSION
|
9
|
+
spec.authors = ['RickR']
|
10
|
+
spec.email = ['rick@rudelinux.org']
|
11
|
+
spec.summary = %q{Foghorn Leghorn Expections}
|
12
|
+
spec.homepage = ""
|
13
|
+
spec.license = 'MIT'
|
14
|
+
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
+
spec.require_paths = ['lib']
|
19
|
+
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
21
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
22
|
+
spec.add_development_dependency 'minitest', '~> 5.7'
|
23
|
+
spec.add_development_dependency 'guard-minitest', '~> 2.4'
|
24
|
+
spec.add_development_dependency 'guard', '~> 2.12'
|
25
|
+
end
|
data/lib/foghorn.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
module Foghorn::Exceptions::StandardError
|
2
|
+
class ::StandardError
|
3
|
+
def to_s(*args)
|
4
|
+
foghorn_exception = "#{Foghorn::Exceptions::Base.phrase}"
|
5
|
+
|
6
|
+
# Don't print an empty message
|
7
|
+
if(!super.empty? && super != self.class.to_s)
|
8
|
+
foghorn_exception << "\n#{super}"
|
9
|
+
end
|
10
|
+
foghorn_exception
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
Love that dog...love that dog
|
2
|
+
What's it all about boy, elucidate!
|
3
|
+
That's a joke, I say that's a joke son
|
4
|
+
Go, I say go away boy, you bother me
|
5
|
+
His muscles are as soggy as a used tea bag
|
6
|
+
I made a funny son and you're not laughin'
|
7
|
+
That boy's about as sharp as a bowling ball
|
8
|
+
I keep pitchin' ‘em and you keep missin' ‘em
|
9
|
+
That boy's as timid as a canary at a cat show
|
10
|
+
Fortunately I always keep a spare in my locker
|
11
|
+
That woman's as cold as a nudist on an iceberg
|
12
|
+
Nice mannered kid, just a little on the dumb side
|
13
|
+
That kid's about as sharp as a pound of wet liver
|
14
|
+
You're way off, I say you're way off this time son!
|
15
|
+
Nice girl, but about as sharp as a sack of wet mice
|
16
|
+
Nice boy but he's got more nerve than a bum tooth
|
17
|
+
I say, boy, pay attention when I'm talkin' to ya, boy
|
18
|
+
Pay attention, boy, I'm cuttin' but you ain't bleedin'!
|
19
|
+
Smart boy, got a mind like a steel trap – full of mice
|
20
|
+
He's so dumb he thinks a Mexican border pays rent
|
21
|
+
Hmmm, bare, I say bare as a cooch dancers midriff
|
22
|
+
Oh, that woman, got a mouth like an outboard motor
|
23
|
+
That dog's like taxes, he just don't know when to stop
|
24
|
+
That boy's as strong as an ox, and just about as smart
|
25
|
+
Now I wonder what ol' busy body widow hen is up to
|
26
|
+
Boy's gotta mouth like a cannon, always shootin' it off
|
27
|
+
This boy's more mixed up than a feather in a whirlwind
|
28
|
+
That dog, I say that dog's strictly GI – gibberin idiot that is
|
29
|
+
Don't, I say don't bother me dog, can't ya see I'm thinkin'
|
30
|
+
For-I say fortunately I always carry a spare set of feathers
|
31
|
+
That, I say that boy's just like a tatoo, gets under your skin
|
32
|
+
Kid don't quit talkin' so much he'll get his tongue sunburned
|
33
|
+
That dog, I say that dog is lower than a snake full of buckshot
|
34
|
+
That dog's as subtle as a hand grenade in a barrrel of oat meal
|
35
|
+
Boy, you cover about as much as a flapper's skirt in a high wind
|
36
|
+
Pay attention to me boy! I'm not just talkin' to hear my head roar
|
37
|
+
That's the trouble with that fool dog, always shootin' his mouth off
|
38
|
+
That's what I've been – I say, that's what I've been telling you, boy!
|
39
|
+
Now what, I say now what's that skinny old hen doin' up on the barn
|
40
|
+
That, I say that dog's busier than a centipede at a toe countin' contest
|
41
|
+
Now cut that out boy, or I'll spank you where the feathers are thinnest
|
42
|
+
Look sister is any of this filterin' through that little blue bonnet of yours
|
43
|
+
I got, I say I got this boy as fidgety as a bubble dancer with a slow leak
|
44
|
+
Stop, I say stop it boy, you're doin' alot of choppin' but no chips are flyin'
|
45
|
+
This is going to cause more confusion than a mouse in a burlesque show
|
46
|
+
You know there might, I say there just might be a market for bottled duck
|
47
|
+
What's, I say what's the big idea wrappin' a lariat around my adams apple
|
48
|
+
Fortunately I keep my feathers numbered, for, for just such an emergency
|
49
|
+
What in the, I say what in the name of Jesse James do you suppose that is
|
50
|
+
Gal reminds me of a highway between Forth Worth and Dallas – no curves
|
51
|
+
Now what, I say what's the big idea bashin' me in the bazooka that-a-way boy!
|
52
|
+
She remi – I say, she reminds me of Paul Revere's ride, a little light in the belfry
|
53
|
+
Now what, I say what's the big idea bashin' me on the noggin' with a rollin' pin!
|
54
|
+
Now who's, I say who's responsible for this unwarranted attack on my person!
|
55
|
+
This boy's making more noise than a couple of skeletons throwin' a fit on a tin roof
|
56
|
+
The snow, I say the snow's so deep the farmers have to jack up the cows so they can milk'em
|
57
|
+
What a day for trampin' through the woods...lump dum do di do do doh, doo dah, doo dah
|
58
|
+
Now that, I say that's no way for a kid to be wastin' his time, readin' that long-haired gobbledegook
|
59
|
+
It's sure, I say it's sure quiet around here, you could hear a caterpillar sneakin' across a moss bed in tennis shoes
|
60
|
+
As senior rooster 'round here, it's my duty, and my pleasure, to instruct junior roosters in the ancient art of roostery
|
61
|
+
Hey boy, what's the idea jackin' that pot up under me? Jack? Pot? Ahuh, huh...jack pot, that's a joke son, don't ya get it?
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Foghorn::Methods
|
2
|
+
# http://foghornleghornquotes.com/foghorn-leghorn-sayings/
|
3
|
+
|
4
|
+
class I
|
5
|
+
# These class methods (and aliases) allow us to
|
6
|
+
# repeat ourselves repeat ourselves without using
|
7
|
+
# method missing
|
8
|
+
def self.i
|
9
|
+
Foghorn::Methods::I
|
10
|
+
end
|
11
|
+
self.singleton_class.send(:alias_method, :I, :i) # This is kind of scary...
|
12
|
+
|
13
|
+
def self.boy
|
14
|
+
Foghorn::Methods::I
|
15
|
+
end
|
16
|
+
self.singleton_class.send(:alias_method, :Boy, :boy)
|
17
|
+
|
18
|
+
###
|
19
|
+
### If we get a string puts it, otherwise return our I class so
|
20
|
+
### we can recurse
|
21
|
+
def self.say(string_or_class = nil)
|
22
|
+
if string_or_class
|
23
|
+
puts string_or_class
|
24
|
+
else
|
25
|
+
Foghorn::Methods::I
|
26
|
+
end
|
27
|
+
end
|
28
|
+
self.singleton_class.send(:alias_method, :boy, :say)
|
29
|
+
|
30
|
+
def self.go_away(exit_code = 0)
|
31
|
+
exit exit_code
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
# Allow us to preface our calls with these classes eg Boy.I.say
|
37
|
+
class Boy < I; end
|
38
|
+
class Go < I; end
|
39
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Minitest::Assertions
|
2
|
+
def i_do_declare(act, operator, exp)
|
3
|
+
if operator.to_sym == :to_be
|
4
|
+
assert_equal(exp, act) if operator == :to_be
|
5
|
+
elsif operator.to_sym == :to_not_be
|
6
|
+
refute_equal(exp, act) if operator == :to_not_be
|
7
|
+
else
|
8
|
+
fail 'Operator not in :to_be or :to_not_be'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
include Foghorn::Exceptions
|
3
|
+
|
4
|
+
class ExceptionsTests < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@phrases = Foghorn::Exceptions::Base.phrases
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_phrase_provided
|
10
|
+
assert_includes(@phrases, Foghorn::Exceptions::Base.phrase)
|
11
|
+
end
|
12
|
+
|
13
|
+
###
|
14
|
+
### phrases are returned ending with \n
|
15
|
+
def test_exception_message_includes_phrase
|
16
|
+
exception = assert_raises do
|
17
|
+
1 / 0
|
18
|
+
end
|
19
|
+
phrase = exception.to_s.split("\n").first
|
20
|
+
assert_includes(@phrases, phrase)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_existing_messages_remain
|
24
|
+
exception = assert_raises do
|
25
|
+
[1, 2, 3].first(4, 5)
|
26
|
+
end
|
27
|
+
arg_error = exception.to_s.split("\n").last
|
28
|
+
assert_equal('wrong number of arguments (2 for 1)', arg_error)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_custom_message_is_used
|
32
|
+
exception = assert_raises do
|
33
|
+
raise TypeError, 'this is a custom message'
|
34
|
+
end
|
35
|
+
custom_message = exception.to_s.split("\n").last
|
36
|
+
assert_equal 'this is a custom message', custom_message
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_message_equals_to_s
|
40
|
+
exception = assert_raises do
|
41
|
+
1 / 0
|
42
|
+
end
|
43
|
+
assert_equal exception.to_s.split("\n")[1..-1], exception.message.split("\n")[1..-1]
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_no_second_line_if_no_message
|
47
|
+
exception = assert_raises do
|
48
|
+
raise NameError
|
49
|
+
end
|
50
|
+
assert_equal 1, exception.message.lines.count
|
51
|
+
|
52
|
+
exception = assert_raises do
|
53
|
+
raise IOError, 'With a message'
|
54
|
+
end
|
55
|
+
assert_equal 2, exception.message.lines.count
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
include Foghorn::Methods
|
3
|
+
|
4
|
+
class MethodsTests < Minitest::Test
|
5
|
+
def test_i_say_puts_a_string
|
6
|
+
assert_respond_to I, :say
|
7
|
+
assert_output("test\n"){I.say('test')}
|
8
|
+
|
9
|
+
assert_output("test\n"){Boy.I.say('test')}
|
10
|
+
assert_output("test\n"){Boy.i.say('test')}
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_i_say_recursive
|
14
|
+
test_string = "test string!\n"
|
15
|
+
assert_output(test_string){ I.say.i.say test_string }
|
16
|
+
assert_output(test_string){ I.say.i.say.i.say test_string }
|
17
|
+
assert_output(test_string){ Boy.I.say.boy test_string }
|
18
|
+
|
19
|
+
# We can call the I method in the I class as well
|
20
|
+
assert_output(test_string){ I.say.I.say test_string }
|
21
|
+
assert_output(test_string){ I.say.I.say.I.say test_string }
|
22
|
+
|
23
|
+
# Chaining I's
|
24
|
+
assert_output(test_string){ I.I.I.say test_string }
|
25
|
+
|
26
|
+
# Chaining Boy's
|
27
|
+
assert_output(test_string){ Boy.I.say.Boy.i.say test_string }
|
28
|
+
assert_output(test_string){ Boy.I.say.Boy.i.say.boy.i.say test_string }
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_go_away
|
32
|
+
ret = assert_raises(SystemExit){I.say.go_away 0}
|
33
|
+
assert_equal 0, ret.status
|
34
|
+
|
35
|
+
ret = assert_raises(SystemExit){I.say.go_away 1}
|
36
|
+
assert_equal 1, ret.status
|
37
|
+
|
38
|
+
ret = assert_raises(SystemExit){Boy.I.say.go_away 1}
|
39
|
+
assert_equal 1, ret.status
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
include Foghorn::Minitest
|
3
|
+
|
4
|
+
class MinitestTests < Minitest::Test
|
5
|
+
def test_i_do_declare
|
6
|
+
test_var = 'string'
|
7
|
+
|
8
|
+
assert(i_do_declare true, :to_be, true)
|
9
|
+
assert(i_do_declare 1, :to_be, 1)
|
10
|
+
assert(i_do_declare test_var, :to_be, 'string')
|
11
|
+
|
12
|
+
refute(i_do_declare false, :to_not_be, true)
|
13
|
+
refute(i_do_declare 1, :to_not_be, 2)
|
14
|
+
refute(i_do_declare test_var, :to_not_be, 'not_string')
|
15
|
+
|
16
|
+
assert_raises{i_do_declare false, :invalid, true}
|
17
|
+
end
|
18
|
+
end
|
data/test/test_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foghorn-leghorn
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- RickR
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-07-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.7'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard-minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.12'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.12'
|
83
|
+
description:
|
84
|
+
email:
|
85
|
+
- rick@rudelinux.org
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- ".gitignore"
|
91
|
+
- Gemfile
|
92
|
+
- Guardfile
|
93
|
+
- LICENSE.txt
|
94
|
+
- README.md
|
95
|
+
- Rakefile
|
96
|
+
- docs/Foghorn_Leghorn.png
|
97
|
+
- examples/foghorn_exceptions.rb
|
98
|
+
- examples/foghorn_methods.rb
|
99
|
+
- examples/foghorn_minitest.rb
|
100
|
+
- foghorn.gemspec
|
101
|
+
- lib/foghorn.rb
|
102
|
+
- lib/foghorn/exceptions.rb
|
103
|
+
- lib/foghorn/exceptions/base.rb
|
104
|
+
- lib/foghorn/exceptions/standard_error.rb
|
105
|
+
- lib/foghorn/inc/phrases.txt
|
106
|
+
- lib/foghorn/methods.rb
|
107
|
+
- lib/foghorn/minitest.rb
|
108
|
+
- lib/foghorn/minitest/assertions.rb
|
109
|
+
- lib/foghorn/version.rb
|
110
|
+
- test/exceptions_test.rb
|
111
|
+
- test/methods_test.rb
|
112
|
+
- test/minitest_test.rb
|
113
|
+
- test/test_helper.rb
|
114
|
+
- test/version_test.rb
|
115
|
+
homepage: ''
|
116
|
+
licenses:
|
117
|
+
- MIT
|
118
|
+
metadata: {}
|
119
|
+
post_install_message:
|
120
|
+
rdoc_options: []
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
requirements: []
|
134
|
+
rubyforge_project:
|
135
|
+
rubygems_version: 2.4.5
|
136
|
+
signing_key:
|
137
|
+
specification_version: 4
|
138
|
+
summary: Foghorn Leghorn Expections
|
139
|
+
test_files:
|
140
|
+
- test/exceptions_test.rb
|
141
|
+
- test/methods_test.rb
|
142
|
+
- test/minitest_test.rb
|
143
|
+
- test/test_helper.rb
|
144
|
+
- test/version_test.rb
|
145
|
+
has_rdoc:
|