<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/controllers/server.rb</filename>
    </added>
    <added>
      <filename>app/helpers/server_helper.rb</filename>
    </added>
    <added>
      <filename>app/models/impression.rb</filename>
    </added>
    <added>
      <filename>app/views/server/index.html.erb</filename>
    </added>
    <added>
      <filename>app/views/shared/_ad.html.erb</filename>
    </added>
    <added>
      <filename>app/views/sites/_insertion_code.html.erb</filename>
    </added>
    <added>
      <filename>data/GeoLiteCity.dat</filename>
    </added>
    <added>
      <filename>schema/migrations/004_impression_migration.rb</filename>
    </added>
    <added>
      <filename>spec/controllers/server_spec.rb</filename>
    </added>
    <added>
      <filename>spec/helpers/server_helper_spec.rb</filename>
    </added>
    <added>
      <filename>spec/models/impression_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -4,4 +4,4 @@ class Dashboard &lt; Application
     render
   end
   
-end
+end
\ No newline at end of file</diff>
      <filename>app/controllers/dashboard.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,5 +15,10 @@ module Merb
       (fraction*100).to_s + &quot;%&quot;
     end
     
+    def host_with_port
+      request.protocol + request.host
+      #&quot;http://&quot; + Merb.config[:host] + &quot;:&quot; + Merb.config[:port]
+    end
+    
   end
 end</diff>
      <filename>app/helpers/global_helpers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 class Campaign &lt; ActiveRecord::Base
   
   belongs_to :spot
+  has_many :impressions
   
   validates_presence_of :name, :starts_on, :ends_on, :spot_id
   </diff>
      <filename>app/models/campaign.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,4 +13,9 @@ class Spot &lt; ActiveRecord::Base
     return self.campaigns[index - 1]
   end
   
+  # finds an advertisment with weighting, etc taken into account
+  def campaign_for_serving
+    self.campaigns.first
+  end
+  
 end
\ No newline at end of file</diff>
      <filename>app/models/spot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,11 +20,13 @@
 &lt;% if @site.spots.empty? %&gt;
   &lt;p&gt;No spots added for this site.&lt;/p&gt;
 &lt;% else %&gt;
-  &lt;ul class=&quot;spots&quot;&gt;
+  &lt;ul class=&quot;spots full-width-spots&quot;&gt;
     &lt;% for spot in @site.spots %&gt;
     &lt;li&gt;
-      &lt;h4&gt;&lt;%=h spot.name %&gt;&lt;/h4&gt;
+      &lt;p class=&quot;status&quot;&gt;&lt;%=h spot.name %&gt;&lt;/p&gt;
       &lt;p class=&quot;meta&quot;&gt;&lt;%= spot.campaigns.count %&gt; / &lt;%= spot.campaign_limit %&gt; campaigns filled&lt;/p&gt;
+      &lt;p class=&quot;action&quot;&gt;&lt;a href=&quot;#&quot; class=&quot;codetoggler&quot; toggle=&quot;code-&lt;%= spot.id %&gt;&quot;&gt;Show Code&lt;/a&gt;&lt;/p&gt;
+      &lt;textarea id=&quot;code-&lt;%= spot.id %&gt;&quot; class=&quot;code-insertion&quot;&gt;&lt;%= partial :insertion_code, :spot =&gt; spot %&gt;&lt;/textarea&gt;
     &lt;/li&gt;
     &lt;% end %&gt;
   &lt;/ul&gt;</diff>
      <filename>app/views/sites/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ use_test :rspec
 
 ### Add your other dependencies here
 
-dependencies &quot;merb-assets&quot;, &quot;merb_helpers&quot;
+dependencies &quot;merb-assets&quot;, &quot;merb_helpers&quot;, &quot;geoip&quot;
 
 Merb::BootLoader.after_app_loads do    
   my_formats = {</diff>
      <filename>config/init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,6 +37,22 @@ var rules = {
 
     // update hidden fields if visual fields have info in them
     element.fireEvent('keyup'); 
+  },
+  
+  '.codetoggler': function(element){
+    element = $(element);
+    toggle_element = $(element.getAttribute('toggle'));
+    toggle_element.hide();
+    element.addEvent('click', function(e){
+      if (toggle_element.visible()){
+        toggle_element.hide();
+        this.innerHTML = 'Show Code';
+      }else{
+        toggle_element.show();
+        this.innerHTML = 'Hide Code';
+      }
+      (new Event(e)).stop();
+    });
   }
 }
 </diff>
      <filename>public/javascripts/application.js</filename>
    </modified>
    <modified>
      <diff>@@ -190,6 +190,13 @@ input[type=text], input[type=password], textarea{
 input[type=text].datepicker{
   width:100px;
 }
+textarea.code-insertion{
+  width:97%;
+  height:120px;
+  font-family: &quot;Courier New&quot;, Courier, monospace;
+  font-size:11px;
+  color:#000;
+}
 
 input[type=submit], button[type=submit]{
   padding:5px 10px;
@@ -285,6 +292,9 @@ ul.meta li a{
 ul.spots{
   margin:15px 0 15px -10px;
 }
+ul.full-width-spots{
+  margin-left:0;
+}
 ul.spots li{
   list-style-type:none;
   float:left;
@@ -298,7 +308,11 @@ ul.spots li{
   -o-border-radius:4px;
   border-radius:4px;
 }
-
+ul.full-width-spots li{
+  float:none;
+  margin-left:0;
+  width:auto;
+}
 .spots p.status{
   margin:5px 0;
   font-size:11px;</diff>
      <filename>public/stylesheets/master.css</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 3) do
+ActiveRecord::Schema.define(:version =&gt; 4) do
 
   create_table &quot;campaigns&quot;, :force =&gt; true do |t|
     t.string   &quot;name&quot;
@@ -22,6 +22,17 @@ ActiveRecord::Schema.define(:version =&gt; 3) do
     t.integer  &quot;spot_id&quot;
     t.datetime &quot;created_at&quot;
     t.datetime &quot;updated_at&quot;
+    t.string   &quot;link&quot;
+    t.integer  &quot;impressions_count&quot;, :default =&gt; 0
+    t.integer  &quot;clicks_count&quot;,      :default =&gt; 0
+  end
+
+  create_table &quot;impressions&quot;, :force =&gt; true do |t|
+    t.string   &quot;ip&quot;
+    t.string   &quot;country&quot;
+    t.boolean  &quot;clicked&quot;,     :default =&gt; false
+    t.integer  &quot;campaign_id&quot;
+    t.datetime &quot;created_at&quot;
   end
 
   create_table &quot;sites&quot;, :force =&gt; true do |t|</diff>
      <filename>schema/schema.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fd7fd932d6657833bace20062c954d56a54602b9</id>
    </parent>
  </parents>
  <author>
    <name>Kyle Neath</name>
    <email>kneath@gmail.com</email>
  </author>
  <url>http://github.com/kneath/greed/commit/3a2be190863e49a2211f844ac39505447672148e</url>
  <id>3a2be190863e49a2211f844ac39505447672148e</id>
  <committed-date>2008-04-27T00:38:53-07:00</committed-date>
  <authored-date>2008-04-27T00:38:53-07:00</authored-date>
  <message>Add impressions &amp; basic serving</message>
  <tree>59da9828b97b3f130c5736df753df6c02a2085db</tree>
  <committer>
    <name>Kyle Neath</name>
    <email>kneath@gmail.com</email>
  </committer>
</commit>
