Class: Beardo

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Beardo

Returns a new instance of Beardo.



9
10
11
12
13
# File 'lib/beardo.rb', line 9

def initialize(config)
  self.group = config['group']
  self.email = config['email']
  self.password = config['password']
end

Instance Attribute Details

#emailObject

Returns the value of attribute email.



7
8
9
# File 'lib/beardo.rb', line 7

def email
  @email
end

#groupObject

Returns the value of attribute group.



7
8
9
# File 'lib/beardo.rb', line 7

def group
  @group
end

#passwordObject

Returns the value of attribute password.



7
8
9
# File 'lib/beardo.rb', line 7

def password
  @password
end

Class Method Details

.config_fileObject



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

def config_file
  File.join(config_path, '.beardorc')
end

.config_pathObject



23
24
25
# File 'lib/beardo.rb', line 23

def config_path
  ENV['HOME']
end

.read_configObject



36
37
38
# File 'lib/beardo.rb', line 36

def read_config
  YAML.load_file(config_file)
end

.run(message) ⇒ Object



31
32
33
34
# File 'lib/beardo.rb', line 31

def run(message)
  beardo = Beardo.new(read_config)
  beardo.post(message)
end

Instance Method Details

#post(message) ⇒ Object



15
16
17
18
19
20
# File 'lib/beardo.rb', line 15

def post(message)
  resource = RestClient::Resource.new("http://coopapp.com", {
    :user => self.email, :password => self.password
  })
  resource["groups/#{self.group}/statuses"].post("<status>#{message}</status>", :content_type => 'application/xml')
end