Class: Cowsapi::Cow

Inherits:
Object
  • Object
show all
Defined in:
lib/cowsapi/cow.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Cow

Returns a new instance of Cow.



28
29
30
# File 'lib/cowsapi/cow.rb', line 28

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



27
28
29
# File 'lib/cowsapi/cow.rb', line 27

def name
  @name
end

Class Method Details

.allObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cowsapi/cow.rb', line 8

def all
  puts "getting all cows"
  lines = `cowsay -l`.split("\n")
  [DefaultCow.new].tap do |cows|
    lines[1..-1].each do |line|
      line.split.each do |c|
        cows << Cow.new(c)
      end
    end
  end
end

.get(name) ⇒ Object



20
21
22
23
24
# File 'lib/cowsapi/cow.rb', line 20

def get(name)
  all.detect{|cow|
    cow.name == name
  }
end

Instance Method Details

#say(string) ⇒ Object



32
33
34
# File 'lib/cowsapi/cow.rb', line 32

def say(string)
  `cowsay -f #{name} #{Shellwords.escape(string)}`
end