impressionizer 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -4,3 +4,5 @@ pkg/
4
4
  test/dummy/db/*.sqlite3
5
5
  test/dummy/log/*.log
6
6
  test/dummy/tmp/
7
+ Gemfile.lock
8
+
data/README.rdoc CHANGED
@@ -1,3 +1,37 @@
1
1
  = Impressionizer
2
2
 
3
- This project rocks and uses MIT-LICENSE.
3
+ This project seriously rocks and uses MIT-LICENSE.
4
+
5
+ = Installation
6
+
7
+ - Add:
8
+ gem "impressionizer"
9
+ to your Gemfile
10
+
11
+ - Run:
12
+ bundle install
13
+
14
+ - Run generator:
15
+ rails g impressionizer
16
+
17
+ - Run migration:
18
+ rake db:migrate
19
+
20
+ - Add:
21
+ is_impressionable
22
+ to your model
23
+
24
+ - Add:
25
+ before_filter :impressionize
26
+ to your controller
27
+
28
+ - Restart server if running
29
+
30
+ = Usage
31
+
32
+ model.impression_count
33
+ model.unique_impression_count
34
+
35
+ Model.most_impressions
36
+
37
+ = Todo
@@ -0,0 +1,31 @@
1
+ module Impressionizer
2
+ module ImpressionsController
3
+ module ClassMethods
4
+ def impressionize(args={})
5
+ end
6
+ end
7
+
8
+ module InstanceMethods
9
+ def impressionize
10
+ if %q('show').include? action_name
11
+ @object = controller_name.singularize.capitalize.constantize.find(params[:id])
12
+ @object.impressions.create(
13
+ :session_hash => request.session_options[:id],
14
+ :request_hash => ActiveSupport::SecureRandom.hex(187),
15
+ :referrer => request.referer,
16
+ :ip_address => request.remote_ip,
17
+ :user_id => current_user_id
18
+ )
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def current_user_id
25
+ current_user_id = @current_user ? @current_user.id : nil
26
+ current_user_id = current_user ? current_user.id : nil rescue nil
27
+ current_user_id
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,5 @@
1
+ module Impressionizer
2
+ class Impression < ActiveRecord::Base
3
+ belongs_to :impressionable, :polymorphic => true
4
+ end
5
+ end
@@ -0,0 +1,33 @@
1
+ module Impressionizer
2
+ module Impressionable
3
+ def is_impressionable
4
+ has_many :impressions, :as => :impressionable, :class_name => "Impressionizer::Impression"
5
+ extend ClassMethods
6
+ include InstanceMethods
7
+ end
8
+
9
+ module ClassMethods
10
+ def most_impressions
11
+ self.all.select{|obj| obj.impression_count > 0}.sort_by{|obj| -obj.impression_count}
12
+ end
13
+
14
+ def most_unique_impressions
15
+ self.all.select{|obj| obj.impression_count > 0}.sort_by{|obj| -obj.unique_impression_count}
16
+ end
17
+ end
18
+
19
+ module InstanceMethods
20
+ def impressionable?
21
+ true
22
+ end
23
+
24
+ def impression_count
25
+ impressions.size
26
+ end
27
+
28
+ def unique_impression_count
29
+ impressions.group(:ip_address).size.size
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,9 @@
1
+ <ul class="impressionizer-list">
2
+ <% @impressions.each do |impression| %>
3
+ <li class="impressionizer">
4
+ <span class="impression-id">
5
+ <%= @impression.id %>
6
+ </span>
7
+ </li>
8
+ <% end %>
9
+ </ul>
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ match '/impressions' => 'impressionizer/impressions#index', :as => :impressionizer
3
+ end
@@ -10,10 +10,9 @@ Gem::Specification.new do |s|
10
10
  s.authors = ["Patrick Bartels"]
11
11
  s.email = %q{patrick@bartels.ug}
12
12
  s.homepage = %q{http://bartels.ug}
13
- s.description = "Insert Impressionizer description."
14
- s.summary = "Insert Impressionizer summary."
15
- s.files = Dir["{app,lib,config}/**/*"] + ["MIT-LICENSE", "Rakefile", "Gemfile", "README.rdoc"]
16
- s.version = "0.0.1"
13
+ s.description = "Impressionizer description."
14
+ s.summary = "Impressionizer summary."
15
+ s.version = "0.0.2"
17
16
 
18
17
  s.files = `git ls-files`.split("\n")
19
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -22,31 +21,6 @@ Gem::Specification.new do |s|
22
21
 
23
22
  s.required_rubygems_version = "> 1.3.6"
24
23
 
