Class: Churn::ChurnHistory
- Inherits:
-
Object
- Object
- Churn::ChurnHistory
- Defined in:
- lib/churn/history.rb
Overview
responsible for storing the churn history to json, and for loading old churn history data from json.
Class Method Summary collapse
-
.load_revision_data(revision, data_directory) ⇒ Object
given a previous project revision find and load the churn data from a json file.
-
.store_revision_history(revision, hash_data, data_directory) ⇒ Object
takes current revision and its hash_data and stores it.
Class Method Details
.load_revision_data(revision, data_directory) ⇒ Object
given a previous project revision find and load the churn data from a json file
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/churn/history.rb', line 14 def self.load_revision_data(revision, data_directory) #load revision data from scratch folder if it exists filename = "#{data_directory}/#{revision}.json" if File.exists?(filename) begin json_data = File.read(filename) data = JSON.parse(json_data) changed_files = data['churn']['changed_files'] changed_classes = data['churn']['changed_classes'] changed_methods = data['churn']['changed_methods'] rescue JSON::ParserError #leave all of the objects nil end end [changed_files, changed_classes, changed_methods] end |
.store_revision_history(revision, hash_data, data_directory) ⇒ Object
takes current revision and its hash_data and stores it
8 9 10 11 |
# File 'lib/churn/history.rb', line 8 def self.store_revision_history(revision, hash_data, data_directory) FileUtils.mkdir_p data_directory File.open("#{data_directory}/#{revision}.json", 'w') {|file| file.write(hash_data.to_json) } end |