prologue 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- prologue (0.1.0)
4
+ prologue (0.2.0)
5
5
  rails (>= 3.0.0)
6
6
  thor
7
7
 
@@ -9,12 +9,12 @@ GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
11
  abstract (1.0.0)
12
- actionmailer (3.0.0)
13
- actionpack (= 3.0.0)
12
+ actionmailer (3.0.1)
13
+ actionpack (= 3.0.1)
14
14
  mail (~> 2.2.5)
15
- actionpack (3.0.0)
16
- activemodel (= 3.0.0)
17
- activesupport (= 3.0.0)
15
+ actionpack (3.0.1)
16
+ activemodel (= 3.0.1)
17
+ activesupport (= 3.0.1)
18
18
  builder (~> 2.1.2)
19
19
  erubis (~> 2.6.6)
20
20
  i18n (~> 0.4.1)
@@ -22,19 +22,19 @@ GEM
22
22
  rack-mount (~> 0.6.12)
23
23
  rack-test (~> 0.5.4)
24
24
  tzinfo (~> 0.3.23)
25
- activemodel (3.0.0)
26
- activesupport (= 3.0.0)
25
+ activemodel (3.0.1)
26
+ activesupport (= 3.0.1)
27
27
  builder (~> 2.1.2)
28
28
  i18n (~> 0.4.1)
29
- activerecord (3.0.0)
30
- activemodel (= 3.0.0)
31
- activesupport (= 3.0.0)
29
+ activerecord (3.0.1)
30
+ activemodel (= 3.0.1)
31
+ activesupport (= 3.0.1)
32
32
  arel (~> 1.0.0)
33
33
  tzinfo (~> 0.3.23)
34
- activeresource (3.0.0)
35
- activemodel (= 3.0.0)
36
- activesupport (= 3.0.0)
37
- activesupport (3.0.0)
34
+ activeresource (3.0.1)
35
+ activemodel (= 3.0.1)
36
+ activesupport (= 3.0.1)
37
+ activesupport (3.0.1)
38
38
  arel (1.0.1)
39
39
  activesupport (~> 3.0.0)
40
40
  aruba (0.2.3)
@@ -42,10 +42,10 @@ GEM
42
42
  cucumber (~> 0.9.0)
43
43
  background_process (1.2)
44
44
  builder (2.1.2)
45
- cucumber (0.9.2)
45
+ cucumber (0.9.3)
46
46
  builder (~> 2.1.2)
47
47
  diff-lcs (~> 1.1.2)
48
- gherkin (~> 2.2.5)
48
+ gherkin (~> 2.2.9)
49
49
  json (~> 1.4.6)
50
50
  term-ansicolor (~> 1.0.5)
51
51
  diff-lcs (1.1.2)
@@ -67,30 +67,30 @@ GEM
67
67
  rack (>= 1.0.0)
68
68
  rack-test (0.5.6)
69
69
  rack (>= 1.0)
70
- rails (3.0.0)
71
- actionmailer (= 3.0.0)
72
- actionpack (= 3.0.0)
73
- activerecord (= 3.0.0)
74
- activeresource (= 3.0.0)
75
- activesupport (= 3.0.0)
70
+ rails (3.0.1)
71
+ actionmailer (= 3.0.1)
72
+ actionpack (= 3.0.1)
73
+ activerecord (= 3.0.1)
74
+ activeresource (= 3.0.1)
75
+ activesupport (= 3.0.1)
76
76
  bundler (~> 1.0.0)
77
- railties (= 3.0.0)
78
- railties (3.0.0)
79
- actionpack (= 3.0.0)
80
- activesupport (= 3.0.0)
77
+ railties (= 3.0.1)
78
+ railties (3.0.1)
79
+ actionpack (= 3.0.1)
80
+ activesupport (= 3.0.1)
81
81
  rake (>= 0.8.4)
82
82
  thor (~> 0.14.0)
83
83
  rake (0.8.7)
84
- rspec (2.0.0)
85
- rspec-core (= 2.0.0)
86
- rspec-expectations (= 2.0.0)
87
- rspec-mocks (= 2.0.0)
88
- rspec-core (2.0.0)
89
- rspec-expectations (2.0.0)
84
+ rspec (2.0.1)
85
+ rspec-core (~> 2.0.1)
86
+ rspec-expectations (~> 2.0.1)
87
+ rspec-mocks (~> 2.0.1)
88
+ rspec-core (2.0.1)
89
+ rspec-expectations (2.0.1)
90
90
  diff-lcs (>= 1.1.2)