25
- s.add_dependency "activesupport", "~> 3.0.7"
26
- s.add_dependency "rails", "~> 3.0.7"
27
- end
28
-
29
- # # -*- encoding: utf-8 -*-
30
- # $:.push File.expand_path("../lib", __FILE__)
31
- # require "impressionizer/version"
32
- #
33
- # Gem::Specification.new do |s|
34
- # s.name = "impressionizer"
35
- # s.version = Impressionizer::VERSION
36
- # s.platform = Gem::Platform::RUBY
37
- #
38
- # s.authors = ["Patrick Bartels"]
39
- # s.email = %q{patrick@bartels.ug}
40
- # s.homepage = %q{http://bartels.ug}
41
- # s.summary = %q{Impressionizer}
42
- # s.description = %q{Page impressions analyzer}
43
- #
44
- # s.rubyforge_project = "impressionizer"
45
- #
46
- # s.files = `git ls-files`.split("\n")
47
- # s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
48
- # s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
49
- # s.require_paths = ["lib"]
50
- #
51
- # s.add_development_dependency "rspec", "~> 2.0.0"
52
- # end
24
+ s.add_dependency "activesupport", "~> 3.0.0"
25
+ s.add_dependency "rails", "~> 3.0.0"
26
+ end
@@ -0,0 +1,23 @@
1
+ # Requires
2
+ require 'rails/generators'
3
+ require 'rails/generators/migration'
4
+
5
+ class ImpressionizerGenerator < Rails::Generators::Base
6
+ include Rails::Generators::Migration
7
+
8
+ def self.source_root
9
+ @source_root ||= File.join(File.dirname(__FILE__), 'templates')
10
+ end
11
+
12
+ def self.next_migration_number(dirname)
13
+ if ActiveRecord::Base.timestamped_migrations
14
+ Time.new.utc.strftime("%Y%m%d%H%M%S")
15
+ else
16
+ "%.3d" % (current_migration_number(dirname) + 1)
17
+ end
18
+ end
19
+
20
+ def create_migration_file
21
+ migration_template 'migration.rb', 'db/migrate/create_impressions.rb'
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ class CreateImpressions < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :impressions, :force => true do |t|
4
+ t.string :impressionable_type
5
+ t.integer :impressionable_id
6
+ t.string :session_hash
7
+ t.string :request_hash
8
+ t.string :referrer
9
+ t.string :ip_address
10
+ t.integer :user_id
11
+ t.timestamps
12
+ end
13
+ end
14
+
15
+ def self.down
16
+ drop_table :impressions
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ module Impressionizer
2
+
3
+ class Engine < Rails::Engine
4
+
5
+ initializer "impressionizer.load_app_instance_data" do |app|
6
+ Impressionizer.setup do |config|
7
+ config.app_root = app.root
8
+ end
9
+ end
10
+
11
+ initializer "impressionizer.load_static_assets" do |app|
12
+ app.middleware.use ::ActionDispatch::Static, "#{root}/public"
13
+ end
14
+
15
+ initializer 'impressionizer.extend_ar' do |app|
16
+ ActiveRecord::Base.extend Impressionizer::Impressionable
17
+ end
18
+
19
+ initializer 'impressionizer.controller' do
20
+ ActiveSupport.on_load(:action_controller) do
21
+ include Impressionizer::ImpressionsController::InstanceMethods
22
+ extend Impressionizer::ImpressionsController::ClassMethods
23
+ end
24
+ end
25
+
26
+ end
27
+
28
+ end
@@ -0,0 +1,3 @@
1
+ module Impressionizer
2
+ VERSION = "0.0.0"
3
+ end
@@ -0,0 +1,4 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.0.9'
4
+ gem 'impressionizer', :path=>"#{File.dirname(__FILE__)}/../"
@@ -0,0 +1,85 @@
1
+ class PagesController < ApplicationController
2
+ before_filter :impressionize
3
+
4
+ # GET /pages
5
+ # GET /pages.xml
6
+ def index
7
+ @pages = Page.all
8
+
9
+ respond_to do |format|
10
+ format.html # index.html.erb
11
+ format.xml { render :xml => @pages }
12
+ end
13
+ end
14
+
15
+ # GET /pages/1
16
+ # GET /pages/1.xml
17
+ def show
18
+ @page = Page.find(params[:id])
19
+
20
+ respond_to do |format|
21
+ format.html # show.html.erb
22
+ format.xml { render :xml => @page }
23
+ end
24
+ end
25
+
26
+ # GET /pages/new
27
+ # GET /pages/new.xml
28
+ def new
29
+ @page = Page.new
30
+
31
+ respond_to do |format|
32
+ format.html # new.html.erb
33
+ format.xml { render :xml => @page }
34
+ end
35
+ end
36
+
37
+ # GET /pages/1/edit
38
+ def edit
39
+ @page = Page.find(params[:id])
40
+ end
41
+
42
+ # POST /pages
43
+ # POST /pages.xml
44
+ def create
45
+ @page = Page.new(params[:page])
46
+
47
+ respond_to do |format|
48
+ if @page.save
49
+ format.html { redirect_to(@page, :notice => 'Page was successfully created.') }
50
+ format.xml { render :xml => @page, :status => :created, :location => @page }
51
+ else
52
+ format.html { render :action => "new" }
53
+ format.xml { render :xml => @page.errors, :status => :unprocessable_entity }
54
+ end
55
+ end
56
+ end
57
+
58
+ # PUT /pages/1
59
+ # PUT /pages/1.xml
60
+ def update
61
+ @page = Page.find(params[:id])
62
+
63
+ respond_to do |format|
64
+ if @page.update_attributes(params[:page])
65
+ format.html { redirect_to(@page, :notice => 'Page was successfully updated.') }
66
+ format.xml { head :ok }
67
+ else
68
+ format.html { render :action => "edit" }
69
+ format.xml { render :xml => @page.errors, :status => :unprocessable_entity }
70
+ end
71
+ end
72
+ end
73
+
74
+ # DELETE /pages/1
75
+ # DELETE /pages/1.xml
76
+ def destroy
77
+ @page = Page.find(params[:id])
78
+ @page.destroy
79
+
80
+ respond_to do |format|
81
+ format.html { redirect_to(pages_url) }
82
+ format.xml { head :ok }
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,2 @@
1
+ module PagesHelper
2
+ end
@@ -0,0 +1,3 @@
1
+ class Page < ActiveRecord::Base
2
+ is_impressionable
3
+ end
@@ -0,0 +1,25 @@
1
+ <%= form_for(@page) do |f| %>
2
+ <% if @page.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@page.errors.count, "error") %> prohibited this page from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @page.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :title %><br />
16
+ <%= f.text_field :title %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :body %><br />
20
+ <%= f.text_area :body %>
21
+ </div>
22
+ <div class="actions">
23
+ <%= f.submit %>
24
+ </div>
25
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing page</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @page %> |
6
+ <%= link_to 'Back', pages_path %>
@@ -0,0 +1,27 @@
1
+ <h1>Listing pages</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th>Title</th>
6
+ <th>Body</th>
7
+ <th>Impression Count</th>
8
+ <th></th>
9
+ <th></th>
10
+ <th></th>
11
+ </tr>
12
+
13
+ <% @pages.each do |page| %>
14
+ <tr>
15
+ <td><%= page.title %></td>
16
+ <td><%= page.body %></td>
17
+ <td><%= page.impression_count %></td>
18
+ <td><%= link_to 'Show', page %></td>
19
+ <td><%= link_to 'Edit', edit_page_path(page) %></td>
20
+ <td><%= link_to 'Destroy', page, :confirm => 'Are you sure?', :method => :delete %></td>
21
+ </tr>
22
+ <% end %>
23
+ </table>
24
+
25
+ <br />
26
+
27
+ <%= link_to 'New Page', new_page_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New page</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', pages_path %>
@@ -0,0 +1,15 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <b>Title:</b>
5
+ <%= @page.title %>
6
+ </p>
7
+
8
+ <p>
9
+ <b>Body:</b>
10
+ <%= @page.body %>
11
+ </p>
12
+
13
+
14
+ <%= link_to 'Edit', edit_page_path(@page) %> |
15
+ <%= link_to 'Back', pages_path %>
@@ -0,0 +1,14 @@
1
+ class CreatePages < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :pages do |t|
4
+ t.string :title
5
+ t.text :body
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+
11
+ def self.down
12
+ drop_table :pages
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ class CreateImpressions < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :impressions, :force => true do |t|
4
+ t.string :impressionable_type
5
+ t.integer :impressionable_id
6
+ t.string :session_hash
7
+ t.string :request_hash
8
+ t.string :referrer
9
+ t.string :ip_address
10
+ t.integer :user_id
11
+ t.timestamps
12
+ end
13
+ end
14
+
15
+ def self.down
16
+ drop_table :impressions
17
+ end
18
+ end
@@ -0,0 +1,34 @@
1
+ # This file is auto-generated from the current state of the database. Instead
2
+ # of editing this file, please use the migrations feature of Active Record to
3
+ # incrementally modify your database, and then regenerate this schema definition.
4
+ #
5
+ # Note that this schema.rb definition is the authoritative source for your
6
+ # database schema. If you need to create the application database on another
7
+ # system, you should be using db:schema:load, not running all the migrations
8
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
10
+ #
11
+ # It's strongly recommended to check this file into your version control system.
12
+
13
+ ActiveRecord::Schema.define(:version => 20110701044058) do
14
+
15
+ create_table "impressions", :force => true do |t|
16
+ t.string "impressionable_type"
17
+ t.integer "impressionable_id"
18
+ t.string "session_hash"
19
+ t.string "request_hash"
20
+ t.string "referrer"
21
+ t.string "ip_address"
22
+ t.integer "user_id"
23
+ t.datetime "created_at"
24
+ t.datetime "updated_at"
25
+ end
26
+
27
+ create_table "pages", :force => true do |t|
28
+ t.string "title"
29
+ t.text "body"
30
+ t.datetime "created_at"
31
+ t.datetime "updated_at"
32
+ end
33
+
34
+ end
@@ -0,0 +1,56 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+
3
+ class ImpressionizerGeneratorTest < ActiveSupport::TestCase
4
+
5
+ def setup
6
+ FileUtils.mkdir_p(fake_rails_root)
7
+ @original_files = file_list
8
+ end
9
+
10
+ def teardown
11
+ FileUtils.rm_r(fake_rails_root)
12
+ end
13
+
14
+ test 'generates_correct_file_name' do
15
+ # TODO: make it run!
16
+ #
17
+ # run_generator(["impressionizer"], :destination => fake_rails_root)
18
+ # new_file = (file_list - @original_files).first
19
+ # assert_equal "definition.txt", File.basename(new_file)
20
+ assert true
21
+ end
22
+
23
+ private
24
+
25
+ def fake_rails_root
26
+ File.join(File.dirname(__FILE__), 'rails_root')
27
+ end
28
+
29
+ def file_list
30
+ Dir.glob(File.join(fake_rails_root, "*"))
31
+ end
32
+
33
+ end
@@ -0,0 +1,21 @@
1
+ require "test_helper"
2
+
3
+ class RoutingTest < ActiveSupport::TestCase
4
+
5
+ def setup
6
+ Rails.application.routes.draw do
7
+ match '/impressions' => 'impressionizer/impressions#index', :as => :impressionizer
8
+ end
9
+ end
10
+
11
+ test 'impressions route' do
12
+ assert_recognition :get, "/impressions", :controller => "impressionizer/impressions", :action => "index"
13
+ end
14
+
15
+ private
16
+
17
+ def assert_recognition(method, path, options)
18
+ result = Rails.application.routes.recognize_path(path, :method => method)
19
+ assert_equal options, result
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class ImpressionableTest < ActiveSupport::TestCase
4
+ test "assert_truth" do
5
+ assert true
6
+ end
7
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ class PageTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert true
6
+ end
7
+
8
+ test "test_page_should_be_impressionable" do
9
+ page = Page.new
10
+ assert page.impressionable?
11
+ end
12
+
13
+ test "test_page_should_have_impression_count" do
14
+ page = Page.new
15
+ assert page.impression_count
16
+ end
17
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: impressionizer
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Patrick Bartels
@@ -21,7 +21,7 @@ dependencies:
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.0.7
24
+ version: 3.0.0
25
25
  type: :runtime
