Sha256: ed0689f55279d5ddf9b736482e2d8a5941fff98d8a824fa08d001290837a2d70
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
class Storys::Update attr_reader :package attr_accessor :stories def initialize(package) @package = package @files = package.root_path.descendant_files.reject { |p| p.basename.to_s[0..0] == '.' } @stories = [] #load_data process save_data puts "\nDone!" end def load_data self.stories = (Storys::Package.load_json(package.package_path + "data.json") || []).map { |b| Storys::Story.from_hash(package, b) } end def save_data puts "\nWriting out JSON file" stories_hashes = [] stories.each_with_index do |s, i| $stdout.write "\rProcessing #{i + 1} of #{stories.length} (#{(((i + 1) / stories.length.to_f) * 100.0).round}%)" $stdout.flush stories_hashes << s.to_hash end Storys::Package.save_json(package.package_path + "data.json", stories_hashes) end def process @files.each_with_index do |f, i| $stdout.write "\rProcessing #{i + 1} of #{@files.length} (#{(((i + 1) / @files.length.to_f) * 100.0).round}%)" $stdout.flush created f end #handle deleted first #@files.each do |f| # puts "f: #{f.inspect}" # story = stories.find { |b| b.path == f } # if story # updated(story) # else # created(f) # end #end end def deleted # end def created(f) story = Storys::Story.new(package, f) stories << story end def updated(story) puts "updating: #{story.inspect}" # end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
storys-0.0.4 | lib/storys/update.rb |