- ModelMixin
Used as factory method callback
[ show source ]
# File lib/twitter/model.rb, line 280
280: def attributes; @@ATTRIBUTES; end
Creates a new direct message from the authenticated user of the given client context.
You MUST include a valid/authenticated client context in the given params argument.
For example:
status = Twitter::Message.create( :text => 'I am shopping for flip flops', :receipient => 'anotherlogin', :client => client)
An ArgumentError will be raised if no valid client context is given in the params Hash. For example,
status = Twitter::Status.create(:text => 'I am shopping for flip flops')
The above line of code will raise an ArgumentError.
The same is true when you do not provide any of the following key-value pairs in the params argument given:
- text - the String that will be the message text to send to user
- recipient - the user ID, screen_name or Twitter::User object representation of the recipient of the direct message
The Twitter::Message object returned after the direct message is successfully sent on the Twitter server side is returned from this method.
[ show source ]
# File lib/twitter/model.rb, line 314
314: def create(params)
315: client, text, recipient = params[:client], params[:text], params[:recipient]
316: raise ArgumentError, 'Valid client context must be given' unless client.is_a?(Twitter::Client)
317: raise ArgumentError, 'Message text must be supplied to send direct message' unless text.is_a?(String)
318: raise ArgumentError, 'Recipient user must be specified to send direct message' unless [Twitter::User, Integer, String].member?(recipient.class)
319: client.message(:post, text, recipient)
320: end
Raises NotImplementedError because currently Twitter doesn‘t provide a facility to retrieve one message by unique ID.
[ show source ]
# File lib/twitter/model.rb, line 285
285: def find(id, client)
286: raise NotImplementedError, 'Twitter has yet to implement a REST API for this. This is not a Twitter4R library limitation.'
287: end
Constructor callback
[ show source ]
# File lib/twitter/model.rb, line 325
325: def init
326: @sender = User.new(@sender) if @sender.is_a?(Hash)
327: @recipient = User.new(@recipient) if @recipient.is_a?(Hash)
328: @created_at = Time.parse(@created_at) if @created_at.is_a?(String)
329: end