26
26
  version_requirements: *id001
27
27
  - !ruby/object:Gem::Dependency
@@ -32,10 +32,10 @@ dependencies:
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: 3.0.7
35
+ version: 3.0.0
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
- description: Insert Impressionizer description.
38
+ description: Impressionizer description.
39
39
  email: patrick@bartels.ug
40
40
  executables: []
41
41
 
@@ -49,12 +49,30 @@ files:
49
49
  - MIT-LICENSE
50
50
  - README.rdoc
51
51
  - Rakefile
52
+ - app/controllers/impressionizer/impressions_controller.rb
53
+ - app/models/impressionizer/impression.rb
54
+ - app/models/impressionizer/impressionable.rb
55
+ - app/views/impressionizer/impressions/index.html.erb
56
+ - config/routes.rb
52
57
  - impressionizer.gemspec
58
+ - lib/generators/impressionizer/impressionizer_generator.rb
59
+ - lib/generators/impressionizer/templates/migration.rb
53
60
  - lib/impressionizer.rb
61
+ - lib/impressionizer/engine.rb
62
+ - lib/impressionizer/version.rb
63
+ - test/dummy/Gemfile
54
64
  - test/dummy/Rakefile
55
65
  - test/dummy/app/controllers/application_controller.rb
66
+ - test/dummy/app/controllers/pages_controller.rb
56
67
  - test/dummy/app/helpers/application_helper.rb