91
- rspec-mocks (2.0.0)
92
- rspec-core (= 2.0.0)
93
- rspec-expectations (= 2.0.0)
91
+ rspec-mocks (2.0.1)
92
+ rspec-core (~> 2.0.1)
93
+ rspec-expectations (~> 2.0.1)
94
94
  term-ansicolor (1.0.5)
95
95
  thor (0.14.3)
96
96
  treetop (1.4.8)
@@ -106,5 +106,5 @@ DEPENDENCIES
106
106
  cucumber
107
107
  prologue!
108
108
  rails (>= 3.0.0)
109
- rspec (~> 2.0.0.beta.22)
109
+ rspec (~> 2.0.0)
110
110
  thor
@@ -1,3 +1,3 @@
1
1
  module Prologue
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/prologue.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency "bundler", ">= 1.0.0"
20
20
  s.add_development_dependency "cucumber"
21
21
  s.add_development_dependency "aruba"
22
- s.add_development_dependency "rspec", "~> 2.0.0.beta.22"
22
+ s.add_development_dependency "rspec", "~> 2.0.0"
23
23
 
24
24
  s.files = `git ls-files`.split("\n")
25
25
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
@@ -35,7 +35,6 @@ Feature: Administer users
35
35
  | name |
36
36
  | Member |
37
37
 
38
- @javascript
39
38
  Scenario: Create, update, delete a user in the admin
40
39
  Given a logged in admin user
41
40
  When I am on the add user page
@@ -68,7 +67,6 @@ Feature: Administer users
68
67
  And the "Admin" checkbox should be checked
69
68
  Then I press "Save"
70
69
 
71
- When I confirm a js popup on the next step
72
70
  Then I follow "Delete"
73
71
  Then I should see "User deleted."
74
72
  And I should not see "Bigger Boi"
@@ -1,3 +1,5 @@
1
+ run 'rm spec/controllers/admin/dashboard_controller_spec.rb'
2
+
1
3
  create_file 'spec/controllers/admin/dashboard_controller_spec.rb' do
2
4
  <<-'FILE'
3
5
  require 'spec_helper'
@@ -55,7 +55,7 @@ create_file 'app/views/layouts/admin.html.haml' do
55
55
  %link{:rel => "shortcut icon", :href => "/images/favicon.ico", :type => "image/x-icon"}
56
56
  /[if lt IE 9]
57
57
  %script{:type => "text/javascript", :src => "/javascripts/shiv.js"}
58
- = stylesheet_link_tag "admin"
58
+ = include_stylesheets :admin, :media => 'all'
59
59
  = yield(:head)
60
60
  /[if IE 7]
61
61
  = stylesheet_link_tag 'ie7', :media => 'all'
@@ -1,5 +1,7 @@
1
1
  create_file 'public/stylesheets/sass/admin.scss' do
2
2
  <<-FILE
3
+ @import "reset";
4
+ @import "common";
3
5
  @mixin layout_base {
4
6
  @include reset;
5
7
  @include container;
@@ -9,68 +11,6 @@ create_file 'public/stylesheets/sass/admin.scss' do
9
11
  @include layout_guide;
10
12
  }
11
13
 
