fb_graph 2.4.20 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +6 -4
 - data/VERSION +1 -1
 - data/fb_graph.gemspec +1 -0
 - data/lib/fb_graph/ad_creative.rb +43 -0
 - data/lib/fb_graph/ad_group.rb +6 -0
 - data/lib/fb_graph/connections/ad_creatives.rb +14 -0
 - data/lib/fb_graph.rb +1 -0
 - data/spec/fb_graph/ad_creative_spec.rb +85 -0
 - data/spec/fb_graph/connections/ad_creatives_spec.rb +29 -0
 - data/spec/mock_json/ad_creatives/test_ad_creative.json +16 -0
 - data/spec/mock_json/ad_groups/ad_creatives/22334455_ad_creatives.json +18 -0
 - metadata +28 -2
 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,8 +1,9 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                fb_graph (2.4. 
     | 
| 
      
 4 
     | 
    
         
            +
                fb_graph (2.4.20)
         
     | 
| 
       5 
5 
     | 
    
         
             
                  httpclient (>= 2.2.0.2)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  json
         
     | 
| 
       6 
7 
     | 
    
         
             
                  rack-oauth2 (>= 0.14.4)
         
     | 
| 
       7 
8 
     | 
    
         
             
                  tzinfo
         
     | 
| 
       8 
9 
     | 
    
         | 
| 
         @@ -27,7 +28,7 @@ GEM 
     | 
|
| 
       27 
28 
     | 
    
         
             
                  multi_json (~> 1.0)
         
     | 
| 
       28 
29 
     | 
    
         
             
                addressable (2.3.2)
         
     | 
| 
       29 
30 
     | 
    
         
             
                attr_required (0.0.5)
         
     | 
| 
       30 
     | 
    
         
            -
                builder (3.0. 
     | 
| 
      
 31 
     | 
    
         
            +
                builder (3.0.3)
         
     | 
| 
       31 
32 
     | 
    
         
             
                configatron (2.9.1)
         
     | 
| 
       32 
33 
     | 
    
         
             
                  yamler (>= 0.1.0)
         
     | 
| 
       33 
34 
     | 
    
         
             
                cover_me (1.2.0)
         
     | 
| 
         @@ -41,6 +42,7 @@ GEM 
     | 
|
| 
       41 
42 
     | 
    
         
             
                httpclient (2.2.7)
         
     | 
| 
       42 
43 
     | 
    
         
             
                i18n (0.6.1)
         
     | 
| 
       43 
44 
     | 
    
         
             
                journey (1.0.4)
         
     | 
| 
      
 45 
     | 
    
         
            +
                json (1.7.5)
         
     | 
| 
       44 
46 
     | 
    
         
             
                multi_json (1.3.6)
         
     | 
| 
       45 
47 
     | 
    
         
             
                rack (1.4.1)
         
     | 
| 
       46 
48 
     | 
    
         
             
                rack-cache (1.2)
         
     | 
| 
         @@ -60,7 +62,7 @@ GEM 
     | 
|
| 
       60 
62 
     | 
    
         
             
                  rspec-expectations (~> 2.11.0)
         
     | 
| 
       61 
63 
     | 
    
         
             
                  rspec-mocks (~> 2.11.0)
         
     | 
| 
       62 
64 
     | 
    
         
             
                rspec-core (2.11.1)
         
     | 
| 
       63 
     | 
    
         
            -
                rspec-expectations (2.11. 
     | 
| 
      
 65 
     | 
    
         
            +
                rspec-expectations (2.11.3)
         
     | 
| 
       64 
66 
     | 
    
         
             
                  diff-lcs (~> 1.1.3)
         
     | 
| 
       65 
67 
     | 
    
         
             
                rspec-mocks (2.11.2)
         
     | 
| 
       66 
68 
     | 
    
         
             
                sprockets (2.1.3)
         
     | 
| 
         @@ -69,7 +71,7 @@ GEM 
     | 
|
| 
       69 
71 
     | 
    
         
             
                  tilt (~> 1.1, != 1.3.0)
         
     | 
| 
       70 
72 
     | 
    
         
             
                tilt (1.3.3)
         
     | 
| 
       71 
73 
     | 
    
         
             
                tzinfo (0.3.33)
         
     | 
| 
       72 
     | 
    
         
            -
                webmock (1.8. 
     | 
| 
      
 74 
     | 
    
         
            +
                webmock (1.8.10)
         
     | 
| 
       73 
75 
     | 
    
         
             
                  addressable (>= 2.2.7)
         
     | 
| 
       74 
76 
     | 
    
         
             
                  crack (>= 0.1.7)
         
     | 
| 
       75 
77 
     | 
    
         
             
                yamler (0.1.0)
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            2. 
     | 
| 
      
 1 
     | 
    
         
            +
            2.5.0
         
     | 
    
        data/fb_graph.gemspec
    CHANGED
    
    | 
         @@ -15,6 +15,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       15 
15 
     | 
    
         
             
              s.add_runtime_dependency "httpclient", ">= 2.2.0.2"
         
     | 
| 
       16 
16 
     | 
    
         
             
              s.add_runtime_dependency "rack-oauth2", ">= 0.14.4"
         
     | 
| 
       17 
17 
     | 
    
         
             
              s.add_runtime_dependency "tzinfo"
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.add_runtime_dependency "json"
         
     | 
| 
       18 
19 
     | 
    
         
             
              s.add_development_dependency "rake", ">= 0.8"
         
     | 
| 
       19 
20 
     | 
    
         
             
              if RUBY_VERSION >= '1.9'
         
     | 
| 
       20 
21 
     | 
    
         
             
                s.add_development_dependency "cover_me", ">= 1.2.0"
         
     | 
| 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module FbGraph
         
     | 
| 
      
 2 
     | 
    
         
            +
              class AdCreative < Node
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                ATTRS = [
         
     | 
| 
      
 5 
     | 
    
         
            +
                  :id,
         
     | 
| 
      
 6 
     | 
    
         
            +
                  :view_tag,
         
     | 
| 
      
 7 
     | 
    
         
            +
                  :alt_view_tags,
         
     | 
| 
      
 8 
     | 
    
         
            +
                  :creative_id,
         
     | 
| 
      
 9 
     | 
    
         
            +
                  :type,
         
     | 
| 
      
 10 
     | 
    
         
            +
                  :title,
         
     | 
| 
      
 11 
     | 
    
         
            +
                  :body,
         
     | 
| 
      
 12 
     | 
    
         
            +
                  :image_hash,
         
     | 
| 
      
 13 
     | 
    
         
            +
                  :link_url,
         
     | 
| 
      
 14 
     | 
    
         
            +
                  :name,
         
     | 
| 
      
 15 
     | 
    
         
            +
                  :run_status,
         
     | 
| 
      
 16 
     | 
    
         
            +
                  :preview_url,
         
     | 
| 
      
 17 
     | 
    
         
            +
                  :count_current_adgroups,
         
     | 
| 
      
 18 
     | 
    
         
            +
                  :facebook_object_id, # can't use object_id since it's a core ruby method
         
     | 
| 
      
 19 
     | 
    
         
            +
                  :story_id,
         
     | 
| 
      
 20 
     | 
    
         
            +
                  :image_url,
         
     | 
| 
      
 21 
     | 
    
         
            +
                  :url_tags,
         
     | 
| 
      
 22 
     | 
    
         
            +
                  :related_fan_page,
         
     | 
| 
      
 23 
     | 
    
         
            +
                  :auto_update,
         
     | 
| 
      
 24 
     | 
    
         
            +
                  :action_spec
         
     | 
| 
      
 25 
     | 
    
         
            +
                ]
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                attr_accessor *ATTRS 
         
     | 
| 
      
 28 
     | 
    
         
            +
                def initialize(identifier, attributes = {})
         
     | 
| 
      
 29 
     | 
    
         
            +
                  super
         
     | 
| 
      
 30 
     | 
    
         
            +
                  set_attrs(attributes)
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                protected
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                def set_attrs(attributes)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  ATTRS.each do |field|
         
     | 
| 
      
 37 
     | 
    
         
            +
                    send("#{field}=", attributes[field.to_sym])
         
     | 
| 
      
 38 
     | 
    
         
            +
                  end
         
     | 
| 
      
 39 
     | 
    
         
            +
                  self.facebook_object_id = attributes[:object_id]
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
    
        data/lib/fb_graph/ad_group.rb
    CHANGED
    
    | 
         @@ -1,5 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module FbGraph
         
     | 
| 
       2 
2 
     | 
    
         
             
              class AdGroup < Node
         
     | 
| 
      
 3 
     | 
    
         
            +
                include Connections::AdCreatives
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       3 
5 
     | 
    
         
             
                attr_accessor :ad_id, :campaign_id, :name, :adgroup_status, :bid_type, :max_bid, :targeting, :creative, :creative_ids, :adgroup_id,
         
     | 
| 
       4 
6 
     | 
    
         
             
                  :end_time, :start_time, :updated_time, :bid_info, :disapprove_reason_descriptions
         
     | 
| 
       5 
7 
     | 
    
         | 
| 
         @@ -21,6 +23,10 @@ module FbGraph 
     | 
|
| 
       21 
23 
     | 
    
         
             
                  response
         
     | 
| 
       22 
24 
     | 
    
         
             
                end
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
      
 26 
     | 
    
         
            +
                def creatives(fetch = true)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  creative_ids.map { |creative_id| fetch ? AdCreative.fetch(creative_id) : AdCreative.new(creative_id) }
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       24 
30 
     | 
    
         
             
                protected
         
     | 
| 
       25 
31 
     | 
    
         | 
| 
       26 
32 
     | 
    
         
             
                def set_attrs(attributes)
         
     | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module FbGraph
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Connections
         
     | 
| 
      
 3 
     | 
    
         
            +
                module AdCreatives
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def ad_creatives(options = {})
         
     | 
| 
      
 5 
     | 
    
         
            +
                    ad_creatives = self.connection :adcreatives, options
         
     | 
| 
      
 6 
     | 
    
         
            +
                    ad_creatives.map! do |ad_creative|
         
     | 
| 
      
 7 
     | 
    
         
            +
                      AdCreative.new ad_creative[:id], ad_creative.merge(
         
     | 
| 
      
 8 
     | 
    
         
            +
                        :access_token => options[:access_token] || self.access_token
         
     | 
| 
      
 9 
     | 
    
         
            +
                      )
         
     | 
| 
      
 10 
     | 
    
         
            +
                    end
         
     | 
| 
      
 11 
     | 
    
         
            +
                  end
         
     | 
| 
      
 12 
     | 
    
         
            +
                end
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/fb_graph.rb
    CHANGED
    
    | 
         @@ -84,6 +84,7 @@ require 'fb_graph/ad_account' 
     | 
|
| 
       84 
84 
     | 
    
         
             
            require 'fb_graph/ad_campaign'
         
     | 
| 
       85 
85 
     | 
    
         
             
            require 'fb_graph/ad_campaign_stat'
         
     | 
| 
       86 
86 
     | 
    
         
             
            require 'fb_graph/ad_connection_object'
         
     | 
| 
      
 87 
     | 
    
         
            +
            require 'fb_graph/ad_creative'
         
     | 
| 
       87 
88 
     | 
    
         
             
            require 'fb_graph/ad_group'
         
     | 
| 
       88 
89 
     | 
    
         
             
            require 'fb_graph/ad_group_stat'
         
     | 
| 
       89 
90 
     | 
    
         
             
            require 'fb_graph/ad_keyword'
         
     | 
| 
         @@ -0,0 +1,85 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe FbGraph::AdCreative, '.new' do
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              it 'should setup all supported attributes' do
         
     | 
| 
      
 6 
     | 
    
         
            +
                attributes = {
         
     | 
| 
      
 7 
     | 
    
         
            +
                  :id => '6003590469668',
         
     | 
| 
      
 8 
     | 
    
         
            +
                  :view_tag => "",
         
     | 
| 
      
 9 
     | 
    
         
            +
                  :alt_view_tags => [],
         
     | 
| 
      
 10 
     | 
    
         
            +
                  :creative_id => "6003590469668",
         
     | 
| 
      
 11 
     | 
    
         
            +
                  :type => 1,
         
     | 
| 
      
 12 
     | 
    
         
            +
                  :title => "Some Creative",
         
     | 
| 
      
 13 
     | 
    
         
            +
                  :body => "The Body",
         
     | 
| 
      
 14 
     | 
    
         
            +
                  :image_hash => "4c34b48cdcbf5dd3055acb717343a9d6",
         
     | 
| 
      
 15 
     | 
    
         
            +
                  :link_url => "http://www.google.com/",
         
     | 
| 
      
 16 
     | 
    
         
            +
                  :name => "Creative Name",
         
     | 
| 
      
 17 
     | 
    
         
            +
                  :run_status => 1,
         
     | 
| 
      
 18 
     | 
    
         
            +
                  :preview_url => "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668",
         
     | 
| 
      
 19 
     | 
    
         
            +
                  :count_current_adgroups => 1,
         
     | 
| 
      
 20 
     | 
    
         
            +
                  :object_id => 12345,
         
     | 
| 
      
 21 
     | 
    
         
            +
                  :story_id => 54321,
         
     | 
| 
      
 22 
     | 
    
         
            +
                  :image_url => "https://www.google.com/image.png",
         
     | 
| 
      
 23 
     | 
    
         
            +
                  :url_tags => "url=tags",
         
     | 
| 
      
 24 
     | 
    
         
            +
                  :related_fan_page => 5799040003,
         
     | 
| 
      
 25 
     | 
    
         
            +
                  :auto_update => 1,
         
     | 
| 
      
 26 
     | 
    
         
            +
                  :action_spec => '{"action.type":["flightsim:fly"], "application":[174829001234]}'
         
     | 
| 
      
 27 
     | 
    
         
            +
                }
         
     | 
| 
      
 28 
     | 
    
         
            +
                ad_creative = FbGraph::AdCreative.new(attributes.delete(:id), attributes)
         
     | 
| 
      
 29 
     | 
    
         
            +
                ad_creative.identifier.should == "6003590469668"
         
     | 
| 
      
 30 
     | 
    
         
            +
                ad_creative.view_tag.should == ""
         
     | 
| 
      
 31 
     | 
    
         
            +
                ad_creative.alt_view_tags.should == []
         
     | 
| 
      
 32 
     | 
    
         
            +
                ad_creative.creative_id.should == "6003590469668"
         
     | 
| 
      
 33 
     | 
    
         
            +
                ad_creative.type.should == 1
         
     | 
| 
      
 34 
     | 
    
         
            +
                ad_creative.title.should == "Some Creative"
         
     | 
| 
      
 35 
     | 
    
         
            +
                ad_creative.body.should == "The Body"
         
     | 
| 
      
 36 
     | 
    
         
            +
                ad_creative.image_hash.should == "4c34b48cdcbf5dd3055acb717343a9d6"
         
     | 
| 
      
 37 
     | 
    
         
            +
                ad_creative.link_url.should == "http://www.google.com/"
         
     | 
| 
      
 38 
     | 
    
         
            +
                ad_creative.name.should == "Creative Name"
         
     | 
| 
      
 39 
     | 
    
         
            +
                ad_creative.run_status.should == 1
         
     | 
| 
      
 40 
     | 
    
         
            +
                ad_creative.preview_url.should == "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668"
         
     | 
| 
      
 41 
     | 
    
         
            +
                ad_creative.count_current_adgroups.should == 1
         
     | 
| 
      
 42 
     | 
    
         
            +
                ad_creative.facebook_object_id.should == 12345
         
     | 
| 
      
 43 
     | 
    
         
            +
                ad_creative.image_url.should == "https://www.google.com/image.png"
         
     | 
| 
      
 44 
     | 
    
         
            +
                ad_creative.url_tags.should == "url=tags"
         
     | 
| 
      
 45 
     | 
    
         
            +
                ad_creative.related_fan_page.should == 5799040003
         
     | 
| 
      
 46 
     | 
    
         
            +
                ad_creative.auto_update.should == 1
         
     | 
| 
      
 47 
     | 
    
         
            +
                ad_creative.action_spec.should == '{"action.type":["flightsim:fly"], "application":[174829001234]}'
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
            end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
             describe FbGraph::AdCreative, '.fetch' do
         
     | 
| 
      
 53 
     | 
    
         
            +
               it 'should get the ad creative' do
         
     | 
| 
      
 54 
     | 
    
         
            +
                 mock_graph :get, '6003590469668', 'ad_creatives/test_ad_creative', :access_token => 'access_token' do
         
     | 
| 
      
 55 
     | 
    
         
            +
                   ad_creative = FbGraph::AdCreative.fetch('6003590469668', :access_token => 'access_token')
         
     | 
| 
      
 56 
     | 
    
         
            +
                   ad_creative.identifier.should == "6003590469668"
         
     | 
| 
      
 57 
     | 
    
         
            +
                   ad_creative.view_tag.should == ""
         
     | 
| 
      
 58 
     | 
    
         
            +
                   ad_creative.alt_view_tags.should == []
         
     | 
| 
      
 59 
     | 
    
         
            +
                   ad_creative.creative_id.should == "6003590469668"
         
     | 
| 
      
 60 
     | 
    
         
            +
                   ad_creative.type.should == 1
         
     | 
| 
      
 61 
     | 
    
         
            +
                   ad_creative.title.should == "Some Creative"
         
     | 
| 
      
 62 
     | 
    
         
            +
                   ad_creative.body.should == "The Body"
         
     | 
| 
      
 63 
     | 
    
         
            +
                   ad_creative.image_hash.should == "4c34b48cdcbf5dd3055acb717343a9d6"
         
     | 
| 
      
 64 
     | 
    
         
            +
                   ad_creative.link_url.should == "http://www.google.com/"
         
     | 
| 
      
 65 
     | 
    
         
            +
                   ad_creative.name.should == "Creative Name"
         
     | 
| 
      
 66 
     | 
    
         
            +
                   ad_creative.run_status.should == 1
         
     | 
| 
      
 67 
     | 
    
         
            +
                   ad_creative.preview_url.should == "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668"
         
     | 
| 
      
 68 
     | 
    
         
            +
                   ad_creative.count_current_adgroups.should == 1
         
     | 
| 
      
 69 
     | 
    
         
            +
                   ad_creative.image_url.should == "https://www.google.com/image.png"
         
     | 
| 
      
 70 
     | 
    
         
            +
                 end
         
     | 
| 
      
 71 
     | 
    
         
            +
               end
         
     | 
| 
      
 72 
     | 
    
         
            +
             end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
             describe FbGraph::AdCreative, '.update' do
         
     | 
| 
      
 75 
     | 
    
         
            +
               it "should return true from facebook" do 
         
     | 
| 
      
 76 
     | 
    
         
            +
                 mock_graph :post, '6003590469668', 'true', :body => "New Body" do
         
     | 
| 
      
 77 
     | 
    
         
            +
                   attributes = {
         
     | 
| 
      
 78 
     | 
    
         
            +
                     :id => '6003590469668',
         
     | 
| 
      
 79 
     | 
    
         
            +
                     :body => "The Body"
         
     | 
| 
      
 80 
     | 
    
         
            +
                   }
         
     | 
| 
      
 81 
     | 
    
         
            +
                   ad_creative = FbGraph::AdCreative.new(attributes.delete(:id), attributes)
         
     | 
| 
      
 82 
     | 
    
         
            +
                   ad_creative.update(:body => "New Body").should be_true
         
     | 
| 
      
 83 
     | 
    
         
            +
                 end
         
     | 
| 
      
 84 
     | 
    
         
            +
               end
         
     | 
| 
      
 85 
     | 
    
         
            +
             end
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            describe FbGraph::Connections::AdGroups, '#ad_creatives' do
         
     | 
| 
      
 4 
     | 
    
         
            +
              context 'when included by FbGraph::AdGroup' do
         
     | 
| 
      
 5 
     | 
    
         
            +
                context 'when access_token is given' do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  it 'should return ad_creatives as FbGraph::AdCreative' do
         
     | 
| 
      
 7 
     | 
    
         
            +
                    mock_graph :get, '22334455/adcreatives', 'ad_groups/ad_creatives/22334455_ad_creatives', :access_token => 'access_token' do
         
     | 
| 
      
 8 
     | 
    
         
            +
                      ad_creatives = FbGraph::AdGroup.new('22334455', :access_token => 'access_token').ad_creatives
         
     | 
| 
      
 9 
     | 
    
         
            +
                      ad_creatives.size.should == 1 
         
     | 
| 
      
 10 
     | 
    
         
            +
                      ad_creative = ad_creatives.first 
         
     | 
| 
      
 11 
     | 
    
         
            +
                      ad_creative.identifier.should == "6003590469668"
         
     | 
| 
      
 12 
     | 
    
         
            +
                      ad_creative.view_tag.should == ""
         
     | 
| 
      
 13 
     | 
    
         
            +
                      ad_creative.alt_view_tags.should == []
         
     | 
| 
      
 14 
     | 
    
         
            +
                      ad_creative.creative_id.should == "6003590469668"
         
     | 
| 
      
 15 
     | 
    
         
            +
                      ad_creative.type.should == 1
         
     | 
| 
      
 16 
     | 
    
         
            +
                      ad_creative.title.should == "Some Creative"
         
     | 
| 
      
 17 
     | 
    
         
            +
                      ad_creative.body.should == "The Body"
         
     | 
| 
      
 18 
     | 
    
         
            +
                      ad_creative.image_hash.should == "4c34b48cdcbf5dd3055acb717343a9d6"
         
     | 
| 
      
 19 
     | 
    
         
            +
                      ad_creative.link_url.should == "http://www.google.com/"
         
     | 
| 
      
 20 
     | 
    
         
            +
                      ad_creative.name.should == "Creative Name"
         
     | 
| 
      
 21 
     | 
    
         
            +
                      ad_creative.run_status.should == 1
         
     | 
| 
      
 22 
     | 
    
         
            +
                      ad_creative.preview_url.should == "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668"
         
     | 
| 
      
 23 
     | 
    
         
            +
                      ad_creative.count_current_adgroups.should == 1
         
     | 
| 
      
 24 
     | 
    
         
            +
                      ad_creative.image_url.should == "https://www.google.com/image.png"
         
     | 
| 
      
 25 
     | 
    
         
            +
                    end
         
     | 
| 
      
 26 
     | 
    
         
            +
                  end
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {
         
     | 
| 
      
 2 
     | 
    
         
            +
              "id": "6003590469668",
         
     | 
| 
      
 3 
     | 
    
         
            +
              "view_tag": "",
         
     | 
| 
      
 4 
     | 
    
         
            +
              "alt_view_tags": [],
         
     | 
| 
      
 5 
     | 
    
         
            +
              "creative_id": "6003590469668",
         
     | 
| 
      
 6 
     | 
    
         
            +
              "type": 1,
         
     | 
| 
      
 7 
     | 
    
         
            +
              "title": "Some Creative",
         
     | 
| 
      
 8 
     | 
    
         
            +
              "body": "The Body",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "image_hash": "4c34b48cdcbf5dd3055acb717343a9d6",
         
     | 
| 
      
 10 
     | 
    
         
            +
              "link_url": "http://www.google.com/",
         
     | 
| 
      
 11 
     | 
    
         
            +
              "name": "Creative Name",
         
     | 
| 
      
 12 
     | 
    
         
            +
              "run_status": 1,
         
     | 
| 
      
 13 
     | 
    
         
            +
              "preview_url": "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668",
         
     | 
| 
      
 14 
     | 
    
         
            +
              "count_current_adgroups": 1,
         
     | 
| 
      
 15 
     | 
    
         
            +
              "image_url": "https://www.google.com/image.png"
         
     | 
| 
      
 16 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"data": [
         
     | 
| 
      
 2 
     | 
    
         
            +
              {
         
     | 
| 
      
 3 
     | 
    
         
            +
              "id": "6003590469668",
         
     | 
| 
      
 4 
     | 
    
         
            +
              "view_tag": "",
         
     | 
| 
      
 5 
     | 
    
         
            +
              "alt_view_tags": [],
         
     | 
| 
      
 6 
     | 
    
         
            +
              "creative_id": "6003590469668",
         
     | 
| 
      
 7 
     | 
    
         
            +
              "type": 1,
         
     | 
| 
      
 8 
     | 
    
         
            +
              "title": "Some Creative",
         
     | 
| 
      
 9 
     | 
    
         
            +
              "body": "The Body",
         
     | 
| 
      
 10 
     | 
    
         
            +
              "image_hash": "4c34b48cdcbf5dd3055acb717343a9d6",
         
     | 
| 
      
 11 
     | 
    
         
            +
              "link_url": "http://www.google.com/",
         
     | 
| 
      
 12 
     | 
    
         
            +
              "name": "Creative Name",
         
     | 
| 
      
 13 
     | 
    
         
            +
              "run_status": 1,
         
     | 
| 
      
 14 
     | 
    
         
            +
              "preview_url": "http://www.facebook.com/ads/api/creative_preview.php?cid=6003590469668",
         
     | 
| 
      
 15 
     | 
    
         
            +
              "count_current_adgroups": 1,
         
     | 
| 
      
 16 
     | 
    
         
            +
              "image_url": "https://www.google.com/image.png"
         
     | 
| 
      
 17 
     | 
    
         
            +
            }]
         
     | 
| 
      
 18 
     | 
    
         
            +
            }
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: fb_graph
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2012-09- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2012-09-13 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: httpclient
         
     | 
| 
         @@ -59,6 +59,22 @@ dependencies: 
     | 
|
| 
       59 
59 
     | 
    
         
             
                - - ! '>='
         
     | 
| 
       60 
60 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
61 
     | 
    
         
             
                    version: '0'
         
     | 
| 
      
 62 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 63 
     | 
    
         
            +
              name: json
         
     | 
| 
      
 64 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 65 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 66 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 67 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 68 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 69 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 70 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 71 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 72 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 73 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 74 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 75 
     | 
    
         
            +
                - - ! '>='
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 77 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       62 
78 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       63 
79 
     | 
    
         
             
              name: rake
         
     | 
| 
       64 
80 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -167,6 +183,7 @@ files: 
     | 
|
| 
       167 
183 
     | 
    
         
             
            - lib/fb_graph/ad_campaign.rb
         
     | 
| 
       168 
184 
     | 
    
         
             
            - lib/fb_graph/ad_campaign_stat.rb
         
     | 
| 
       169 
185 
     | 
    
         
             
            - lib/fb_graph/ad_connection_object.rb
         
     | 
| 
      
 186 
     | 
    
         
            +
            - lib/fb_graph/ad_creative.rb
         
     | 
| 
       170 
187 
     | 
    
         
             
            - lib/fb_graph/ad_group.rb
         
     | 
| 
       171 
188 
     | 
    
         
             
            - lib/fb_graph/ad_group_stat.rb
         
     | 
| 
       172 
189 
     | 
    
         
             
            - lib/fb_graph/ad_keyword.rb
         
     | 
| 
         @@ -194,6 +211,7 @@ files: 
     | 
|
| 
       194 
211 
     | 
    
         
             
            - lib/fb_graph/connections/ad_campaign_stats.rb
         
     | 
| 
       195 
212 
     | 
    
         
             
            - lib/fb_graph/connections/ad_campaigns.rb
         
     | 
| 
       196 
213 
     | 
    
         
             
            - lib/fb_graph/connections/ad_connection_objects.rb
         
     | 
| 
      
 214 
     | 
    
         
            +
            - lib/fb_graph/connections/ad_creatives.rb
         
     | 
| 
       197 
215 
     | 
    
         
             
            - lib/fb_graph/connections/ad_group_stats.rb
         
     | 
| 
       198 
216 
     | 
    
         
             
            - lib/fb_graph/connections/ad_groups.rb
         
     | 
| 
       199 
217 
     | 
    
         
             
            - lib/fb_graph/connections/ad_previews.rb
         
     | 
| 
         @@ -330,6 +348,7 @@ files: 
     | 
|
| 
       330 
348 
     | 
    
         
             
            - spec/fb_graph/ad_account_spec.rb
         
     | 
| 
       331 
349 
     | 
    
         
             
            - spec/fb_graph/ad_campaign_spec.rb
         
     | 
| 
       332 
350 
     | 
    
         
             
            - spec/fb_graph/ad_connection_object_spec.rb
         
     | 
| 
      
 351 
     | 
    
         
            +
            - spec/fb_graph/ad_creative_spec.rb
         
     | 
| 
       333 
352 
     | 
    
         
             
            - spec/fb_graph/ad_group_spec.rb
         
     | 
| 
       334 
353 
     | 
    
         
             
            - spec/fb_graph/ad_keyword_spec.rb
         
     | 
| 
       335 
354 
     | 
    
         
             
            - spec/fb_graph/ad_keyword_suggestion_spec.rb
         
     | 
| 
         @@ -353,6 +372,7 @@ files: 
     | 
|
| 
       353 
372 
     | 
    
         
             
            - spec/fb_graph/connections/ad_campaign_stat_spec.rb
         
     | 
| 
       354 
373 
     | 
    
         
             
            - spec/fb_graph/connections/ad_campaigns_spec.rb
         
     | 
| 
       355 
374 
     | 
    
         
             
            - spec/fb_graph/connections/ad_connection_objects_spec.rb
         
     | 
| 
      
 375 
     | 
    
         
            +
            - spec/fb_graph/connections/ad_creatives_spec.rb
         
     | 
| 
       356 
376 
     | 
    
         
             
            - spec/fb_graph/connections/ad_group_stat_spec.rb
         
     | 
| 
       357 
377 
     | 
    
         
             
            - spec/fb_graph/connections/ad_groups_spec.rb
         
     | 
| 
       358 
378 
     | 
    
         
             
            - spec/fb_graph/connections/ad_previews_spec.rb
         
     | 
| 
         @@ -491,6 +511,8 @@ files: 
     | 
|
| 
       491 
511 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/ad_groups/22334455_ad_groups.json
         
     | 
| 
       492 
512 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/test_ad_campaign.json
         
     | 
| 
       493 
513 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/test_ad_campaign_update_with_redownload.json
         
     | 
| 
      
 514 
     | 
    
         
            +
            - spec/mock_json/ad_creatives/test_ad_creative.json
         
     | 
| 
      
 515 
     | 
    
         
            +
            - spec/mock_json/ad_groups/ad_creatives/22334455_ad_creatives.json
         
     | 
| 
       494 
516 
     | 
    
         
             
            - spec/mock_json/ad_groups/test_ad_group.json
         
     | 
| 
       495 
517 
     | 
    
         
             
            - spec/mock_json/ad_groups/test_ad_group_update_with_redownload.json
         
     | 
| 
       496 
518 
     | 
    
         
             
            - spec/mock_json/ad_keyword_suggestions/buffy_suggestions.json
         
     | 
| 
         @@ -712,6 +734,7 @@ test_files: 
     | 
|
| 
       712 
734 
     | 
    
         
             
            - spec/fb_graph/ad_account_spec.rb
         
     | 
| 
       713 
735 
     | 
    
         
             
            - spec/fb_graph/ad_campaign_spec.rb
         
     | 
| 
       714 
736 
     | 
    
         
             
            - spec/fb_graph/ad_connection_object_spec.rb
         
     | 
| 
      
 737 
     | 
    
         
            +
            - spec/fb_graph/ad_creative_spec.rb
         
     | 
| 
       715 
738 
     | 
    
         
             
            - spec/fb_graph/ad_group_spec.rb
         
     | 
| 
       716 
739 
     | 
    
         
             
            - spec/fb_graph/ad_keyword_spec.rb
         
     | 
| 
       717 
740 
     | 
    
         
             
            - spec/fb_graph/ad_keyword_suggestion_spec.rb
         
     | 
| 
         @@ -735,6 +758,7 @@ test_files: 
     | 
|
| 
       735 
758 
     | 
    
         
             
            - spec/fb_graph/connections/ad_campaign_stat_spec.rb
         
     | 
| 
       736 
759 
     | 
    
         
             
            - spec/fb_graph/connections/ad_campaigns_spec.rb
         
     | 
| 
       737 
760 
     | 
    
         
             
            - spec/fb_graph/connections/ad_connection_objects_spec.rb
         
     | 
| 
      
 761 
     | 
    
         
            +
            - spec/fb_graph/connections/ad_creatives_spec.rb
         
     | 
| 
       738 
762 
     | 
    
         
             
            - spec/fb_graph/connections/ad_group_stat_spec.rb
         
     | 
| 
       739 
763 
     | 
    
         
             
            - spec/fb_graph/connections/ad_groups_spec.rb
         
     | 
| 
       740 
764 
     | 
    
         
             
            - spec/fb_graph/connections/ad_previews_spec.rb
         
     | 
| 
         @@ -873,6 +897,8 @@ test_files: 
     | 
|
| 
       873 
897 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/ad_groups/22334455_ad_groups.json
         
     | 
| 
       874 
898 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/test_ad_campaign.json
         
     | 
| 
       875 
899 
     | 
    
         
             
            - spec/mock_json/ad_campaigns/test_ad_campaign_update_with_redownload.json
         
     | 
| 
      
 900 
     | 
    
         
            +
            - spec/mock_json/ad_creatives/test_ad_creative.json
         
     | 
| 
      
 901 
     | 
    
         
            +
            - spec/mock_json/ad_groups/ad_creatives/22334455_ad_creatives.json
         
     | 
| 
       876 
902 
     | 
    
         
             
            - spec/mock_json/ad_groups/test_ad_group.json
         
     | 
| 
       877 
903 
     | 
    
         
             
            - spec/mock_json/ad_groups/test_ad_group_update_with_redownload.json
         
     | 
| 
       878 
904 
     | 
    
         
             
            - spec/mock_json/ad_keyword_suggestions/buffy_suggestions.json
         
     |