<commit_before># Copy custom assets
puts "\nInstalling Assets"
for path in [ ['javascripts', 'ext_datetime.js'],
              ['stylesheets', 'ext_scaffold.css'],
              ['images', 'ext_scaffold', 'arrowRight.gif'],
              ['images', 'ext_scaffold', 'arrowLeft.gif'] ]
  source = File.join(File.dirname(__FILE__),'assets',*path)
  destination = File.join(RAILS_ROOT,'public',*path)
  print "  #{path.join('/')} "
  if File.exists?(destination)
    if FileUtils.cmp(source, destination)
      puts "identical"
    else
      print "exits, overwrite [yN]?"
      if gets("\n").chomp.downcase.first == 'y'
        FileUtils.cp source, destination
      else
        puts "    ...skipped"; next
      end
    end
  else
    puts "create"
    FileUtils.cp source, destination
  end
end

puts <<_MSG

You now need to download the Ext Javascript framework from<commit_msg>fixed installer: create missing paths<commit_after># Copy custom assets
puts "\nInstalling Assets"
for path in [ ['javascripts', 'ext_datetime.js'],
              ['stylesheets', 'ext_scaffold.css'],
              ['images', 'ext_scaffold', 'arrowRight.gif'],
              ['images', 'ext_scaffold', 'arrowLeft.gif'] ]
  source = File.join(File.dirname(__FILE__),'assets',*path)
  destination = File.join(RAILS_ROOT,'public',*path)
  print "  #{path.join('/')} "
  if File.exists?(destination)
    if FileUtils.cmp(source, destination)
      puts "identical"
    else
      print "exits, overwrite [yN]?"
      if gets("\n").chomp.downcase.first == 'y'
        FileUtils.cp source, destination
      else
        puts "    ...skipped"; next
      end
    end
  else
    puts "create"
    FileUtils.mkdir_p File.dirname(destination)
    FileUtils.cp source, destination
  end
end

puts <<_MSG

You now need to download the Ext Javascript framework from
{'fraction_non_alphanumeric': 0.1381004366812227, 'fraction_numerical': 0.0, 'mean_word_length': 2.9761388286334056, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2294700', 'n_tokens_mistral': 580, 'n_tokens_neox': 579, 'n_words': 145}