Sha256: a795142c7c65534bc72aff74edf9d113e91c715953fb713580ae1fd09814a91c

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 KB

Contents

module Flexite
  class Diff
    class PushService
      def initialize(stage, url)
        @stage = stage
        @remote_diff = Diff.new(url)
        @state_digest = Flexite.state_digest
      end

      def call
        checksum = Flexite.cache.read("#{@state_digest}-#{@stage}-diff-checksum")
        Flexite.cache.delete_matched(/-#{@stage}-diff-checksum/)
        Flexite.cache.delete_matched(/-#{@stage}-show-diff/)


        if checksum.blank?
          return ActionService::Result.new(flash: { type: :warning, message: 'Settings were changed and difference should be revalidated' })
        end

        response = @remote_diff.apply({ token: Flexite.config.migration_token, stage: Flexite.config.stagename, checksum: checksum })

        if response[:error].blank?
          ActionService::Result.new(flash: { type: :success, message: response[:message] })
        else
          ActionService::Result.new(flash: { type: :danger, message: "#{response[:error]}, code: #{response[:code]}" })
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
flexite-0.0.17 app/services/flexite/diff/push_service.rb
flexite-0.0.16 app/services/flexite/diff/push_service.rb
flexite-0.0.15 app/services/flexite/diff/push_service.rb
flexite-0.0.14 app/services/flexite/diff/push_service.rb
flexite-0.0.13 app/services/flexite/diff/push_service.rb
flexite-0.0.12 app/services/flexite/diff/push_service.rb
flexite-0.0.11 app/services/flexite/diff/push_service.rb