The new build will read the metadata.json directly from a file and the 'extra_metadata' attribute that used to receive the JSON hash has been removed. The hash is instead passed directly to the constructor.

The metadata.json is created from the output of the to_hash method and thus, uses 'name' rather than 'full_module_name'.

Simply renaming the 'full_module_name' attribute of the Metadata class might be an option but that ripples down to more changes since the 'name' attribute must then be renamed too (it contains the module name without owner). This solution was what I judged was the least intrusive.

The code is tested by the builder_spec.rb which now uses a metadata.json file instead of a Modulefile.