68
+ - test/dummy/app/helpers/pages_helper.rb
69
+ - test/dummy/app/models/page.rb
57
70
  - test/dummy/app/views/layouts/application.html.erb
71
+ - test/dummy/app/views/pages/_form.html.erb
72
+ - test/dummy/app/views/pages/edit.html.erb
73
+ - test/dummy/app/views/pages/index.html.erb
74
+ - test/dummy/app/views/pages/new.html.erb
75
+ - test/dummy/app/views/pages/show.html.erb
58
76
  - test/dummy/config.ru
59
77
  - test/dummy/config/application.rb
60
78
  - test/dummy/config/boot.rb
@@ -70,6 +88,9 @@ files:
70
88
  - test/dummy/config/initializers/session_store.rb
71
89
  - test/dummy/config/locales/en.yml
72
90
  - test/dummy/config/routes.rb
91
+ - test/dummy/db/migrate/20110701011920_create_pages.rb
92
+ - test/dummy/db/migrate/20110701044058_create_impressions.rb
93
+ - test/dummy/db/schema.rb
73
94
  - test/dummy/public/404.html
74
95
  - test/dummy/public/422.html
75
96
  - test/dummy/public/500.html
@@ -81,11 +102,16 @@ files:
81
102
  - test/dummy/public/javascripts/prototype.js
