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 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"
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module WTForum
4
- VERSION = "0.1.2"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -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.1.2
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-04-01 00:00:00.000000000 Z
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: 4397302379876706461
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: 4397302379876706461
167
+ hash: 1492844664817071908
168
168
  segments:
169
169
  - 0
170
170
  version: '0'