class Grundler::PackageJsonWriter
Public Class Methods
new(path)
click to toggle source
# File lib/grundler/package_json_writer.rb, line 5 def initialize(path) @path = path end
Public Instance Methods
add(packages)
click to toggle source
# File lib/grundler/package_json_writer.rb, line 9 def add(packages) write(existing_packages.merge(packages)) end
existing_packages()
click to toggle source
# File lib/grundler/package_json_writer.rb, line 19 def existing_packages existing_content["dependencies"] end
remove(packages)
click to toggle source
# File lib/grundler/package_json_writer.rb, line 13 def remove(packages) write( existing_packages.delete_if { |k, _v| packages.include?(k) } ) end
Private Instance Methods
existing_content()
click to toggle source
# File lib/grundler/package_json_writer.rb, line 34 def existing_content @existing_content ||= load_existing_content end
load_existing_content()
click to toggle source
# File lib/grundler/package_json_writer.rb, line 38 def load_existing_content JSON.parse(File.read(@path)) rescue StandardError { "dependencies" => {} } end
write(packages)
click to toggle source
# File lib/grundler/package_json_writer.rb, line 25 def write(packages) File.write( @path, JSON.pretty_generate( existing_content.merge({ "dependencies" => packages }) ) ) end