Sha256: 8e384e3717a903f3b339faee0fa3482b2d863f60b9a01c3e2206ec63c53dd324
Contents?: true
Size: 682 Bytes
Versions: 8
Compression:
Stored size: 682 Bytes
Contents
module SocialUrl class Message def initialize(options) @options = SocialUrl.normalize(options) init_networks end def method_missing(method) network = /(.+)_url/.match(method) return unless network networks = SocialUrl.networks.join(',') raise UnsupportedNetworkError, "Unsupported network '#{network[1]}'. Choose from: #{networks}." end private def init_networks SocialUrl.networks.each do |network| self.class.send(:define_method, "#{network}_url") do klass = network.to_s.capitalize SocialUrl.const_get(klass).new(@options).url end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems