Class: Decidim::Surveys::Survey

Inherits:
ApplicationRecord show all
Includes:
FilterableResource, Forms::HasQuestionnaire, HasComponent, Publicable, Resourceable
Defined in:
app/models/decidim/surveys/survey.rb

Overview

The data store for a Survey in the Decidim::Surveys component.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.log_presenter_class_for(_log) ⇒ Object



63
64
65
# File 'app/models/decidim/surveys/survey.rb', line 63

def self.log_presenter_class_for(_log)
  Decidim::Surveys::AdminLog::SurveyPresenter
end

.ransackable_attributes(_auth_object = nil) ⇒ Object



59
60
61
# File 'app/models/decidim/surveys/survey.rb', line 59

def self.ransackable_attributes(_auth_object = nil)
  %w(ends_at starts_at allow_responses)
end

.ransackable_scopes(_auth_object = nil) ⇒ Object



55
56
57
# File 'app/models/decidim/surveys/survey.rb', line 55

def self.ransackable_scopes(_auth_object = nil)
  [:with_any_state]
end

Instance Method Details

#allow_resource_permissions?Boolean

Public: Overrides the ‘allow_resource_permissions?` Resourceable concern method.

Returns:

  • (Boolean)


68
69
70
# File 'app/models/decidim/surveys/survey.rb', line 68

def allow_resource_permissions?
  true
end

#closed?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'app/models/decidim/surveys/survey.rb', line 51

def closed?
  !open?
end

#open?Boolean

Returns:

  • (Boolean)


40
41
42
43
44
45
46
47
48
49
# File 'app/models/decidim/surveys/survey.rb', line 40

def open?
  return false if allow_responses.blank?
  return true if time_indefinite?
  return true if started_but_no_end?
  return true if no_start_but_ends_later?

  return within_time_range? if time_range_defined?

  false
end