Sha256: 31ff035c8432bdaafce9b538172538acd3240e963308ea9cd952c4455ddf4db8

Contents?: true

Size: 907 Bytes

Versions: 17

Compression:

Stored size: 907 Bytes

Contents

module ContentfulMiddleman
  class VersionHash
    class << self
      def source_root=(source_root)
        @source_root = source_root
      end

      def read_for_space(space_name)
        hashfilename_for_space = hashfilename(space_name)
        ::File.read(hashfilename_for_space) if File.exist? hashfilename_for_space
      end

      def write_for_space_with_entries(space_name, entries)
        sorted_entries           = entries.sort {|a, b| a.id <=> b.id}
        ids_and_revisions_string = sorted_entries.map {|e| "#{e.id}#{e.updated_at}"}.join
        entries_hash             = Digest::SHA1.hexdigest( ids_and_revisions_string )

        File.open(hashfilename(space_name), 'w') { |file| file.write(entries_hash) }

        entries_hash
      end

      private
        def hashfilename(space_name)
          ::File.join(@source_root, ".#{space_name}-space-hash")
        end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
contentful_middleman-4.0.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-3.0.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.1.3 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.1.2 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.1.1 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.1.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.0.1 lib/contentful_middleman/version_hash.rb
contentful_middleman-2.0.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.5.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.4.2 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.4.1 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.4.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.3.2 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.3.1 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.2.0 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.1.1 lib/contentful_middleman/version_hash.rb
contentful_middleman-1.1.0 lib/contentful_middleman/version_hash.rb