module FacebookAds::GraphEdges::ClassMethods
Public Instance Methods
edge_classes()
click to toggle source
# File lib/facebook_ads/helpers/edge_helpers.rb, line 29 def edge_classes @edge_classes end
has_edge(name) { |edge_class| ... }
click to toggle source
# File lib/facebook_ads/helpers/edge_helpers.rb, line 33 def has_edge(name, &block) edge_class = Class.new(Edge) yield edge_class @edge_classes ||= {} @edge_classes[name] = edge_class # delegate to field if name collides should_delegate = field_types.keys.include?(name) define_method(name) do |opts = {}| @edge_proxies ||= {} @edge_proxies["#{name}_#{self.class.options_hash(opts)}"] ||= begin edge_class.new(name, self, should_delegate, opts) end end end
options_hash(opts)
click to toggle source
# File lib/facebook_ads/helpers/edge_helpers.rb, line 52 def options_hash(opts) Digest::MD5.hexdigest(JSON.generate(opts)) end