Class: Diane::Recorder
- Inherits:
-
Object
- Object
- Diane::Recorder
- Defined in:
- lib/diane/recorder.rb
Overview
Records messages and metadata
Instance Attribute Summary collapse
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
-
#initialize(message, opts) ⇒ Recorder
constructor
A new instance of Recorder.
-
#record ⇒ Object
generates new recording as csv row to new or existing DIANE file.
-
#slug(user) ⇒ Object
normalizes and slugifies recording user handle.
Constructor Details
Instance Attribute Details
#user ⇒ Object (readonly)
Returns the value of attribute user.
6 7 8 |
# File 'lib/diane/recorder.rb', line 6 def user @user end |
Instance Method Details
#record ⇒ Object
generates new recording as csv row to new or existing DIANE file
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/diane/recorder.rb', line 17 def record if File.exist? DIFILE CSV.open(DIFILE, 'a') { |csv| csv << [@user, @message, @time] } else CSV.open(DIFILE, 'a') do |csv| csv << %w[user message time] csv << [@user, @message, @time] end end puts '✓'.green rescue StandardError => e abort 'Broken'.magenta + e end |
#slug(user) ⇒ Object
normalizes and slugifies recording user handle
33 34 35 36 |
# File 'lib/diane/recorder.rb', line 33 def slug(user) abort 'User is nil. Fuck off.'.magenta if user.nil? user.downcase.strip.tr(' ', '_').gsub(/[^\w-]/, '') end |