Module: ArtifactLogger::ModelExtensions::ClassMethods

Defined in:
lib/artifact_logger/model_extensions.rb

Instance Method Summary collapse

Instance Method Details

#log(*params) ⇒ Object

Provides two different functionalities: Artifact.log # => log message object Artifact.log :level, “Message” # Creates a new message



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/artifact_logger/model_extensions.rb', line 17

def log *params
  if params.length == 0
    #Return a set of messages, however extend the class at runtime
    #This allows you to use:
    #Artifact.log.error
    #Artifact.log.error?
    ArtifactLogger.extend_log_object(Log::Message.where(:artifact_type => model_name, :artifact_id => nil), self)
  elsif params.length == 2
    Log::Message.create :level => params[0], :text => params[1], :artifact_type => model_name
  else
    super
  end
end

#valid_log_levelsObject



31
32
33
# File 'lib/artifact_logger/model_extensions.rb', line 31

def valid_log_levels
  return @_valid_levels || [:error, :info, :warning]
end