class SocialUrl::Message
Public Class Methods
new(params)
click to toggle source
# File lib/social_url/message.rb, line 4 def initialize(params) @params = SocialUrl.normalize(params) init_networks end
Public Instance Methods
method_missing(method)
click to toggle source
# File lib/social_url/message.rb, line 10 def method_missing(method) network = /(.+)_url/.match(method) return unless network networks = SocialUrl.networks.join(", ") raise SocialUrl::UnsupportedNetworkError, "Unsupported network: '#{network[1]}'. Available networks: #{networks}." end
Private Instance Methods
init_networks()
click to toggle source
# File lib/social_url/message.rb, line 20 def init_networks SocialUrl.networks.each do |network| self.class.send(:define_method, "#{network}_url") do klass = network.to_s.capitalize SocialUrl::Networks.const_get(klass).new(@params).url end end end