Sha256: 51d5bb5a0025bb0d61dda657f343398982b9fe88691e476bb02f904a4f019337

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

require_relative "data_handler_base"
require_relative "../../cookbook/metadata"

class Chef
  module ChefFS
    module DataHandler
      class CookbookDataHandler < DataHandlerBase
        def normalize(cookbook, entry)
          version = entry.name
          name = entry.parent.name
          result = normalize_hash(cookbook, {
            "name" => "#{name}-#{version}",
            "version" => version,
            "cookbook_name" => name,
            "json_class" => "Chef::CookbookVersion",
            "chef_type" => "cookbook_version",
            "frozen?" => false,
            "metadata" => {},
          })
          result["metadata"] = normalize_hash(result["metadata"], {
            "version" => version,
            "name" => name,
          })
        end

        def preserve_key?(key)
          key == "cookbook_name" || key == "version"
        end

        def chef_class
          Chef::Cookbook::Metadata
        end

        # Not using this yet, so not sure if to_ruby will be useful.
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chef-15.0.300-universal-mingw32 lib/chef/chef_fs/data_handler/cookbook_data_handler.rb
chef-15.0.298-universal-mingw32 lib/chef/chef_fs/data_handler/cookbook_data_handler.rb
chef-15.0.293-universal-mingw32 lib/chef/chef_fs/data_handler/cookbook_data_handler.rb