Merge branch 'save-changed-files'
This commit is contained in:
commit
2d2809def3
2 changed files with 24 additions and 5 deletions
4
bin/ace
4
bin/ace
|
@ -38,12 +38,14 @@ else
|
|||
end
|
||||
|
||||
rules.rules.each do |klass, files|
|
||||
puts "#{klass} #{files.inspect}"
|
||||
# puts "#{klass} #{files.inspect}"
|
||||
files.each do |file|
|
||||
if File.binread(file).match(/^-{3,5}\s*$/)
|
||||
puts "~ Read #{file} with parse"
|
||||
raw_item = Ace::RawItem.new(file).tap(&:parse)
|
||||
item = klass.create(raw_item.metadata, raw_item.content)
|
||||
else
|
||||
puts "~ Read #{file} without parse"
|
||||
item = klass.create(Hash.new, File.read(file))
|
||||
end
|
||||
item.original_path = file
|
||||
|
|
25
lib/ace.rb
25
lib/ace.rb
|
@ -10,6 +10,7 @@
|
|||
require "yaml"
|
||||
require "fileutils"
|
||||
require "ace/filters/sass"
|
||||
require "digest/sha1"
|
||||
|
||||
module Ace
|
||||
module Helpers
|
||||
|
@ -135,6 +136,10 @@ module Ace
|
|||
"#{self.base_url}#{self.server_path}"
|
||||
end
|
||||
|
||||
def digest(data)
|
||||
Digest::SHA1.hexdigest(data)
|
||||
end
|
||||
|
||||
attr_writer :output_path
|
||||
def output_path
|
||||
@output_path ||= begin
|
||||
|
@ -145,12 +150,24 @@ module Ace
|
|||
end
|
||||
|
||||
def save!
|
||||
content = self.render # so filters can influence output_path
|
||||
puts "~ [RENDER] #{self.output_path}"
|
||||
content = self.render # so filters can influence output_path
|
||||
|
||||
FileUtils.mkdir_p File.dirname(self.output_path)
|
||||
File.open(self.output_path, "w") do |file|
|
||||
file.puts(content)
|
||||
begin
|
||||
old_content = File.open(self.output_path, "rb") { |f| f.read }
|
||||
rescue
|
||||
old_content = ''
|
||||
end
|
||||
|
||||
if self.digest(content) != self.digest(old_content)
|
||||
warn "~ CRC isn't same, save new content into #{self.output_path}"
|
||||
# puts old_content.inspect
|
||||
# puts content.inspect
|
||||
|
||||
FileUtils.mkdir_p File.dirname(self.output_path)
|
||||
File.open(self.output_path, "w") do |file|
|
||||
file.puts(content)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue