Class: Workarea::Release::Preview

Inherits:
Object
  • Object
show all
Defined in:
app/models/workarea/release/preview.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(release) ⇒ Preview

Returns a new instance of Preview.



6
7
8
# File 'app/models/workarea/release/preview.rb', line 6

def initialize(release)
  @release = release
end

Instance Attribute Details

#releaseObject (readonly)

Returns the value of attribute release.



4
5
6
# File 'app/models/workarea/release/preview.rb', line 4

def release
  @release
end

Instance Method Details

#changesetsObject



14
15
16
# File 'app/models/workarea/release/preview.rb', line 14

def changesets
  @changesets ||= releases.flat_map(&:changesets)
end

#changesets_for(model) ⇒ Object



18
19
20
21
22
23
24
25
# File 'app/models/workarea/release/preview.rb', line 18

def changesets_for(model)
  changesets.select do |changeset|
    # Check this way because loading the releasable will cause `load_release_changes`
    # to run this, resulting in a stack overflow.
    changeset.releasable_type == model.class.name &&
      changeset.releasable_id.to_s == model.id.to_s
  end
end

#releasesObject



10
11
12
# File 'app/models/workarea/release/preview.rb', line 10

def releases
  @releases ||= release.scheduled_before + [release]
end