prologue 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -29,6 +29,13 @@ Everything is configured and ready to rock your next Rails 3 project. We hope i
29
29
  prologue new my_app --no-admin
30
30
 
31
31
 
32
+ ### Testing generated app
33
+
34
+ rake spec
35
+ rake cucumber
36
+ bundle exec autotest
37
+
38
+
32
39
  ### Issues
33
40
 
34
41
  Please report issues to the [Prologue issue tracker](http://github.com/quickleft/prologue/issues/).
@@ -1,3 +1,3 @@
1
1
  module Prologue
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -31,8 +31,6 @@ end
31
31
  create_file 'app/views/admin/shared/_footer.html.haml' do
32
32
  <<-FILE
33
33
  %footer#main_admin_footer
34
- %a{:href => "http://quickleft.com"}
35
- #{app_name.humanize}
36
34
  FILE
37
35
  end
38
36
 
@@ -10,8 +10,7 @@ end
10
10
 
11
11
  inject_into_file 'app/controllers/admin/users_controller.rb', :after => "def index\n" do
12
12
  <<-'FILE'
13
- @sortable = SortIndex::Sortable.new(params, INDEX_SORT)
14
- @users = User.paginate :page => params[:page], :order => @sortable.order, :per_page => 2
13
+ @users = User.paginate :page => params[:page], :per_page => 50
15
14
  FILE
16
15
  end
17
16
 
@@ -57,18 +56,7 @@ gsub_file 'app/controllers/admin/users_controller.rb', /ApplicationController/,
57
56
  inject_into_file 'app/controllers/admin/users_controller.rb', :after => "class Admin::UsersController < Admin::BaseController\n" do
58
57
  <<-'FILE'
59
58
  before_filter :find_user, :only => [:edit, :update, :destroy]
60
-
61
- INDEX_SORT = SortIndex::Config.new(
62
- {'name' => 'name'},
63
- {
64
- 'email' => 'email',
65
- 'login' => 'login',
66
- 'roles_mask' => 'roles_mask',
67
- 'last_login_at' => 'last_login_at'
68
- }
69
- #, optionally SortIndex::SORT_KEY_ASC
70
- )
71
-
59
+
72
60
  def find_user
73
61
  @user = User.find(params[:id])
74
62
  end
@@ -117,8 +105,8 @@ create_file 'app/views/admin/users/index.html.haml' do
117
105
  %table
118
106
  %thead
119
107
  %tr
120
- %th= @sortable.header_link('name', 'Name')
121
- %th= @sortable.header_link('email', 'Email')
108
+ %th Name
109
+ %th Email
122
110
  %th
123
111
  %th
124
112
  %tbody
@@ -129,7 +117,7 @@ create_file 'app/views/admin/users/index.html.haml' do
129
117
  %td= link_to "Edit", edit_admin_user_path(user), :class => 'edit_link'
130
118
  %td
131
119
  - if user.id != current_user.id
132
- = link_to "Delete", admin_user_path(user), :confirm => t('forms.confirm'), :method => :delete, :class => 'delete_link'
120
+ = link_to "Delete", admin_user_path(user), :confirm => 'Are you sure?', :method => :delete, :class => 'delete_link'
133
121
  - else
134
122
  That's you!
135
123
  = will_paginate @users
@@ -23,8 +23,6 @@ end
23
23
  create_file 'app/views/shared/_footer.html.haml' do
24
24
  <<-FILE
25
25
  %footer#main_footer
26
- %a{:href => "http://quickleft.com"}
27
- #{app_name.humanize}
28
26
  FILE
29
27
  end
30
28
 
@@ -42,9 +42,6 @@ apply File.expand_path("../friendly_id.rb", __FILE__)
42
42
  # Apply Devise?
43
43
  apply File.expand_path("../devise.rb", __FILE__) if ENV['PROLOGUE_AUTH']
44
44
 
45
- # Apply sorter helper
46
- apply File.expand_path("../sorter_lib.rb", __FILE__)
47
-
48
45
  # Apply admin
49
46
  apply File.expand_path("../admin.rb", __FILE__) if ENV['PROLOGUE_ADMIN']
50
47
 
data/templates/db.rb CHANGED
@@ -1 +1,2 @@
1
- run 'rake db:migrate'
1
+ run 'rake db:migrate'
2
+ run 'rake db:test:prepare'
data/templates/devise.rb CHANGED
@@ -86,7 +86,10 @@ gsub_file devise_migration, /# add_index :users, :confirmation_token, :unique
86
86
 
87
87
  append_file 'db/seeds.rb' do
88
88
  <<-FILE
89
- User.create! :name => '#{ENV['PROLOGUE_USER_NAME']}', :email => '#{ENV['PROLOGUE_USER_EMAIL']}', :password => '#{ENV['PROLOGUE_USER_PASSWORD']}', :password_confirmation => '#{ENV['PROLOGUE_USER_PASSWORD']}'
89
+ # Setup initial user so we can get in
90
+ user = User.create! :name => '#{ENV['PROLOGUE_USER_NAME']}', :email => '#{ENV['PROLOGUE_USER_EMAIL']}', :password => '#{ENV['PROLOGUE_USER_PASSWORD']}', :password_confirmation => '#{ENV['PROLOGUE_USER_PASSWORD']}'
91
+ user.confirmed_at = user.confirmation_sent_at
92
+ user.save
90
93
  FILE
91
94
  end
92
95
 
data/templates/gemfile.rb CHANGED
@@ -21,6 +21,7 @@ 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
+ gem "autotest-rails", :group => [:test]
24
25
  gem "thin", :group => [:test, :cucumber, :development]
25
26
  gem "cucumber", :git => "git://github.com/aslakhellesoy/cucumber.git", :group => [:cucumber]
26
27
  gem "database_cleaner", :git => "git://github.com/bmabey/database_cleaner.git", :group => [:test, :cucumber]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Quick Left
@@ -150,7 +150,6 @@ files:
150
150
  - templates/rails_clean.rb
151
151
  - templates/rspec_clean.rb
152
152
  - templates/sass.rb
153
- - templates/sorter_lib.rb
154
153
  - templates/test_suite.rb
155
154
  has_rdoc: true
156
155
  homepage: http://github.com/quickleft/prologue
@@ -185,6 +184,6 @@ rubyforge_project: prologue
185
184
  rubygems_version: 1.3.7
186
185
  signing_key:
187
186
  specification_version: 3
188
- summary: prologue-0.1.0
187
+ summary: prologue-0.1.1
189
188
  test_files: []
190
189
 
@@ -1,97 +0,0 @@
1
- create_file 'lib/sort_index.rb' do
2
- <<-'FILE'
3
- module SortIndex
4
-
5
- SORT_KEY_ASC = 'asc'
6
- SORT_KEY_DESC = 'desc'
7
-
8
- SORT_DIRECTION_MAP = {
9
- SORT_KEY_DESC => 'DESC',
10
- SORT_KEY_ASC => 'ASC'
11
- }
12
-
13
- class Config
14
- attr_accessor :columns
15
- attr_accessor :default_direction
16
-
17
- def default
18
- return @default
19
- end
20
-
21
- def initialize(default, columns, default_direction = nil)
22
- @columns = columns
23
- @default_direction = default_direction || SORT_KEY_DESC
24
-
25
- raise "default only supports 1 pair" if default.length != 1
26
- default.each_pair { |key, value|
27
- @default = value
28
- @columns[key] = value
29
- }
30
- end
31
- end
32
-
33
- class Sortable
34
-
35
- def initialize(params, config, index_url = nil)
36
- @config = config
37
- @params = params
38
- @index_url = index_url || params[:controller]
39
-
40
- # sets up for building the sql order by
41
- @sort_direction = SORT_DIRECTION_MAP[@params[:sort_direction]] || @config.default_direction
42
- @sort_by = @config.columns[@params[:sort_by]] || @config.default
43
- end
44
-
45
- def order
46
- specified_sort_by || "#{@sort_by} #{@sort_direction}"
47
- end
48
-
49
- def header_link(sort_key, display, sortable = true, element_id = '')
50
-
51
- if @config.columns[sort_key].nil? and sortable then
52
- raise "Sort key of '#{sort_key}' not found. Check your controllers SortIndex::Config variable"
53
- end
54
-
55
- id_attr = ""
56
- if element_id != '' then
57
- id_attr = "id=\"#{element_id}\""
58
- end
59
-
60
- class_attr = ""
61
- if @config.columns[sort_key] == @sort_by then
62
- class_attr = " class='current-sort-#{@sort_direction.downcase}'"
63
- end
64
-
65
- a_href = "<a#{class_attr} href=\"/#{@index_url}?sort_by=#{sort_key}&amp;sort_direction=#{next_direction}\" title=\"#{display}\" #{id_attr}>#{display}</a>"
66
- if sortable == false then
67
- a_href = "<span>#{display}</span>"
68
- end
69
-
70
- return "#{a_href}".html_safe
71
- end
72
-
73
- def next_direction
74
- sort_direction = SORT_KEY_ASC
75
- if (@params[:sort_direction].nil?) then
76
- sort_direction = (@sort_direction == SORT_KEY_ASC) ? SORT_KEY_DESC : SORT_KEY_ASC
77
- elsif (@params[:sort_direction] == SORT_KEY_ASC) then
78
- sort_direction = SORT_KEY_DESC
79
- end
80
- return sort_direction
81
- end
82
-
83
- def specified_sort_by
84
- sort = @config.columns[@params[:sort_by]]
85
- return nil if sort.nil?
86
- return sort.split(',').map {|order_criteria| "#{order_criteria} #{@sort_direction}"}.join(',')
87
- end
88
- end
89
- end
90
- FILE
91
- end
92
-
93
- inject_into_file 'config/application.rb', :after => "# Custom directories with classes and modules you want to be autoloadable.\n" do
94
- <<-'FILE'
95
- config.autoload_paths += %W(#{config.root}/lib)
96
- FILE
97
- end