Class: RiddlerAdmin::PublishRequest

Inherits:
ApplicationRecord show all
Defined in:
app/models/riddler_admin/publish_request.rb

Constant Summary collapse

MODEL_KEY =
"pr".freeze
ID_LENGTH =

916_132_832 per second

5

Instance Method Summary collapse

Instance Method Details

#approve(riddler_user = nil, approved_at = Time.now.utc) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'app/models/riddler_admin/publish_request.rb', line 18

def approve riddler_user = nil, approved_at = Time.now.utc
  attrs = {status: "approved", approved_at: approved_at}
  if riddler_user.present?
    attrs[:approved_by_name] = ::RiddlerAdmin.config.user_name_block.call riddler_user
    attrs[:approved_by_id] = riddler_user.public_send ::RiddlerAdmin.config.user_id_method
  end

  update_attributes attrs
end

#approved?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/models/riddler_admin/publish_request.rb', line 28

def approved?
  approved_at.present?
end

#publish(published_at = Time.now.utc) ⇒ Object



32
33
34
35
36
37
38
39
# File 'app/models/riddler_admin/publish_request.rb', line 32

def publish published_at = Time.now.utc
  raise "ERROR: Attempt to publish an unapproved definition" unless approved?
  create_content_definition! content: content
  content_definition.publish_to_remote

  update_attributes published_at: published_at,
    status: "published"
end

#published?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'app/models/riddler_admin/publish_request.rb', line 41

def published?
  published_at.present?
end