wtforum 0.1.2 → 0.2.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.
- data/lib/wtforum/user.rb +31 -1
- data/lib/wtforum/version.rb +1 -1
- data/spec/integration/wtforum_user_spec.rb +9 -3
- metadata +4 -4
data/lib/wtforum/user.rb
CHANGED
@@ -9,6 +9,8 @@ module WTForum
|
|
9
9
|
def self.create attributes
|
10
10
|
defaults = { pw: SecureRandom.hex(10) }
|
11
11
|
attributes[:member] ||= attributes.delete(:username)
|
12
|
+
attributes[:field276177] ||= attributes.delete(:gender)
|
13
|
+
attributes[:field276179] ||= attributes.delete(:about)
|
12
14
|
attributes.reverse_merge! defaults
|
13
15
|
uri = create_uri attributes
|
14
16
|
|
@@ -27,6 +29,8 @@ module WTForum
|
|
27
29
|
id: user_id,
|
28
30
|
member: body.css(".tables td:contains('Username:') + td input").first["value"],
|
29
31
|
email: body.css(".tables td:contains('Email Address:') + td").first.text.split(" - ").first,
|
32
|
+
field276177: body.css(".tables td:contains('Gender:') + td option[selected]").first.try(:text),
|
33
|
+
field276179: body.css(".tables td:contains('About Me:') + td textarea").first.text
|
30
34
|
}
|
31
35
|
new(attributes)
|
32
36
|
end
|
@@ -73,6 +77,12 @@ module WTForum
|
|
73
77
|
end
|
74
78
|
|
75
79
|
def save!
|
80
|
+
self.class.authorized_agent.get(self.class.edit_uri(id)) do |page|
|
81
|
+
form = page.forms.first
|
82
|
+
form["field276177"] = field276177
|
83
|
+
form["field276179"] = field276179
|
84
|
+
form.submit
|
85
|
+
end
|
76
86
|
self.class.authorized_agent.get(self.class.edit_username_uri(id)) do |page|
|
77
87
|
form = page.forms.first
|
78
88
|
form["new_username"] = username
|
@@ -89,7 +99,7 @@ module WTForum
|
|
89
99
|
self.class.destroy id
|
90
100
|
end
|
91
101
|
|
92
|
-
attr_accessor :id, :member, :email
|
102
|
+
attr_accessor :id, :member, :email, :field276177, :field276179
|
93
103
|
attr_writer :pw, :apikey
|
94
104
|
|
95
105
|
def username
|
@@ -100,6 +110,22 @@ module WTForum
|
|
100
110
|
self.member = value
|
101
111
|
end
|
102
112
|
|
113
|
+
def gender
|
114
|
+
field276177
|
115
|
+
end
|
116
|
+
|
117
|
+
def gender= value
|
118
|
+
self.field276177 = value
|
119
|
+
end
|
120
|
+
|
121
|
+
def about
|
122
|
+
field276179
|
123
|
+
end
|
124
|
+
|
125
|
+
def about= value
|
126
|
+
self.field276179 = value
|
127
|
+
end
|
128
|
+
|
103
129
|
private
|
104
130
|
|
105
131
|
def attributes=(attributes={})
|
@@ -147,6 +173,10 @@ module WTForum
|
|
147
173
|
uri
|
148
174
|
end
|
149
175
|
|
176
|
+
def self.edit_uri user_id
|
177
|
+
find_uri user_id
|
178
|
+
end
|
179
|
+
|
150
180
|
def self.edit_username_uri user_id
|
151
181
|
uri = WTForum.base_uri
|
152
182
|
uri.path = "/register/edit_username"
|
data/lib/wtforum/version.rb
CHANGED
@@ -8,22 +8,28 @@ describe WTForum::User do
|
|
8
8
|
user = nil
|
9
9
|
|
10
10
|
lambda {
|
11
|
-
user = WTForum::User.create username: "wtforum_test_user", email: "wtforum_test_user@example.com"
|
11
|
+
user = WTForum::User.create username: "wtforum_test_user", email: "wtforum_test_user@example.com", gender: "Male", about: "I am a test user"
|
12
12
|
}.should change(WTForum::User, :count).by(1)
|
13
13
|
|
14
14
|
user = WTForum::User.find(user.id)
|
15
15
|
user.username.should == "wtforum_test_user"
|
16
16
|
user.email.should == "wtforum_test_user@example.com"
|
17
|
+
user.gender.should == "Male"
|
18
|
+
user.about.should == "I am a test user"
|
17
19
|
|
18
|
-
user.update_attributes! username: "wtforum_test_user_2", email: "wtforum_test_user_2@example.com"
|
20
|
+
user.update_attributes! username: "wtforum_test_user_2", email: "wtforum_test_user_2@example.com", gender: "Female", about: "I am an updated test user"
|
19
21
|
|
20
22
|
user = WTForum::User.find_by_username("wtforum_test_user_2")
|
21
23
|
user.username.should == "wtforum_test_user_2"
|
22
24
|
user.email.should == "wtforum_test_user_2@example.com"
|
25
|
+
user.gender.should == "Female"
|
26
|
+
user.about.should == "I am an updated test user"
|
23
27
|
|
24
28
|
ensure
|
25
29
|
lambda {
|
26
|
-
WTForum::User.destroy(user.id)
|
30
|
+
WTForum::User.destroy(user.id) rescue nil or
|
31
|
+
WTForum::User.find_by_username("wtforum_test_user").destroy rescue nil or
|
32
|
+
WTForum::User.find_by_username("wtforum_test_user_2").destroy rescue nil
|
27
33
|
}.should change(WTForum::User, :count).by(-1)
|
28
34
|
end
|
29
35
|
end
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: wtforum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.2.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Micah Geisel
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
type: :runtime
|
@@ -155,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
155
|
requirements:
|
156
156
|
- - ! '>='
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
hash:
|
158
|
+
hash: 1492844664817071908
|
159
159
|
segments:
|
160
160
|
- 0
|
161
161
|
version: '0'
|
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
requirements:
|
165
165
|
- - ! '>='
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
hash:
|
167
|
+
hash: 1492844664817071908
|
168
168
|
segments:
|
169
169
|
- 0
|
170
170
|
version: '0'
|