Class: Kennel::PartsSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/kennel/parts_serializer.rb

Constant Summary collapse

FILE_EXTENSION =
".json"
FOLDER =
"generated"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filter:) ⇒ PartsSerializer

Returns a new instance of PartsSerializer.



8
9
10
# File 'lib/kennel/parts_serializer.rb', line 8

def initialize(filter:)
  @filter = filter
end

Class Method Details

.tracking_id_for_path(path) ⇒ Object



22
23
24
# File 'lib/kennel/parts_serializer.rb', line 22

def tracking_id_for_path(path)
  path.sub("#{FOLDER}/", "").sub(FILE_EXTENSION, "").sub("/", ":")
end

Instance Method Details

#write(parts) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/kennel/parts_serializer.rb', line 12

def write(parts)
  Progress.progress "Storing" do
    existing = existing_files_and_folders
    used, changed = write_changed(parts)
    FileUtils.rm_rf(existing - used) # cleanup abandoned
    suggest_using_project_filter(changed)
  end
end