Class: Workarea::Admin::ChangesetViewModel

Inherits:
ApplicationViewModel
  • Object
show all
Defined in:
app/view_models/workarea/admin/changeset_view_model.rb

Instance Method Summary collapse

Instance Method Details

#currency_change?(field, value) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
34
35
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 29

def currency_change?(field, value)
  field = field.to_s

  !!releasable.class.fields[field] &&
    releasable.class.fields[field].options[:type] == Money &&
    value.is_a?(Hash)
end

#localized_change?(field, value) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 21

def localized_change?(field, value)
  field = field.to_s

  !!releasable.class.fields[field] &&
    !!releasable.class.fields[field].options[:localize] &&
    value.is_a?(Hash)
end

#nameObject



8
9
10
11
12
13
14
15
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 8

def name
  [root, releasable]
    .reject(&:blank?)
    .uniq
    .map(&:name)
    .reject(&:blank?)
    .join(' - ')
end

#new_value_for(field) ⇒ Object



37
38
39
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 37

def new_value_for(field)
  get_localized_value(field, changeset[field])
end

#old_value_for(field) ⇒ Object



41
42
43
44
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 41

def old_value_for(field)
  return get_localized_value(field, undo[field]) if undo.present?
  current_releasable.send(field)
end

#publish_humanizedObject



54
55
56
57
58
59
60
61
62
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 54

def publish_humanized
  if release.published?
    t('workarea.admin.changesets.published_on')
  elsif release.scheduled?
    t('workarea.admin.changesets.publishes_on')
  else
    t('workarea.admin.changesets.unscheduled')
  end
end

#releasableObject



4
5
6
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 4

def releasable
  @releasable ||= Mongoid::DocumentPath.find(model.document_path)
end

#release_dateObject



46
47
48
49
50
51
52
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 46

def release_date
  if release.scheduled?
    release.publish_at
  elsif release.published?
    release.published_at
  end
end

#rootObject



17
18
19
# File 'app/view_models/workarea/admin/changeset_view_model.rb', line 17

def root
  @root ||= Mongoid::DocumentPath.find(model.document_path.take(1))
end