class Doneyo::Yo
Constants
- CONFIG_FILE_NAME
- ENDPOINT
Public Class Methods
new(user)
click to toggle source
# File lib/doneyo/yo.rb, line 55 def initialize(user) @user = user end
send()
click to toggle source
# File lib/doneyo/yo.rb, line 9 def send begin puts new(username).send rescue $stderr.puts $!.to_s abort end end
Private Class Methods
ask_user()
click to toggle source
# File lib/doneyo/yo.rb, line 33 def ask_user print 'Your Yo username? : ' create_config_file gets end
config_file()
click to toggle source
# File lib/doneyo/yo.rb, line 21 def config_file File.join(ENV['HOME'], CONFIG_FILE_NAME) end
create_config_file(user)
click to toggle source
# File lib/doneyo/yo.rb, line 38 def create_config_file(user) user = user.to_s.strip raise 'Username required' if user == '' open(config_file, 'w') do |f| f.write "[user]\nname = #{user}" end end
parse_into_hash(string)
click to toggle source
# File lib/doneyo/yo.rb, line 47 def parse_into_hash(string) Hash[ string.split(/(\[[^\[\]]+\])/)[1..-1].each_slice(2).to_a ] end
username()
click to toggle source
# File lib/doneyo/yo.rb, line 25 def username ask_user unless File.exists?(config_file) hash = parse_into_hash(File.read(config_file)) hash['[user]'] =~ /name\s*=\s(\S+)/ $1 end
Public Instance Methods
send()
click to toggle source
# File lib/doneyo/yo.rb, line 59 def send response = Net::HTTP.post_form(URI.parse(ENDPOINT), user: @user) response.body end