Class: Flexite::Diff::SyncShowService

Inherits:
Object
  • Object
show all
Defined in:
app/services/flexite/diff/sync_show_service.rb

Direct Known Subclasses

AsyncShowService

Instance Method Summary collapse

Constructor Details

#initialize(stage, url) ⇒ SyncShowService

Returns a new instance of SyncShowService.



4
5
6
7
8
# File 'app/services/flexite/diff/sync_show_service.rb', line 4

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

Instance Method Details

#callObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/services/flexite/diff/sync_show_service.rb', line 10

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

  if response.nil?
    expire_old
    nodes = Config.t_nodes
    checksum = Digest::MD5.hexdigest(nodes.to_json)
    Flexite.cache.write("#{@state_digest}-#{@stage}-diff-checksum", checksum)
    response = @remote_diff.check({ token: Flexite.config.migration_token, tree: nodes, stage: Flexite.config.stagename, checksum: checksum })
    Flexite.cache.write("#{@state_digest}-#{@stage}-show-diff", response)
  end

  result(response)
end