def initialize(raw_content_or_raw_filename, attributes, identifier, params_or_mtime=nil)
if params_or_mtime.nil? || params_or_mtime.is_a?(Time)
params = {}
@mtime = params_or_mtime
elsif params_or_mtime.is_a?(Hash)
params = params_or_mtime
@mtime = params[:mtime]
end
@is_binary = params.has_key?(:binary) ? params[:binary] : false
if @is_binary
@raw_filename = raw_content_or_raw_filename
else
@raw_content = raw_content_or_raw_filename
end
@attributes = attributes.symbolize_keys
@identifier = identifier.cleaned_identifier
@parent = nil
@children = []
@reps = []
end