Class: Decidim::Surveys::Survey

Inherits:
ApplicationRecord show all
Includes:
FilterableResource, Forms::HasQuestionnaire, HasComponent, Publicable, Resourceable, Decidim::Searchable
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



73
74
75
# File 'app/models/decidim/surveys/survey.rb', line 73

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

.ransackable_attributes(_auth_object = nil) ⇒ Object



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

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

.ransackable_scopes(_auth_object = nil) ⇒ Object



65
66
67
# File 'app/models/decidim/surveys/survey.rb', line 65

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)


78
79
80
# File 'app/models/decidim/surveys/survey.rb', line 78

def allow_resource_permissions?
  true
end

#closed?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'app/models/decidim/surveys/survey.rb', line 61

def closed?
  !open?
end

#open?Boolean

Returns:

  • (Boolean)


50
51
52
53
54
55
56
57
58
59
# File 'app/models/decidim/surveys/survey.rb', line 50

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