class PackageMerge

Attributes

base_package[RW]
extending[RW]

Public Class Methods

new(base, extending) click to toggle source
# File lib/generators/react_webpack_rails/package_merge.rb, line 2
def initialize(base, extending)
  @base_package = base
  @extending = extending
end

Public Instance Methods

merge() click to toggle source
# File lib/generators/react_webpack_rails/package_merge.rb, line 7
def merge
  %w(dependencies devDependencies scripts).each do |key|
    base_package[key] = merge_and_sort_level(key)
  end
  base_package
end

Private Instance Methods

merge_and_sort_level(key) click to toggle source
# File lib/generators/react_webpack_rails/package_merge.rb, line 18
def merge_and_sort_level(key)
  base_package[key].merge(extending.fetch(key, {})).sort.to_h
end