cowsay 0.2.0 → 0.3.0

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,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