DG MS; Status messages have owner field; defaults to user
This commit is contained in:
parent
1f73c2351e
commit
4532c39e93
6 changed files with 34 additions and 15 deletions
|
|
@ -4,10 +4,20 @@ class StatusMessage
|
||||||
include ROXML
|
include ROXML
|
||||||
|
|
||||||
xml_accessor :message
|
xml_accessor :message
|
||||||
|
xml_accessor :owner
|
||||||
|
|
||||||
|
|
||||||
field :message
|
field :message
|
||||||
|
field :owner
|
||||||
|
|
||||||
validates_presence_of :message
|
validates_presence_of :message
|
||||||
|
|
||||||
|
before_create :add_owner
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def add_owner
|
||||||
|
self.owner ||= User.first.email
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
- title "Status Messages"
|
- title "Status Messages"
|
||||||
|
|
||||||
%table
|
|
||||||
%tr
|
%h3 Messages
|
||||||
%th Message
|
%ul
|
||||||
- for status_message in @status_messages
|
- for status_message in @status_messages
|
||||||
%tr
|
%li
|
||||||
%td= status_message.message
|
= "#{status_message.message} by #{status_message.owner}"
|
||||||
%td= link_to 'Show', status_message
|
= link_to 'Show', status_message
|
||||||
%td= link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete
|
|
|
||||||
|
=link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete
|
||||||
|
|
||||||
|
|
||||||
%h2 Friends
|
%h2 Friends
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@
|
||||||
%p
|
%p
|
||||||
%strong Message:
|
%strong Message:
|
||||||
= @status_message.message
|
= @status_message.message
|
||||||
|
|
||||||
|
%p
|
||||||
|
%strong Owner:
|
||||||
|
= @status_message.owner
|
||||||
|
|
||||||
%p
|
%p
|
||||||
= link_to "Destroy", @status_message, :confirm => 'Are you sure?', :method => :delete
|
= link_to "Destroy", @status_message, :confirm => 'Are you sure?', :method => :delete
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
defaults: &defaults
|
defaults: &defaults
|
||||||
host: localhost
|
host: localhost
|
||||||
# slaves:
|
|
||||||
# - host: slave1.local
|
|
||||||
# port: 27018
|
|
||||||
# - host: slave2.local
|
|
||||||
# port: 27019
|
|
||||||
allow_dynamic_fields: false
|
allow_dynamic_fields: false
|
||||||
parameterize_keys: true
|
parameterize_keys: true
|
||||||
persist_in_safe_mode: true
|
persist_in_safe_mode: true
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ describe StatusMessagesController do
|
||||||
before do
|
before do
|
||||||
#TODO(dan) Mocking Warden; this is a temp fix
|
#TODO(dan) Mocking Warden; this is a temp fix
|
||||||
request.env['warden'] = mock_model(Warden, :authenticate => @user, :authenticate! => @user)
|
request.env['warden'] = mock_model(Warden, :authenticate => @user, :authenticate! => @user)
|
||||||
|
User.create(:email => "bob@aol.com", :password => "secret")
|
||||||
StatusMessage.create(:message => "yodels.")
|
StatusMessage.create(:message => "yodels.")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,18 +8,26 @@ describe StatusMessage do
|
||||||
n.valid?.should be true
|
n.valid?.should be true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should add an owner if none is present" do
|
||||||
|
User.create(:email => "bob@aol.com", :password => "big bux")
|
||||||
|
n = StatusMessage.create(:message => "puppies!")
|
||||||
|
n.owner.should == "bob@aol.com"
|
||||||
|
end
|
||||||
|
|
||||||
describe "XML" do
|
describe "XML" do
|
||||||
before do
|
before do
|
||||||
@xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n</statusmessage>"
|
@xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n <owner>Bob</owner>\n</statusmessage>"
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should serialize to XML' do
|
it 'should serialize to XML' do
|
||||||
message = StatusMessage.new(:message => "I hate WALRUSES!")
|
message = StatusMessage.create(:message => "I hate WALRUSES!", :owner => "Bob")
|
||||||
message.to_xml.to_s.should == @xml
|
message.to_xml.to_s.should == @xml
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should marshal serialized XML to object' do
|
it 'should marshal serialized XML to object' do
|
||||||
StatusMessage.from_xml(@xml).message.should == "I hate WALRUSES!"
|
parsed = StatusMessage.from_xml(@xml)
|
||||||
|
parsed.message.should == "I hate WALRUSES!"
|
||||||
|
parsed.owner.should == "Bob"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue