effective_polls 0.1.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +2 -2
- data/Rakefile +5 -19
- data/app/controllers/admin/poll_notifications_controller.rb +1 -3
- data/app/controllers/admin/poll_questions_controller.rb +1 -3
- data/app/controllers/admin/polls_controller.rb +2 -4
- data/app/controllers/effective/ballots_controller.rb +1 -2
- data/app/controllers/effective/polls_controller.rb +2 -1
- data/app/mailers/effective/polls_mailer.rb +5 -2
- data/config/effective_polls.rb +15 -43
- data/db/migrate/{01_create_effective_polls.rb.erb → 101_create_effective_polls.rb} +17 -17
- data/db/seeds.rb +35 -0
- data/lib/effective_polls/version.rb +1 -1
- data/lib/effective_polls.rb +9 -41
- data/lib/generators/effective_polls/install_generator.rb +1 -9
- metadata +137 -11
- data/app/views/layouts/effective_polls_mailer_layout.html.haml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '092395996d087f516aca9b5aa9f42e170c56702b0dd9c7c7479332cb18a0c2c7'
|
4
|
+
data.tar.gz: 316a9df7d201ed389316f1cc11c5a77310038957520bdaf711666bfcf867ed7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4f8a181881338bd4f274194770d82fb632f0456910d1df843ec404025d4eaceb219fca21215e70d44c278a6f1791dff199fbab9b3cd2f6e88fadc6498fbfa7a
|
7
|
+
data.tar.gz: 7dae7c572c9236edcae987f7d3a4e1afce6cd65557890a82c81797b7a7d12816157020d0966379c3f70322d08ffdc7a0bde593c755ffe824153e3a97a4be3a4f
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Works with action_text for content bodies, and active_storage for file uploads.
|
|
10
10
|
|
11
11
|
## Getting Started
|
12
12
|
|
13
|
-
This requires Rails 6
|
13
|
+
This requires Rails 6 and Twitter Bootstrap 4 and just works with Devise.
|
14
14
|
|
15
15
|
Please first install the [effective_datatables](https://github.com/code-and-effect/effective_datatables) gem.
|
16
16
|
|
@@ -19,7 +19,7 @@ Please download and install the [Twitter Bootstrap4](http://getbootstrap.com)
|
|
19
19
|
Add to your Gemfile:
|
20
20
|
|
21
21
|
```ruby
|
22
|
-
gem 'haml
|
22
|
+
gem 'haml'
|
23
23
|
gem 'effective_polls'
|
24
24
|
```
|
25
25
|
|
data/Rakefile
CHANGED
@@ -1,27 +1,13 @@
|
|
1
|
-
|
2
|
-
require 'bundler/setup'
|
3
|
-
rescue LoadError
|
4
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
-
end
|
6
|
-
|
7
|
-
require 'rdoc/task'
|
8
|
-
|
9
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
-
rdoc.rdoc_dir = 'rdoc'
|
11
|
-
rdoc.title = 'EffectivePolls'
|
12
|
-
rdoc.options << '--line-numbers'
|
13
|
-
rdoc.rdoc_files.include('README.md')
|
14
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
-
end
|
1
|
+
require "bundler/setup"
|
16
2
|
|
17
3
|
APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
|
18
|
-
load
|
4
|
+
load "rails/tasks/engine.rake"
|
19
5
|
|
20
|
-
load
|
6
|
+
load "rails/tasks/statistics.rake"
|
21
7
|
|
22
|
-
require
|
8
|
+
require "bundler/gem_tasks"
|
23
9
|
|
24
|
-
require
|
10
|
+
require "rake/testtask"
|
25
11
|
|
26
12
|
Rake::TestTask.new(:test) do |t|
|
27
13
|
t.libs << 'test'
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module Admin
|
2
2
|
class PollNotificationsController < ApplicationController
|
3
|
-
layout EffectivePolls.layout[:admin]
|
4
|
-
|
5
3
|
before_action(:authenticate_user!) if defined?(Devise)
|
6
|
-
before_action {
|
4
|
+
before_action { EffectiveResources.authorize!(self, :admin, :effective_polls) }
|
7
5
|
|
8
6
|
include Effective::CrudController
|
9
7
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module Admin
|
2
2
|
class PollQuestionsController < ApplicationController
|
3
|
-
layout EffectivePolls.layout[:admin]
|
4
|
-
|
5
3
|
before_action(:authenticate_user!) if defined?(Devise)
|
6
|
-
before_action {
|
4
|
+
before_action { EffectiveResources.authorize!(self, :admin, :effective_polls) }
|
7
5
|
|
8
6
|
include Effective::CrudController
|
9
7
|
|
@@ -1,15 +1,13 @@
|
|
1
1
|
module Admin
|
2
2
|
class PollsController < ApplicationController
|
3
|
-
layout EffectivePolls.layout[:admin]
|
4
|
-
|
5
3
|
before_action(:authenticate_user!) if defined?(Devise)
|
6
|
-
before_action {
|
4
|
+
before_action { EffectiveResources.authorize!(self, :admin, :effective_polls) }
|
7
5
|
|
8
6
|
include Effective::CrudController
|
9
7
|
|
10
8
|
def results
|
11
9
|
@poll = Effective::Poll.find(params[:id])
|
12
|
-
|
10
|
+
EffectiveResources.authorize!(self, :results, @poll)
|
13
11
|
|
14
12
|
@datatable = Admin::EffectivePollResultsDatatable.new(poll_token: @poll.token)
|
15
13
|
@page_title = "#{@poll} Results"
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Effective
|
2
|
-
class PollsMailer < EffectivePolls.
|
3
|
-
|
2
|
+
class PollsMailer < EffectivePolls.parent_mailer_class
|
3
|
+
|
4
|
+
include EffectiveMailer
|
5
|
+
include EffectiveEmailTemplatesMailer if EffectivePolls.use_effective_email_templates
|
4
6
|
|
5
7
|
def poll_upcoming_reminder(poll_notification, user)
|
6
8
|
@assigns = effective_email_templates_assigns(poll_notification, user)
|
@@ -68,6 +70,7 @@ module Effective
|
|
68
70
|
raise('expected poll to be persisted') unless poll&.persisted?
|
69
71
|
|
70
72
|
{
|
73
|
+
subject: poll_notification.subject,
|
71
74
|
available_date: poll.available_date,
|
72
75
|
title: poll.title,
|
73
76
|
url: effective_polls.poll_url(poll),
|
data/config/effective_polls.rb
CHANGED
@@ -1,40 +1,7 @@
|
|
1
1
|
EffectivePolls.setup do |config|
|
2
|
-
config.polls_table_name = :polls
|
3
|
-
config.poll_notifications_table_name = :poll_notifications
|
4
|
-
config.poll_questions_table_name = :poll_questions
|
5
|
-
config.poll_question_options_table_name = :poll_question_options
|
6
|
-
config.ballots_table_name = :ballots
|
7
|
-
config.ballot_responses_table_name = :ballot_responses
|
8
|
-
config.ballot_response_options_table_name = :ballot_response_options
|
9
|
-
|
10
|
-
# Authorization Method
|
11
|
-
#
|
12
|
-
# This method is called by all controller actions with the appropriate action and resource
|
13
|
-
# If it raises an exception or returns false, an Effective::AccessDenied Error will be raised
|
14
|
-
#
|
15
|
-
# Use via Proc:
|
16
|
-
# Proc.new { |controller, action, resource| authorize!(action, resource) } # CanCan
|
17
|
-
# Proc.new { |controller, action, resource| can?(action, resource) } # CanCan with skip_authorization_check
|
18
|
-
# Proc.new { |controller, action, resource| authorize "#{action}?", resource } # Pundit
|
19
|
-
# Proc.new { |controller, action, resource| current_user.is?(:admin) } # Custom logic
|
20
|
-
#
|
21
|
-
# Use via Boolean:
|
22
|
-
# config.authorization_method = true # Always authorized
|
23
|
-
# config.authorization_method = false # Always unauthorized
|
24
|
-
#
|
25
|
-
# Use via Method (probably in your application_controller.rb):
|
26
|
-
# config.authorization_method = :my_authorization_method
|
27
|
-
# def my_authorization_method(resource, action)
|
28
|
-
# true
|
29
|
-
# end
|
30
|
-
config.authorization_method = Proc.new { |controller, action, resource| authorize!(action, resource) }
|
31
|
-
|
32
2
|
# Layout Settings
|
33
3
|
# Configure the Layout per controller, or all at once
|
34
|
-
config.layout = {
|
35
|
-
polls: 'application',
|
36
|
-
admin: 'admin'
|
37
|
-
}
|
4
|
+
# config.layout = { application: 'application', admin: 'admin' }
|
38
5
|
|
39
6
|
# Audience Scope Collection
|
40
7
|
#
|
@@ -51,14 +18,19 @@ EffectivePolls.setup do |config|
|
|
51
18
|
# Schedule rake effective_polls:notify to run every 10 minutes
|
52
19
|
# to send out email poll notifications
|
53
20
|
#
|
54
|
-
config.mailer
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
#
|
60
|
-
#
|
61
|
-
#
|
62
|
-
config.
|
21
|
+
# Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
|
22
|
+
#
|
23
|
+
# Configure the class responsible to send e-mails.
|
24
|
+
# config.mailer = 'Effective::EventsMailer'
|
25
|
+
#
|
26
|
+
# Override effective_resource mailer defaults
|
27
|
+
#
|
28
|
+
# config.parent_mailer = nil # The parent class responsible for sending emails
|
29
|
+
# config.deliver_method = nil # The deliver method, deliver_later or deliver_now
|
30
|
+
# config.mailer_layout = nil # Default mailer layout
|
31
|
+
# config.mailer_sender = nil # Default From value
|
32
|
+
# config.mailer_admin = nil # Default To value for Admin correspondence
|
63
33
|
|
34
|
+
# Use effective email templates for event notifications
|
35
|
+
config.use_effective_email_templates = true
|
64
36
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
2
2
|
def change
|
3
|
-
create_table
|
3
|
+
create_table :polls do |t|
|
4
4
|
t.string :title
|
5
5
|
|
6
6
|
t.string :token
|
@@ -14,8 +14,8 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
14
14
|
t.datetime :created_at
|
15
15
|
end
|
16
16
|
|
17
|
-
create_table
|
18
|
-
t.
|
17
|
+
create_table :poll_notifications do |t|
|
18
|
+
t.integer :poll_id
|
19
19
|
|
20
20
|
t.string :category
|
21
21
|
t.integer :reminder
|
@@ -31,8 +31,8 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
31
31
|
t.datetime :created_at
|
32
32
|
end
|
33
33
|
|
34
|
-
create_table
|
35
|
-
t.
|
34
|
+
create_table :poll_questions do |t|
|
35
|
+
t.integer :poll_id
|
36
36
|
|
37
37
|
t.string :title
|
38
38
|
t.string :category
|
@@ -44,8 +44,8 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
44
44
|
t.datetime :created_at
|
45
45
|
end
|
46
46
|
|
47
|
-
create_table
|
48
|
-
t.
|
47
|
+
create_table :poll_question_options do |t|
|
48
|
+
t.integer :poll_question_id
|
49
49
|
|
50
50
|
t.string :title
|
51
51
|
t.integer :position
|
@@ -54,9 +54,9 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
54
54
|
t.datetime :created_at
|
55
55
|
end
|
56
56
|
|
57
|
-
create_table
|
58
|
-
t.
|
59
|
-
t.
|
57
|
+
create_table :ballots do |t|
|
58
|
+
t.integer :poll_id
|
59
|
+
t.integer :user_id
|
60
60
|
|
61
61
|
t.string :token
|
62
62
|
t.text :wizard_steps
|
@@ -66,10 +66,10 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
66
66
|
t.datetime :created_at
|
67
67
|
end
|
68
68
|
|
69
|
-
create_table
|
70
|
-
t.
|
71
|
-
t.
|
72
|
-
t.
|
69
|
+
create_table :ballot_responses do |t|
|
70
|
+
t.integer :ballot_id
|
71
|
+
t.integer :poll_id
|
72
|
+
t.integer :poll_question_id
|
73
73
|
|
74
74
|
t.date :date
|
75
75
|
t.string :email
|
@@ -81,9 +81,9 @@ class CreateEffectivePolls < ActiveRecord::Migration[6.0]
|
|
81
81
|
t.datetime :created_at
|
82
82
|
end
|
83
83
|
|
84
|
-
create_table
|
85
|
-
t.
|
86
|
-
t.
|
84
|
+
create_table :ballot_response_options do |t|
|
85
|
+
t.integer :ballot_response_id
|
86
|
+
t.integer :poll_question_option_id
|
87
87
|
|
88
88
|
t.datetime :updated_at
|
89
89
|
t.datetime :created_at
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
puts "Running effective_polls seeds"
|
2
|
+
|
3
|
+
Effective::Poll.all.each { |poll| poll.destroy! }
|
4
|
+
|
5
|
+
Effective::Ballot.delete_all
|
6
|
+
|
7
|
+
def build_effective_poll
|
8
|
+
poll = Effective::Poll.new(
|
9
|
+
title: 'Effective Poll',
|
10
|
+
start_at: (Time.zone.now + 1.day).beginning_of_day,
|
11
|
+
end_at: (Time.zone.now + 1.day).end_of_day,
|
12
|
+
audience: 'All Users'
|
13
|
+
)
|
14
|
+
|
15
|
+
build_poll_question(poll, Effective::PollQuestion::CATEGORIES)
|
16
|
+
|
17
|
+
poll.save!
|
18
|
+
poll
|
19
|
+
end
|
20
|
+
|
21
|
+
def build_poll_question(poll, category)
|
22
|
+
questions = Array(category).map.with_index do |category, index|
|
23
|
+
question = poll.poll_questions.build(title: "#{category} Question ##{index+1}", category: category)
|
24
|
+
|
25
|
+
if question.poll_question_option?
|
26
|
+
question.poll_question_options.build(title: 'Option A')
|
27
|
+
question.poll_question_options.build(title: 'Option B')
|
28
|
+
question.poll_question_options.build(title: 'Option C')
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
questions.length == 1 ? questions.first : questions
|
33
|
+
end
|
34
|
+
|
35
|
+
build_effective_poll()
|
data/lib/effective_polls.rb
CHANGED
@@ -4,52 +4,20 @@ require 'effective_polls/engine'
|
|
4
4
|
require 'effective_polls/version'
|
5
5
|
|
6
6
|
module EffectivePolls
|
7
|
-
mattr_accessor :polls_table_name
|
8
|
-
mattr_accessor :poll_notifications_table_name
|
9
|
-
mattr_accessor :poll_questions_table_name
|
10
|
-
mattr_accessor :poll_question_options_table_name
|
11
|
-
mattr_accessor :ballots_table_name
|
12
|
-
mattr_accessor :ballot_responses_table_name
|
13
|
-
mattr_accessor :ballot_response_options_table_name
|
14
7
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
mattr_accessor :use_effective_email_templates
|
23
|
-
mattr_accessor :mailer
|
24
|
-
|
25
|
-
def self.setup
|
26
|
-
yield self
|
8
|
+
def self.config_keys
|
9
|
+
[
|
10
|
+
:polls_table_name, :poll_notifications_table_name, :poll_questions_table_name, :poll_question_options_table_name,
|
11
|
+
:ballots_table_name, :ballot_responses_table_name, :ballot_response_options_table_name,
|
12
|
+
:layout, :audience_user_scopes,
|
13
|
+
:mailer, :parent_mailer, :deliver_method, :mailer_layout, :mailer_sender, :mailer_admin, :mailer_subject, :use_effective_email_templates
|
14
|
+
]
|
27
15
|
end
|
28
16
|
|
29
|
-
|
30
|
-
@_exceptions ||= [Effective::AccessDenied, (CanCan::AccessDenied if defined?(CanCan)), (Pundit::NotAuthorizedError if defined?(Pundit))].compact
|
31
|
-
|
32
|
-
return !!authorization_method unless authorization_method.respond_to?(:call)
|
33
|
-
controller = controller.controller if controller.respond_to?(:controller)
|
34
|
-
|
35
|
-
begin
|
36
|
-
!!(controller || self).instance_exec((controller || self), action, resource, &authorization_method)
|
37
|
-
rescue *@_exceptions
|
38
|
-
false
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.authorize!(controller, action, resource)
|
43
|
-
raise Effective::AccessDenied.new('Access Denied', action, resource) unless authorized?(controller, action, resource)
|
44
|
-
end
|
17
|
+
include EffectiveGem
|
45
18
|
|
46
19
|
def self.mailer_class
|
47
|
-
|
48
|
-
require 'effective_email_templates'
|
49
|
-
Effective::EmailTemplatesMailer
|
50
|
-
else
|
51
|
-
ActionMailer::Base
|
52
|
-
end
|
20
|
+
mailer&.constantize || Effective::PollsMailer
|
53
21
|
end
|
54
22
|
|
55
23
|
end
|
@@ -20,15 +20,7 @@ module EffectivePolls
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def create_migration_file
|
23
|
-
|
24
|
-
@poll_questions_table_name = ':' + EffectivePolls.poll_questions_table_name.to_s
|
25
|
-
@poll_notifications_table_name = ':' + EffectivePolls.poll_notifications_table_name.to_s
|
26
|
-
@poll_question_options_table_name = ':' + EffectivePolls.poll_question_options_table_name.to_s
|
27
|
-
@ballots_table_name = ':' + EffectivePolls.ballots_table_name.to_s
|
28
|
-
@ballot_responses_table_name = ':' + EffectivePolls.ballot_responses_table_name.to_s
|
29
|
-
@ballot_response_options_table_name = ':' + EffectivePolls.ballot_response_options_table_name.to_s
|
30
|
-
|
31
|
-
migration_template ('../' * 3) + 'db/migrate/01_create_effective_polls.rb.erb', 'db/migrate/create_effective_polls.rb'
|
23
|
+
migration_template ('../' * 3) + 'db/migrate/101_create_effective_polls.rb', 'db/migrate/create_effective_polls.rb'
|
32
24
|
end
|
33
25
|
|
34
26
|
def copy_mailer_preview
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_polls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 6.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: effective_bootstrap
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,21 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: effective_datatables
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 4.0.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 4.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: effective_resources
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - ">="
|
@@ -53,21 +67,21 @@ dependencies:
|
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: wicked
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
75
|
+
version: '0'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: sassc
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - ">="
|
@@ -80,6 +94,118 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sqlite3
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: devise
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: haml
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: pry-byebug
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: effective_test_bot
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: effective_email_templates
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: effective_developer
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: psych
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - "<"
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '4'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - "<"
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '4'
|
83
209
|
description: Online polls and user voting.
|
84
210
|
email:
|
85
211
|
- info@codeandeffect.com
|
@@ -176,10 +302,10 @@ files:
|
|
176
302
|
- app/views/effective/polls_mailer/poll_upcoming_reminder.liquid
|
177
303
|
- app/views/effective/polls_mailer/poll_when_poll_ends.liquid
|
178
304
|
- app/views/effective/polls_mailer/poll_when_poll_starts.liquid
|
179
|
-
- app/views/layouts/effective_polls_mailer_layout.html.haml
|
180
305
|
- config/effective_polls.rb
|
181
306
|
- config/routes.rb
|
182
|
-
- db/migrate/
|
307
|
+
- db/migrate/101_create_effective_polls.rb
|
308
|
+
- db/seeds.rb
|
183
309
|
- lib/effective_polls.rb
|
184
310
|
- lib/effective_polls/engine.rb
|
185
311
|
- lib/effective_polls/version.rb
|
@@ -205,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
205
331
|
- !ruby/object:Gem::Version
|
206
332
|
version: '0'
|
207
333
|
requirements: []
|
208
|
-
rubygems_version: 3.
|
334
|
+
rubygems_version: 3.3.7
|
209
335
|
signing_key:
|
210
336
|
specification_version: 4
|
211
337
|
summary: Online polls and user voting.
|