Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

21 lines (18 sloc) 0.714 kB
module Twitter
class Factory
# Construct a new action object
#
# @param attrs [Hash]
# @raise [ArgumentError] Error raised when supplied argument is missing an :action key.
# @return [Twitter::Action::Favorite, Twitter::Action::Follow, Twitter::Action::ListMemberAdded, Twitter::Action::Mention, Twitter::Action::Reply, Twitter::Action::Retweet]
def self.new(method, klass, attrs={})
type = attrs.delete(method.to_sym)
if type
const_name = type.gsub(/\/(.?)/){"::#{$1.upcase}"}.gsub(/(?:^|_)(.)/){$1.upcase}
klass.const_get(const_name.to_sym).new(attrs)
else
raise ArgumentError, "argument must have :#{method} key"
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.