cowsay 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 65ab42463ff499077774ced76b9c5387f51704bf
4
- data.tar.gz: 62b57172421861fc21c9488da47aa3bf0de694d4
3
+ metadata.gz: 8666afebea3d0cad15b1e827c52f43ee14e85f0a
4
+ data.tar.gz: 422b6e87c16ff33c39c77ad7ba22e2644501fc40
5
5
  SHA512:
6
- metadata.gz: 6b8bc0b93384c1469bb23c58985a4f86e19dd2e6a8bdbdc9aa90589e7fd403ed55b043f36bcc1508ed787c68c8105b3a7d3ce0419a84f92debb687a5c25e6fd4
7
- data.tar.gz: 9ac18d65095f6535a93c1d8944b80913b75394565e4d671d261856a28c74721290412290480fa6e257dd5d6de68ce386da1106b76190386807e376610ab34aa1
6
+ metadata.gz: ec61d8faaaad4d4d359399f8d79218042e72e62f6498ffa8ed323435b204eb4bd680999b78af697e2e64268989cf736ce24e75d198c52e2fc63a23e111ee1d7f
7
+ data.tar.gz: 6fe64d3b196612410ae82ac64209ae110ff88e7471afabf743146e14752349819b55a13acf420a895152c93aed5de87791762e0bd668c44b0809360232e83d51
data/bin/cowsay CHANGED
@@ -1,10 +1,28 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'cowsay'
4
+ require 'optparse'
4
5
 
5
- message = if ARGV.any?
6
- ARGV.join(' ')
6
+ options = {}
7
+ OptionParser.new do |opts|
8
+ opts.banner = "Usage: cowsay [-h] [-f cowfile] [-l] [message]"
9
+ opts.on("-l", "List available cow files") do |cowfile|
10
+ options['list'] = true
11
+ end
12
+ opts.on("-f COWFILE", "Specify a cow file") do |cowfile|
13
+ options['cowfile'] = cowfile
14
+ end
15
+ end.parse!
16
+
17
+ if options['list']
18
+ puts "Cow files:"
19
+ puts Cowsay.character_classes.join(' ')
7
20
  else
8
- ARGF.read.chomp
21
+ if ARGV.any?
22
+ message = ARGV.join(' ')
23
+ else
24
+ #retrieve any piped input, otherwise use the empty string.
25
+ message = STDIN.tty? ? '' : ARGF.read.chomp
26
+ end
27
+ puts Cowsay.say(message, options['cowfile'])
9
28
  end
10
- puts Cowsay.say message
@@ -13,7 +13,16 @@ module ::Cowsay
13
13
  @character_classes ||= Character.constants.map { |c| c.to_sym } - [:Base, :Template]
14
14
  end
15
15
 
16
- def say(message)
17
- random_character.say(message)
16
+ def say(message, character)
17
+ character ||= 'cow'
18
+ if character == 'random'
19
+ random_character.say(message)
20
+ else
21
+ if character_classes.include? character.capitalize.to_sym
22
+ Character.const_get(character.capitalize).say(message)
23
+ else
24
+ puts "No cow file found for #{character}. Use the -l flag to see a list of available cow files."
25
+ end
26
+ end
18
27
  end
19
28
  end
@@ -1,3 +1,3 @@
1
1
  module Cowsay
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cowsay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JohnnyT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-16 00:00:00.000000000 Z
11
+ date: 2016-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.4.0
84
+ rubygems_version: 2.5.1
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: ASCII art avatars emote your messages