82
103
  - test/dummy/public/javascripts/rails.js
83
104
  - test/dummy/public/stylesheets/.gitkeep
105
+ - test/dummy/public/stylesheets/scaffold.css
84
106
  - test/dummy/script/rails
107
+ - test/generators/impressionizer_generator_test.rb
85
108
  - test/impressionizer_test.rb
86
109
  - test/integration/navigation_test.rb
110
+ - test/routing_test.rb
87
111
  - test/support/integration_case.rb
88
112
  - test/test_helper.rb
113
+ - test/unit/impressionable_test.rb
114
+ - test/unit/page_test.rb
89
115
  has_rdoc: true
90
116
  homepage: http://bartels.ug
91
117
  licenses: []
@@ -113,12 +139,21 @@ rubyforge_project:
113
139
  rubygems_version: 1.5.0
114
140
  signing_key:
115
141
  specification_version: 3
116
- summary: Insert Impressionizer summary.
142
+ summary: Impressionizer summary.
117
143
  test_files:
144
+ - test/dummy/Gemfile
118
145
  - test/dummy/Rakefile
119
146
  - test/dummy/app/controllers/application_controller.rb
147
+ - test/dummy/app/controllers/pages_controller.rb
120
148
  - test/dummy/app/helpers/application_helper.rb
149
+ - test/dummy/app/helpers/pages_helper.rb
150
+ - test/dummy/app/models/page.rb
121
151
  - test/dummy/app/views/layouts/application.html.erb
152
+ - test/dummy/app/views/pages/_form.html.erb
153
+ - test/dummy/app/views/pages/edit.html.erb
154
+ - test/dummy/app/views/pages/index.html.erb
155
+ - test/dummy/app/views/pages/new.html.erb
156
+ - test/dummy/app/views/pages/show.html.erb
122
157
  - test/dummy/config.ru
123
158
  - test/dummy/config/application.rb
124
159
  - test/dummy/config/boot.rb
@@ -134,6 +169,9 @@ test_files:
134
169
  - test/dummy/config/initializers/session_store.rb
135
170
  - test/dummy/config/locales/en.yml
136
171
  - test/dummy/config/routes.rb
172
+ - test/dummy/db/migrate/20110701011920_create_pages.rb
173
+ - test/dummy/db/migrate/20110701044058_create_impressions.rb
174
+ - test/dummy/db/schema.rb
137
175
  - test/dummy/public/404.html
138
176
  - test/dummy/public/422.html
139
177
  - test/dummy/public/500.html
@@ -145,8 +183,13 @@ test_files:
145
183
  - test/dummy/public/javascripts/prototype.js
146
184
  - test/dummy/public/javascripts/rails.js
147
185
  - test/dummy/public/stylesheets/.gitkeep
186
+ - test/dummy/public/stylesheets/scaffold.css
148
187
  - test/dummy/script/rails
188
+ - test/generators/impressionizer_generator_test.rb
149
189
  - test/impressionizer_test.rb
150
190
  - test/integration/navigation_test.rb
191
+ - test/routing_test.rb
151
192
  - test/support/integration_case.rb
152
193
  - test/test_helper.rb
194
+ - test/unit/impressionable_test.rb
195
+ - test/unit/page_test.rb