12
- @mixin reset {
13
- /*
14
- html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
15
- v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
16
- html5doctor.com/html-5-reset-stylesheet/
17
- */
18
-
19
- html, body, div, span, object, iframe,
20
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
21
- abbr, address, cite, code,
22
- del, dfn, em, img, ins, kbd, q, samp,
23
- small, strong, sub, sup, var,
24
- b, i,
25
- dl, dt, dd, ol, ul, li,
26
- fieldset, form, label, legend,
27
- table, caption, tbody, tfoot, thead, tr, th, td,
28
- article, aside, canvas, details, figcaption, figure,
29
- footer, header, hgroup, menu, nav, section, summary,
30
- time, mark, audio, video {
31
- margin:0;
32
- padding:0;
33
- border:0;
34
- outline:0;
35
- font-size:100%;
36
- vertical-align:baseline;
37
- background:transparent;
38
- }
39
-
40
- article, aside, details, figcaption, figure,
41
- footer, header, hgroup, menu, nav, section {
42
- display:block;
43
- }
44
-
45
- nav ul { list-style:none; }
46
-
47
- blockquote, q { quotes:none; }
48
-
49
- blockquote:before, blockquote:after,
50
- q:before, q:after { content:''; content:none; }
51
-
52
- a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
53
-
54
- ins { background-color:#ff9; color:#000; text-decoration:none; }
55
-
56
- mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
57
-
58
- del { text-decoration: line-through; }
59
-
60
- abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
61
-
62
- /* tables still need cellspacing="0" in the markup */
63
- table { border-collapse:collapse; border-spacing:0; }
64
-
65
- hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
66
-
67
- input, select { vertical-align:middle; }
68
- }
69
-
70
- @mixin clear_left {
71
- float: left; clear: both;
72
- }
73
-
74
14
  @mixin container($container_size: 950px) {
75
15
  #container {
76
16
  width: $container_size;
@@ -69,7 +69,7 @@ end
69
69
 
70
70
  create_file 'app/views/admin/users/_form.html.haml' do
71
71
  <<-'FILE'
72
- - form_for([:admin, @user]) do |f|
72
+ = form_for([:admin, @user]) do |f|
73
73
  .form_errors
74
74
  = f.error_messages
75
75
  %fieldset#user_form
@@ -1,3 +1,5 @@
1
+ run 'rm spec/controllers/admin/users_controller_spec.rb'
2
+
1
3
  create_file 'spec/controllers/admin/users_controller_spec.rb' do
2
4
  <<-'FILE'
3
5
  require 'spec_helper'
data/templates/admin.rb CHANGED
@@ -1,11 +1,6 @@
1
1
  say "Building admin"
2
2
  generate(:controller, "admin/dashboard index")
3
-
4
- inject_into_file 'config/routes.rb', :after => "devise_for :users\n" do
5
- <<-RUBY
6
- match 'admin' => 'admin/dashboard#index'
7
- RUBY
8
- end
3
+ route("match 'admin' => 'admin/dashboard#index'")
9
4
 
10
5
  # Do layout and SASS stuff
11
6
  apply File.expand_path("../admin/sass.rb", __FILE__)
@@ -51,7 +51,7 @@ create_file 'app/views/layouts/application.html.haml' do
51
51
  %link{:rel => "apple-touch-icon", :href => "/images/ati.png"}
52
52
  /[if lt IE 9]
53
53
  %script{:type => "text/javascript", :src => "/javascripts/shiv.js"}
54
- = stylesheet_link_tag :all
54
+ = include_stylesheets :main, :media => 'all'
55
55
  = yield(:head)
56
56
  /[if IE 7]
57
57
  = stylesheet_link_tag 'ie7', :media => 'all'
data/templates/cancan.rb CHANGED
@@ -25,6 +25,10 @@ end
25
25
  inject_into_file 'app/models/role.rb', :after => "class Role < ActiveRecord::Base\n" do
26
26
  <<-RUBY
27
27
  has_and_belongs_to_many :users
28
+
29
+ def self.sanitize role
30
+ role.to_s.humanize.split(' ').each{ |word| word.capitalize! }.join(' ')
31
+ end
28
32
  RUBY
29
33
  end
30
34
 
@@ -55,12 +59,13 @@ end
55
59
  RUBY
56
60
  end
57
61
 
58
- inject_into_file 'app/models/user.rb', :before => "end\n" do
62
+ inject_into_file 'app/models/user.rb', :before => "def destroy\n" do
59
63
  <<-RUBY
60
64
 
61
65
  def role?(role)
62
- return !!self.roles.find_by_name(role.to_s.camelize)
66
+ return !!self.roles.find_by_name( Role.sanitize role )
63
67
  end
68
+
64
69
  RUBY
65
70
  end
66
71
 
@@ -108,8 +113,8 @@ end
108
113
 
109
114
  append_file 'db/seeds.rb' do
110
115
  <<-FILE
111
- Role.create! :name => 'Admin'.camelize
112
- Role.create! :name => 'Member'.camelize
116
+ Role.create! :name => 'Admin'
117
+ Role.create! :name => 'Member'
113
118
 
114
119
  user1 = User.find_by_email('#{ENV['PROLOGUE_USER_EMAIL']}')
115
120
  user1.role_ids = [1,2]
@@ -72,4 +72,51 @@ inject_into_file 'features/support/paths.rb', :after => "case page_name\n" do
72
72
  when /login/
73
73
  '/users/sign_in'
74
74
  FILE
75
+ end
76
+
77
+ create_file 'features/forgot_password.feature' do
78
+ <<-'FILE'
79
+ Feature: Forgot password
80
+ As an user
81
+ I want to secure way to reset my password
82
+ So that I can still login if I forget it
83
+
84
+ Scenario: Follow forget your password link
85
+ Given the following user records
86
+ | email |
87
+ | forgot@quickleft.com |
88
+ When I am on the login page
89
+ And I follow "Forgot your password?"
90
+ And I fill in "Email" with "forgot@quickleft.com"
91
+ And I press "Send me reset password instructions"
92
+ Then I should see "You will receive an email with instructions about how to reset your password in a few minutes."
93
+ And 1 emails should be delivered to forgot@quickleft.com
94
+ When I click the first link in the email
95
+ And I fill in "Password" with "myNewP@ssword"
96
+ And I fill in "Password confirmation" with "myNewP@ssword"
97
+ And I press "Change my password"
98
+ Then I should see "Your password was changed successfully. You are now signed in."
99
+ FILE
100
+ end
101
+
102
+ create_file 'features/resend_verification_email.feature' do
103
+ <<-'FILE'
104
+ Feature: Resend Verification
105
+ As an user
106
+ I want to resend my verification email
107
+ So that I can activate my account if I lost the original email
108
+
109
+ Scenario: Follow resend verification email
110
+ Given the following user records
111
+ | email | confirmed_at |
112
+ | resend@quickleft.com | nil |
113
+ When I am on the login page
114
+ And I follow "Didn't receive confirmation instructions?"
115
+ And I fill in "Email" with "resend@quickleft.com"
116
+ And I press "Resend confirmation instructions"
117
+ Then I should see "You will receive an email with instructions about how to confirm your account in a few minutes."
118
+ And 2 emails should be delivered to resend@quickleft.com
119
+ When I click the first link in the email
120
+ Then I should see "Your account was successfully confirmed. You are now signed in."
121
+ FILE
75
122
  end
data/templates/devise.rb CHANGED
@@ -43,16 +43,33 @@ create_file 'app/models/user.rb' do
43
43
  <<-RUBY
44
44
  class User < ActiveRecord::Base
45
45
  devise :database_authenticatable, :token_authenticatable, :recoverable, :rememberable, :trackable, :validatable, :confirmable
46
+ default_scope :conditions => { :deleted_at => nil }
46
47
  validates_presence_of :name
47
- validates_uniqueness_of :name, :email, :case_sensitive => false
48
+ validates_uniqueness_of :name, :email, :case_sensitive => false, :scope => :deleted_at
48
49
  attr_accessible :name, :email, :password, :password_confirmation, :remember_me
49
50
  has_friendly_id :name, :use_slug => true, :strip_non_ascii => true
51
+
52
+ def destroy
53
+ self.update_attribute(:deleted_at, Time.now.utc)
54
+ end
55
+
56
+ def self.find_with_destroyed *args
57
+ self.with_exclusive_scope { find(*args) }
58
+ end
59
+
60
+ def self.find_only_destroyed
61
+ self.with_exclusive_scope :find => { :conditions => "deleted_at IS NOT NULL" } do
62
+ all
63
+ end
64
+ end
65
+
50
66
  end
51
67
  RUBY
52
68
  end
53
69
 
54
70
  generate(:migration, "AddNameToUsers name:string")
55
71
  generate(:migration, "AddCachedSlugToUsers cached_slug:string")
72
+ generate(:migration, "AddDeletedAtToUsers deleted_at:datetime")
56
73
 
57
74
  create_file 'app/views/devise/menu/_login_items.html.haml' do
58
75
  <<-'FILE'
data/templates/gemfile.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  run 'rm Gemfile'
2
2
  create_file 'Gemfile', "source 'http://rubygems.org'\n"
3
- gem "rails", "3.0.0"
3
+ gem "rails", "~> 3.0.0"
4
4
  gem "sqlite3-ruby", :require => "sqlite3"
5
5
  if ENV['PROLOGUE_AUTH']
6
- gem 'devise', ">= 1.1.2"
6
+ gem 'devise', ">= 1.1.3"
7
7
  end
8
8
  if ENV['PROLOGUE_ROLES']
9
9
  gem 'cancan'
@@ -16,18 +16,19 @@ gem "haml", ">= 3.0.21"
16
16
  gem "rails3-generators", :group => :development
17
17
  gem "hpricot", :group => :development
18
18
  gem "ruby_parser", :group => :development
19
- gem "rspec-rails", "2.0.0.beta.22", :group => [:test, :development]
19
+ gem "rspec-rails", "~> 2.0.0", :group => [:test, :development]
20
20
  gem "mocha", :group => [:test]
21
21
  gem "factory_girl_rails", :group => [:test, :cucumber]
22
22
  gem "faker", :group => [:test]
23
23
  gem "autotest", :group => [:test]
24
24
  gem "autotest-rails", :group => [:test]
25
25
  gem "thin", :group => [:test, :cucumber, :development]
26
- gem "cucumber", :git => "git://github.com/aslakhellesoy/cucumber.git", :group => [:cucumber]
27
- gem "database_cleaner", :git => "git://github.com/bmabey/database_cleaner.git", :group => [:test, :cucumber]
28
- gem "cucumber-rails", :git => "git://github.com/aslakhellesoy/cucumber-rails.git", :group => [:cucumber]
29
- gem "capybara", "0.3.9", :group => [:cucumber]
26
+ gem "cucumber", :group => [:cucumber]
27
+ gem "database_cleaner", :group => [:test, :cucumber]
28
+ gem "cucumber-rails", :group => [:cucumber]
29
+ gem "capybara", "0.4.0", :group => [:cucumber]
30
30
  gem "launchy", :group => [:cucumber]
31
31
  gem "timecop", :group => [:test, :cucumber]
32
+ gem "pickle", :group => [:test, :cucumber]
32
33
 
33
34
  run 'bundle install'
@@ -6,8 +6,4 @@ create_file 'app/views/home/index.html.haml' do
6
6
  FILE
7
7
  end
8
8
 
9
- inject_into_file 'config/routes.rb', :after => "# root :to => \"welcome#index\"\n" do
10
- <<-RUBY
11
- root :to => "home#index"
12
- RUBY
13
- end
9
+ route("root :to => 'home#index'")
@@ -1,6 +1,12 @@
1
- create_file 'config/initializers/active_record.rb' do
1
+ initializer('active_record.rb') do
2
2
  <<-'FILE'
3
3
  # This forces you to set attr_accessible in all your models
4
4
  ActiveRecord::Base.send(:attr_accessible, nil)
5
5
  FILE
6
+ end
7
+
8
+ initializer('haml.rb') do
9
+ <<-'FILE'
10
+ Haml::Template.options[:format] = :html5
11
+ FILE
6
12
  end
data/templates/jammit.rb CHANGED
@@ -6,9 +6,12 @@ javascripts:
6
6
  common:
7
7
  - public/javascripts/jquery.js
8
8
  - public/javascripts/rails.js
9
+ - public/javascripts/core.js
9
10
 
10
11
  stylesheets:
11
- common:
12
+ main:
12
13
  - public/stylesheets/main.css
14
+ admin:
15
+ - public/stylesheets/admin.css
13
16
  FILE
14
17
  end
data/templates/js.rb CHANGED
@@ -2,9 +2,58 @@
2
2
  get "http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js", "public/javascripts/jquery.js"
3
3
  get "http://github.com/rails/jquery-ujs/raw/master/src/rails.js", "public/javascripts/rails.js"
4
4
  get "http://html5shiv.googlecode.com/svn/trunk/html5.js", "public/javascripts/shiv.js"
5
+ run 'rm public/javascripts/application.js'
5
6
 
6
- inject_into_file 'config/application.rb', :after => "# JavaScript files you want as :defaults (application.js is always included).\n" do
7
- <<-RUBY
8
- config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
9
- RUBY
7
+ create_file 'public/javascripts/core.js' do
8
+ <<-FILE
9
+ (function($){
10
+ var QL = QL || {};
11
+
12
+ QL = {
13
+ init: function QL_init(){
14
+ // some code that needs to be executed after doc ready
15
+ QL.bindEvents();
16
+ },
17
+ bindEvents: function QL_liveEvents(){
18
+ $('a[rel*=external]').live('click',function(){
19
+ window.open(this.href);
20
+ return false;
21
+ });
22
+
23
+ // more globally bound events
24
+ },
25
+ helpers: function QL_helpers(){
26
+ // helper for searching through arrays
27
+ QL.helpers.arraySearch = function(a){
28
+ var o = {};
29
+ for(var i=0;i<a.length;i++){
30
+ o[a[i]]='';
31
+ }
32
+ return o;
33
+ };
34
+ //j. resigs array remove overload
35
+ Array.prototype.remove = function(from, to) {
36
+ var rest = this.slice((to || from) + 1 || this.length);
37
+ this.length = from < 0 ? this.length + from : from;
38
+ return this.push.apply(this, rest);
39
+ };
40
+ // duck punch Array.indexOf into IE browsers
41
+ if(!Array.indexOf){
42
+ Array.prototype.indexOf = function(obj){
43
+ for(var i=0; i<this.length; i++){
44
+ if(this[i]==obj){
45
+ return i;
46
+ }
47
+ }
48
+ return -1;
49
+ }
50
+ }
51
+ }
52
+ };
53
+
54
+ window.QL = QL;
55
+ $(document).ready(QL.init);
56
+
57
+ })(jQuery);
58
+ FILE
10
59
  end
data/templates/sass.rb CHANGED
@@ -2,6 +2,8 @@ run 'mkdir public/stylesheets/sass'
2
2
 
3
3
  create_file 'public/stylesheets/sass/main.scss' do
4
4
  <<-FILE
5
+ @import "reset";
6
+ @import "common";
5
7
  @mixin layout_base {
6
8
  @include reset;
7
9
  @include container;
@@ -11,68 +13,6 @@ create_file 'public/stylesheets/sass/main.scss' do
11
13
  @include layout_guide;
12
14
  }
13
15
 
14
- @mixin reset {
15
- /*
16
- html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
17
- v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
18
- html5doctor.com/html-5-reset-stylesheet/
19
- */
20
-
21
- html, body, div, span, object, iframe,
22
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
23
- abbr, address, cite, code,
24
- del, dfn, em, img, ins, kbd, q, samp,
25
- small, strong, sub, sup, var,
26
- b, i,
27
- dl, dt, dd, ol, ul, li,
28
- fieldset, form, label, legend,
29
- table, caption, tbody, tfoot, thead, tr, th, td,
30
- article, aside, canvas, details, figcaption, figure,
31
- footer, header, hgroup, menu, nav, section, summary,
32
- time, mark, audio, video {
33
- margin:0;
34
- padding:0;
35
- border:0;
36
- outline:0;
37
- font-size:100%;
38
- vertical-align:baseline;
39
- background:transparent;
40
- }
41
-
42
- article, aside, details, figcaption, figure,
43
- footer, header, hgroup, menu, nav, section {
44
- display:block;
45
- }
46
-
47
- nav ul { list-style:none; }
48
-
49
- blockquote, q { quotes:none; }
50
-
51
- blockquote:before, blockquote:after,
52
- q:before, q:after { content:''; content:none; }
53
-
54
- a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
55
-
56
- ins { background-color:#ff9; color:#000; text-decoration:none; }
57
-
58
- mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
59
-
60
- del { text-decoration: line-through; }
61
-
62
- abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
63
-
64
- /* tables still need cellspacing="0" in the markup */
65
- table { border-collapse:collapse; border-spacing:0; }
66
-
67
- hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
68
-
69
- input, select { vertical-align:middle; }
70
- }
71
-
72
- @mixin clear_left {
73
- float: left; clear: both;
74
- }
75
-
76
16
  @mixin container($container_size: 950px) {
77
17
  #container {
78
18
  width: $container_size;
@@ -139,4 +79,74 @@ create_file 'public/stylesheets/sass/main.scss' do
139
79
  FILE
140
80
  end
141
81
 
82
+ create_file 'public/stylesheets/sass/reset.scss' do
83
+ <<-FILE
84
+ @mixin reset {
85
+ /*
86
+ html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
87
+ v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
88
+ html5doctor.com/html-5-reset-stylesheet/
89
+ */
90
+
91
+ html, body, div, span, object, iframe,
92
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
93
+ abbr, address, cite, code,
94
+ del, dfn, em, img, ins, kbd, q, samp,
95
+ small, strong, sub, sup, var,
96
+ b, i,
97
+ dl, dt, dd, ol, ul, li,
98
+ fieldset, form, label, legend,
99
+ table, caption, tbody, tfoot, thead, tr, th, td,
100
+ article, aside, canvas, details, figcaption, figure,
101
+ footer, header, hgroup, menu, nav, section, summary,
102
+ time, mark, audio, video {
103
+ margin:0;
104
+ padding:0;
105
+ border:0;
106
+ outline:0;
107
+ font-size:100%;
108
+ vertical-align:baseline;
109
+ background:transparent;
110
+ }
111
+
112
+ article, aside, details, figcaption, figure,
113
+ footer, header, hgroup, menu, nav, section {
114
+ display:block;
115
+ }
116
+
117
+ nav ul { list-style:none; }
118
+
119
+ blockquote, q { quotes:none; }
120
+
121
+ blockquote:before, blockquote:after,
122
+ q:before, q:after { content:''; content:none; }
123
+
124
+ a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
125
+
126
+ ins { background-color:#ff9; color:#000; text-decoration:none; }
127
+
128
+ mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
129
+
130
+ del { text-decoration: line-through; }
131
+
132
+ abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
133
+
134
+ /* tables still need cellspacing="0" in the markup */
135
+ table { border-collapse:collapse; border-spacing:0; }
136
+
137
+ hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
138
+
139
+ input, select { vertical-align:middle; }
140
+ }
141
+ FILE
142
+ end
143
+
144
+ create_file 'public/stylesheets/sass/common.scss' do
145
+ <<-FILE
146
+ @mixin clear_left {
147
+ float: left; clear: both;
148
+ }
149
+ FILE
150
+ end
151
+
142
152
  run 'sass public/stylesheets/sass/main.scss public/stylesheets/main.css'
@@ -1,6 +1,8 @@
1
1
  run 'rails generate rspec:install'
2
2
  run 'rails generate cucumber:install --capybara --rspec'
3
- inject_into_file 'config/application.rb', :after => "# Configure the default encoding used in templates for Ruby 1.9.\n" do
3
+ run 'rails generate pickle --email'
4
+
5
+ inject_into_file 'config/application.rb', :after => "# Configure the default encoding used in templates for Ruby 1.9.\n" do
4
6
  <<-RUBY
5
7
  config.generators do |g|
6
8
  g.test_framework :rspec
@@ -8,6 +10,14 @@ inject_into_file 'config/application.rb', :after => "# Configure the default enc
8
10
  RUBY
9
11
  end
10
12
 
13
+ inject_into_file 'features/support/env.rb', :after => "ENV[\"RAILS_ENV\"] ||= \"test\"\n" do
14
+ <<-RUBY
15
+ $VERBOSE = nil
16
+ RUBY
17
+ end
18
+
19
+ gsub_file 'features/support/env.rb',/require 'cucumber\/rails\/capybara_javascript_emulation'/,'#require \'cucumber/rails/capybara_javascript_emulation\''
20
+
11
21
  run 'mkdir spec/factories'
12
22
 
13
23
  create_file 'features/step_definitions/helper_steps.rb' do
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 2
7
+ - 3
8
8
  - 0
9
- version: 0.2.0
9
+ version: 0.3.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Quick Left
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-22 00:00:00 -06:00
17
+ date: 2010-10-26 00:00:00 -06:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -98,9 +98,7 @@ dependencies:
98
98
  - 2
99
99
  - 0
100
100
  - 0
101
- - beta
102
- - 22
103
- version: 2.0.0.beta.22
101
+ version: 2.0.0
104
102
  type: :development
105
103
  version_requirements: *id006
106
104
  description: Generate a Rails 3 app with application templates Quick Left uses to start their projects off right!
@@ -186,6 +184,6 @@ rubyforge_project: prologue
186
184
  rubygems_version: 1.3.7
187
185
  signing_key:
188
186
  specification_version: 3
189
- summary: prologue-0.2.0
187
+ summary: prologue-0.3.0
190
188
  test_files: []
191
189