polleverywhere 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/api/views/index.html.haml +28 -1
- data/lib/polleverywhere/models.rb +53 -0
- data/lib/polleverywhere/version.rb +1 -1
- data/lib/polleverywhere.rb +2 -0
- metadata +6 -6
data/Gemfile
CHANGED
data/api/views/index.html.haml
CHANGED
@@ -85,4 +85,31 @@
|
|
85
85
|
|
86
86
|
%h3 Delete a free text poll
|
87
87
|
:example
|
88
|
-
@ftp.destroy
|
88
|
+
@ftp.destroy
|
89
|
+
|
90
|
+
%h1 Participants
|
91
|
+
%p Participants are used to identify who is responding to your polls.
|
92
|
+
|
93
|
+
%h2 Attributes
|
94
|
+
%dl.attributes
|
95
|
+
%dt=PollEverywhere::Participant.root_key
|
96
|
+
%dd Root key for participant data.
|
97
|
+
%dd
|
98
|
+
%dl
|
99
|
+
-PollEverywhere::Participant.props.each do |_, prop|
|
100
|
+
%dt=prop.name
|
101
|
+
%dd=prop.description
|
102
|
+
|
103
|
+
%h2 Creating a new Participant
|
104
|
+
%p Specify the details of a new participant
|
105
|
+
:example
|
106
|
+
@participant = PollEverywhere::Participant.from_hash(:email => 'b.obama@whitehouse.gov', :first_name => 'Barack', :last_name => 'Obama', :password => 'mickeymouse', :responding_as => 'Barack').save
|
107
|
+
|
108
|
+
%h2 Updating participant details
|
109
|
+
:example
|
110
|
+
@participant.first_name = "President"
|
111
|
+
@participant.save
|
112
|
+
|
113
|
+
%h2 Delete a Participant
|
114
|
+
:example
|
115
|
+
@participant.destroy
|
@@ -1,5 +1,58 @@
|
|
1
1
|
module PollEverywhere # :nodoc
|
2
2
|
module Models # :nodoc
|
3
|
+
class Participant
|
4
|
+
include Serializable
|
5
|
+
|
6
|
+
root_key :user
|
7
|
+
|
8
|
+
prop :first_name
|
9
|
+
|
10
|
+
prop :last_name
|
11
|
+
|
12
|
+
prop :email
|
13
|
+
|
14
|
+
prop :phone_number do
|
15
|
+
description %{Phone number associated with the participant.}
|
16
|
+
end
|
17
|
+
|
18
|
+
prop :responding_as do
|
19
|
+
description %{This is used to identify the participant in reports.}
|
20
|
+
end
|
21
|
+
|
22
|
+
prop :password
|
23
|
+
|
24
|
+
attr_accessor :http
|
25
|
+
|
26
|
+
def initialize(http=PollEverywhere.http)
|
27
|
+
self.http = http
|
28
|
+
end
|
29
|
+
|
30
|
+
def save
|
31
|
+
http.put(to_json).as(:json).to(path).response do |response|
|
32
|
+
from_json response.body
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.get(email)
|
37
|
+
from_hash(:email => email).fetch
|
38
|
+
end
|
39
|
+
|
40
|
+
def destroy
|
41
|
+
http.delete(path).response do |response|
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def path
|
46
|
+
"/participants/#{email}"
|
47
|
+
end
|
48
|
+
|
49
|
+
def fetch
|
50
|
+
http.get.from(path).as(:json).response do |response|
|
51
|
+
from_json response.body
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
3
56
|
# Poll is an abstract base class for multiple choice and free text polls
|
4
57
|
class Poll
|
5
58
|
include Serializable
|
data/lib/polleverywhere.rb
CHANGED
@@ -8,8 +8,10 @@ module PollEverywhere
|
|
8
8
|
|
9
9
|
# Lets make life easier for developers and provide shortcuts to module and class names.
|
10
10
|
# PollEverywhere::Model::MultipleChoicePoll now becomes PollEverywhere::MCP. Cool eh? Thank me later.
|
11
|
+
Participant = Models::Participant
|
11
12
|
MCP = MultipleChoicePoll = Models::MultipleChoicePoll
|
12
13
|
FTP = FreeTextPoll = Models::FreeTextPoll
|
14
|
+
|
13
15
|
|
14
16
|
def self.config(&block)
|
15
17
|
@config ||= Configuration.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polleverywhere
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-07-
|
12
|
+
date: 2011-07-12 00:00:00.000000000 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
17
|
-
requirement: &
|
17
|
+
requirement: &2156511940 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2156511940
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rest-client
|
28
|
-
requirement: &
|
28
|
+
requirement: &2156511340 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: 1.6.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2156511340
|
37
37
|
description: An easy way to integrate Poll Everywhere into your Ruby applications.
|
38
38
|
email:
|
39
39
|
- opensource@polleverywhere.com
|