puffer 0.0.28 → 0.0.29
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 +1 -0
- data/Gemfile.lock +7 -0
- data/VERSION +1 -1
- data/app/controllers/admin/puffer_users_controller.rb +3 -0
- data/app/controllers/admin/sessions_controller.rb +11 -23
- data/app/controllers/puffer/base.rb +3 -1
- data/app/controllers/puffer/dashboard_base.rb +2 -1
- data/app/controllers/puffer/puffer_users_base.rb +21 -0
- data/app/controllers/puffer/sessions_base.rb +21 -1
- data/app/controllers/puffer/sessions_devise_base.rb +34 -0
- data/app/models/puffer/puffer_user.rb +24 -0
- data/app/models/puffer_user.rb +3 -0
- data/app/views/layouts/puffer_base.html.erb +1 -1
- data/app/views/puffer/sessions_base/new.html.erb +1 -2
- data/config/routes.rb +2 -3
- data/db/migrate/20110912095647_create_puffer_users.rb +11 -0
- data/lib/puffer/controller/auth.rb +31 -0
- data/lib/puffer/controller/mutate.rb +5 -1
- data/lib/puffer/extensions/controller.rb +1 -0
- data/lib/puffer/extensions/engine.rb +1 -1
- data/lib/puffer/extensions/mapper.rb +1 -1
- data/puffer.gemspec +15 -3
- data/spec/dummy/config/application.rb +1 -0
- data/spec/dummy/config/initializers/devise.rb +211 -0
- data/spec/dummy/config/locales/devise.en.yml +58 -0
- data/spec/dummy/config/routes.rb +1 -0
- data/spec/dummy/db/migrate/20110912114129_create_puffer_users.rb +11 -0
- data/spec/dummy/db/schema.rb +9 -1
- metadata +56 -36
- data/spec/dummy/app/controllers/admin/sessions_controller.rb +0 -16
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -45,6 +45,10 @@ GEM
|
|
45
45
|
childprocess (0.2.2)
|
46
46
|
ffi (~> 1.0.6)
|
47
47
|
database_cleaner (0.6.7)
|
48
|
+
devise (1.4.5)
|
49
|
+
bcrypt-ruby (~> 3.0)
|
50
|
+
orm_adapter (~> 0.0.3)
|
51
|
+
warden (~> 1.0.3)
|
48
52
|
diff-lcs (1.1.3)
|
49
53
|
erubis (2.7.0)
|
50
54
|
fabrication (1.1.0)
|
@@ -142,6 +146,8 @@ GEM
|
|
142
146
|
polyglot
|
143
147
|
polyglot (>= 0.3.1)
|
144
148
|
tzinfo (0.3.29)
|
149
|
+
warden (1.0.5)
|
150
|
+
rack (>= 1.0)
|
145
151
|
xpath (0.1.4)
|
146
152
|
nokogiri (~> 1.3)
|
147
153
|
|
@@ -152,6 +158,7 @@ DEPENDENCIES
|
|
152
158
|
bson_ext
|
153
159
|
capybara
|
154
160
|
database_cleaner
|
161
|
+
devise
|
155
162
|
fabrication
|
156
163
|
forgery
|
157
164
|
guard
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.29
|
@@ -1,35 +1,23 @@
|
|
1
1
|
class Admin::SessionsController < Puffer::SessionsBase
|
2
|
-
unloadable
|
3
|
-
# This is example session controller for puffer authentication.
|
4
|
-
# You can define your own actions.
|
5
|
-
# Also, you can redefine <tt>new<tt> action view as you wish,
|
6
|
-
# but more effectively will be definig fields with standart
|
7
|
-
# puffer DSL:
|
8
|
-
# create do
|
9
|
-
# field :login
|
10
|
-
# field :password
|
11
|
-
# field :remember_me
|
12
|
-
# end
|
13
|
-
#
|
14
|
-
# By default defined <tt>email<tt> and <tt>password<tt> fields.
|
15
|
-
# If puffer can`t calculate field type, just set it manually.
|
16
2
|
|
17
3
|
def new
|
18
|
-
|
4
|
+
@record = PufferUser.new
|
19
5
|
end
|
20
6
|
|
21
7
|
def create
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
8
|
+
@record = PufferUser.find_by_email(params[:puffer_user][:email])
|
9
|
+
if @record && @record.authenticate(params[:puffer_user][:password])
|
10
|
+
session[:puffer_user_id] = @record.id
|
11
|
+
redirect_to admin_root_url
|
12
|
+
else
|
13
|
+
@record = PufferUser.new :email => params[:puffer_user][:email]
|
14
|
+
render 'new'
|
15
|
+
end
|
28
16
|
end
|
29
17
|
|
30
18
|
def destroy
|
31
|
-
|
32
|
-
|
19
|
+
session.delete(:puffer_user_id)
|
20
|
+
redirect_to new_admin_session_url
|
33
21
|
end
|
34
22
|
|
35
23
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Puffer
|
2
|
+
class PufferUsersBase < Puffer::Base
|
3
|
+
|
4
|
+
setup do
|
5
|
+
group :users
|
6
|
+
end
|
7
|
+
|
8
|
+
index do
|
9
|
+
field :email
|
10
|
+
field :roles
|
11
|
+
end
|
12
|
+
|
13
|
+
form do
|
14
|
+
field :email
|
15
|
+
field :password
|
16
|
+
field :password_confirmation
|
17
|
+
field :roles
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -1,7 +1,9 @@
|
|
1
1
|
class Puffer::SessionsBase < ApplicationController
|
2
2
|
unloadable
|
3
|
-
|
4
3
|
pufferize!
|
4
|
+
|
5
|
+
before_filter :require_puffer_user, :only => :destroy
|
6
|
+
|
5
7
|
define_fieldset :create
|
6
8
|
|
7
9
|
layout 'puffer_sessions'
|
@@ -13,4 +15,22 @@ class Puffer::SessionsBase < ApplicationController
|
|
13
15
|
field :password, :type => :password
|
14
16
|
end
|
15
17
|
|
18
|
+
def new
|
19
|
+
# @record = UserSession.new
|
20
|
+
end
|
21
|
+
|
22
|
+
def create
|
23
|
+
# @record = UserSession.new params[:user_session]
|
24
|
+
# if @record.save
|
25
|
+
# redirect_back_or_default puffer_root_url
|
26
|
+
# else
|
27
|
+
# render 'new'
|
28
|
+
# end
|
29
|
+
end
|
30
|
+
|
31
|
+
def destroy
|
32
|
+
# current_user_session.destroy
|
33
|
+
# redirect_to new_puffer_session_url
|
34
|
+
end
|
35
|
+
|
16
36
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
class Puffer::SessionsDeviseBase < Puffer::SessionsBase
|
2
|
+
# include Devise::Controllers::InternalHelpers
|
3
|
+
|
4
|
+
# GET /resource/sign_in
|
5
|
+
# def new
|
6
|
+
# @record = User.new
|
7
|
+
# end
|
8
|
+
|
9
|
+
# POST /resource/sign_in
|
10
|
+
# def create
|
11
|
+
# @record = warden.authenticate!(:scope => :user, :recall => "#{controller_path}#new")
|
12
|
+
# sign_in(user, @record)
|
13
|
+
# respond_with @record, :location => params[:return_to]
|
14
|
+
# end
|
15
|
+
|
16
|
+
# GET /resource/sign_out
|
17
|
+
# def destroy
|
18
|
+
# signed_in = signed_in?(resource_name)
|
19
|
+
# Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
|
20
|
+
# set_flash_message :notice, :signed_out if signed_in
|
21
|
+
|
22
|
+
# # We actually need to hardcode this, as Rails default responder doesn't
|
23
|
+
# # support returning empty response on GET request
|
24
|
+
# respond_to do |format|
|
25
|
+
# format.any(*navigational_formats) { redirect_to after_sign_out_path_for(resource_name) }
|
26
|
+
# format.all do
|
27
|
+
# method = "to_#{request_format}"
|
28
|
+
# text = {}.respond_to?(method) ? {}.send(method) : ""
|
29
|
+
# render :text => text, :status => :ok
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
# end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class Puffer::PufferUser < ActiveRecord::Base
|
2
|
+
self.abstract_class = true
|
3
|
+
|
4
|
+
attr_protected :password_digest
|
5
|
+
|
6
|
+
has_secure_password
|
7
|
+
|
8
|
+
validates :email, :uniqueness => true, :presence => true
|
9
|
+
validates :password, :presence => true, :length => {:minimum => 6}, :on => :create
|
10
|
+
|
11
|
+
def roles= value
|
12
|
+
value = value.split(',').map(&:strip).map(&:presence) if value.is_a?(String)
|
13
|
+
write_attribute(:roles, value.join(', '))
|
14
|
+
end
|
15
|
+
|
16
|
+
def roles_array
|
17
|
+
roles.split(',').map(&:strip).map(&:presence)
|
18
|
+
end
|
19
|
+
|
20
|
+
def has_role? role
|
21
|
+
roles_array.include?(role.to_s)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= link_to t('puffer.logo'), admin_root_path %>
|
17
17
|
</div>
|
18
18
|
<%= yield :header %>
|
19
|
-
<% if
|
19
|
+
<% if current_puffer_user %>
|
20
20
|
<div class="logout">
|
21
21
|
<%= link_to t('puffer.logout'), admin_session_url, :method => :delete %>
|
22
22
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= form_for record, :url =>
|
1
|
+
<%= form_for record, :url => admin_session_path, :method => :post do |f| %>
|
2
2
|
<ul class="form">
|
3
3
|
<% create_fields.each do |field| -%>
|
4
4
|
<li><%= f.puffer_field field %></li>
|
@@ -9,4 +9,3 @@
|
|
9
9
|
<%= f.submit 'Login' %>
|
10
10
|
</div>
|
11
11
|
<% end %>
|
12
|
-
|
data/config/routes.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
module Puffer
|
2
|
+
module Controller
|
3
|
+
module Auth
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
helper_method :current_puffer_user
|
8
|
+
end
|
9
|
+
|
10
|
+
module InstanceMethods
|
11
|
+
|
12
|
+
def current_puffer_user
|
13
|
+
@current_puffer_user ||= super rescue PufferUser.find(session[:puffer_user_id]) if session[:puffer_user_id]
|
14
|
+
end
|
15
|
+
|
16
|
+
def require_puffer_user
|
17
|
+
unless has_puffer_access?(namespace)
|
18
|
+
redirect_to new_admin_session_url(:return_to => request.fullpath)
|
19
|
+
return false
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def has_puffer_access? namespace
|
24
|
+
super rescue (current_puffer_user && current_puffer_user.has_role?(namespace))
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -6,12 +6,16 @@ module Puffer
|
|
6
6
|
included do
|
7
7
|
layout 'puffer'
|
8
8
|
helper :puffer
|
9
|
-
delegate :
|
9
|
+
delegate :model, :model_name, :to => 'self.class'
|
10
10
|
helper_method :namespace, :resource, :record, :records
|
11
11
|
end
|
12
12
|
|
13
13
|
module InstanceMethods
|
14
14
|
|
15
|
+
def namespace
|
16
|
+
params[:namespace] || self.class.namespace
|
17
|
+
end
|
18
|
+
|
15
19
|
def resource
|
16
20
|
@resource ||= Puffer::Resource.new params, self
|
17
21
|
end
|
@@ -24,7 +24,7 @@ module Puffer
|
|
24
24
|
|
25
25
|
included do
|
26
26
|
initializer :"puffer.add_view_paths", :after => :add_view_paths do |app|
|
27
|
-
Puffer::Component::Base.prepend_view_path paths["app/components"].existent
|
27
|
+
Puffer::Component::Base.prepend_view_path paths["app/components"].existent if paths["app/components"]
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
data/puffer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{puffer}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.29"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{pyromaniac}]
|
12
|
-
s.date = %q{2011-09-
|
12
|
+
s.date = %q{2011-09-12}
|
13
13
|
s.description = %q{In Soviet Russia puffer admins you}
|
14
14
|
s.email = %q{kinwizard@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -65,13 +65,18 @@ Gem::Specification.new do |s|
|
|
65
65
|
"app/components/text/form.html.erb",
|
66
66
|
"app/components/text_component.rb",
|
67
67
|
"app/controllers/admin/dashboard_controller.rb",
|
68
|
+
"app/controllers/admin/puffer_users_controller.rb",
|
68
69
|
"app/controllers/admin/sessions_controller.rb",
|
69
70
|
"app/controllers/puffer/base.rb",
|
70
71
|
"app/controllers/puffer/dashboard_base.rb",
|
72
|
+
"app/controllers/puffer/puffer_users_base.rb",
|
71
73
|
"app/controllers/puffer/sessions_base.rb",
|
74
|
+
"app/controllers/puffer/sessions_devise_base.rb",
|
72
75
|
"app/controllers/puffer/tree_base.rb",
|
73
76
|
"app/helpers/puffer_helper.rb",
|
74
77
|
"app/helpers/puffer_tree_helper.rb",
|
78
|
+
"app/models/puffer/puffer_user.rb",
|
79
|
+
"app/models/puffer_user.rb",
|
75
80
|
"app/views/layouts/puffer.html.erb",
|
76
81
|
"app/views/layouts/puffer_base.html.erb",
|
77
82
|
"app/views/layouts/puffer_dashboard.html.erb",
|
@@ -89,6 +94,7 @@ Gem::Specification.new do |s|
|
|
89
94
|
"app/views/puffer/tree_base/tree.html.erb",
|
90
95
|
"config/locales/puffer.yml",
|
91
96
|
"config/routes.rb",
|
97
|
+
"db/migrate/20110912095647_create_puffer_users.rb",
|
92
98
|
"lib/generators/puffer/component/USAGE",
|
93
99
|
"lib/generators/puffer/component/component_generator.rb",
|
94
100
|
"lib/generators/puffer/component/templates/component.rb",
|
@@ -99,6 +105,7 @@ Gem::Specification.new do |s|
|
|
99
105
|
"lib/puffer.rb",
|
100
106
|
"lib/puffer/component.rb",
|
101
107
|
"lib/puffer/controller/actions.rb",
|
108
|
+
"lib/puffer/controller/auth.rb",
|
102
109
|
"lib/puffer/controller/config.rb",
|
103
110
|
"lib/puffer/controller/dsl.rb",
|
104
111
|
"lib/puffer/controller/mutate.rb",
|
@@ -137,7 +144,6 @@ Gem::Specification.new do |s|
|
|
137
144
|
"spec/dummy/app/controllers/admin/news_controller.rb",
|
138
145
|
"spec/dummy/app/controllers/admin/posts_controller.rb",
|
139
146
|
"spec/dummy/app/controllers/admin/profiles_controller.rb",
|
140
|
-
"spec/dummy/app/controllers/admin/sessions_controller.rb",
|
141
147
|
"spec/dummy/app/controllers/admin/tagged_posts_controller.rb",
|
142
148
|
"spec/dummy/app/controllers/admin/tags_controller.rb",
|
143
149
|
"spec/dummy/app/controllers/admin/users_controller.rb",
|
@@ -165,11 +171,13 @@ Gem::Specification.new do |s|
|
|
165
171
|
"spec/dummy/config/environments/production.rb",
|
166
172
|
"spec/dummy/config/environments/test.rb",
|
167
173
|
"spec/dummy/config/initializers/backtrace_silencers.rb",
|
174
|
+
"spec/dummy/config/initializers/devise.rb",
|
168
175
|
"spec/dummy/config/initializers/inflections.rb",
|
169
176
|
"spec/dummy/config/initializers/mime_types.rb",
|
170
177
|
"spec/dummy/config/initializers/secret_token.rb",
|
171
178
|
"spec/dummy/config/initializers/session_store.rb",
|
172
179
|
"spec/dummy/config/initializers/wrap_parameters.rb",
|
180
|
+
"spec/dummy/config/locales/devise.en.yml",
|
173
181
|
"spec/dummy/config/locales/en.yml",
|
174
182
|
"spec/dummy/config/mongoid.yml",
|
175
183
|
"spec/dummy/config/routes.rb",
|
@@ -182,6 +190,7 @@ Gem::Specification.new do |s|
|
|
182
190
|
"spec/dummy/db/migrate/20101011160326_create_taggings.rb",
|
183
191
|
"spec/dummy/db/migrate/20110107082706_create_friendships.rb",
|
184
192
|
"spec/dummy/db/migrate/20110301072545_create_news.rb",
|
193
|
+
"spec/dummy/db/migrate/20110912114129_create_puffer_users.rb",
|
185
194
|
"spec/dummy/db/schema.rb",
|
186
195
|
"spec/dummy/db/seeds.rb",
|
187
196
|
"spec/dummy/public/404.html",
|
@@ -221,6 +230,7 @@ Gem::Specification.new do |s|
|
|
221
230
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
222
231
|
s.add_development_dependency(%q<mongoid>, [">= 0"])
|
223
232
|
s.add_development_dependency(%q<bson_ext>, [">= 0"])
|
233
|
+
s.add_development_dependency(%q<devise>, [">= 0"])
|
224
234
|
s.add_development_dependency(%q<rspec-rails>, [">= 0"])
|
225
235
|
s.add_development_dependency(%q<capybara>, [">= 0"])
|
226
236
|
s.add_development_dependency(%q<database_cleaner>, [">= 0"])
|
@@ -238,6 +248,7 @@ Gem::Specification.new do |s|
|
|
238
248
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
239
249
|
s.add_dependency(%q<mongoid>, [">= 0"])
|
240
250
|
s.add_dependency(%q<bson_ext>, [">= 0"])
|
251
|
+
s.add_dependency(%q<devise>, [">= 0"])
|
241
252
|
s.add_dependency(%q<rspec-rails>, [">= 0"])
|
242
253
|
s.add_dependency(%q<capybara>, [">= 0"])
|
243
254
|
s.add_dependency(%q<database_cleaner>, [">= 0"])
|
@@ -256,6 +267,7 @@ Gem::Specification.new do |s|
|
|
256
267
|
s.add_dependency(%q<sqlite3>, [">= 0"])
|
257
268
|
s.add_dependency(%q<mongoid>, [">= 0"])
|
258
269
|
s.add_dependency(%q<bson_ext>, [">= 0"])
|
270
|
+
s.add_dependency(%q<devise>, [">= 0"])
|
259
271
|
s.add_dependency(%q<rspec-rails>, [">= 0"])
|
260
272
|
s.add_dependency(%q<capybara>, [">= 0"])
|
261
273
|
s.add_dependency(%q<database_cleaner>, [">= 0"])
|
@@ -0,0 +1,211 @@
|
|
1
|
+
# Use this hook to configure devise mailer, warden hooks and so forth. The first
|
2
|
+
# four configuration values can also be set straight in your models.
|
3
|
+
Devise.setup do |config|
|
4
|
+
# ==> Mailer Configuration
|
5
|
+
# Configure the e-mail address which will be shown in Devise::Mailer,
|
6
|
+
# note that it will be overwritten if you use your own mailer class with default "from" parameter.
|
7
|
+
config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
|
8
|
+
|
9
|
+
# Configure the class responsible to send e-mails.
|
10
|
+
# config.mailer = "Devise::Mailer"
|
11
|
+
|
12
|
+
# ==> ORM configuration
|
13
|
+
# Load and configure the ORM. Supports :active_record (default) and
|
14
|
+
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
15
|
+
# available as additional gems.
|
16
|
+
require 'devise/orm/mongoid'
|
17
|
+
|
18
|
+
# ==> Configuration for any authentication mechanism
|
19
|
+
# Configure which keys are used when authenticating a user. The default is
|
20
|
+
# just :email. You can configure it to use [:username, :subdomain], so for
|
21
|
+
# authenticating a user, both parameters are required. Remember that those
|
22
|
+
# parameters are used only when authenticating and not when retrieving from
|
23
|
+
# session. If you need permissions, you should implement that in a before filter.
|
24
|
+
# You can also supply a hash where the value is a boolean determining whether
|
25
|
+
# or not authentication should be aborted when the value is not present.
|
26
|
+
# config.authentication_keys = [ :email ]
|
27
|
+
|
28
|
+
# Configure parameters from the request object used for authentication. Each entry
|
29
|
+
# given should be a request method and it will automatically be passed to the
|
30
|
+
# find_for_authentication method and considered in your model lookup. For instance,
|
31
|
+
# if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
|
32
|
+
# The same considerations mentioned for authentication_keys also apply to request_keys.
|
33
|
+
# config.request_keys = []
|
34
|
+
|
35
|
+
# Configure which authentication keys should be case-insensitive.
|
36
|
+
# These keys will be downcased upon creating or modifying a user and when used
|
37
|
+
# to authenticate or find a user. Default is :email.
|
38
|
+
config.case_insensitive_keys = [ :email ]
|
39
|
+
|
40
|
+
# Configure which authentication keys should have whitespace stripped.
|
41
|
+
# These keys will have whitespace before and after removed upon creating or
|
42
|
+
# modifying a user and when used to authenticate or find a user. Default is :email.
|
43
|
+
config.strip_whitespace_keys = [ :email ]
|
44
|
+
|
45
|
+
# Tell if authentication through request.params is enabled. True by default.
|
46
|
+
# config.params_authenticatable = true
|
47
|
+
|
48
|
+
# Tell if authentication through HTTP Basic Auth is enabled. False by default.
|
49
|
+
# config.http_authenticatable = false
|
50
|
+
|
51
|
+
# If http headers should be returned for AJAX requests. True by default.
|
52
|
+
# config.http_authenticatable_on_xhr = true
|
53
|
+
|
54
|
+
# The realm used in Http Basic Authentication. "Application" by default.
|
55
|
+
# config.http_authentication_realm = "Application"
|
56
|
+
|
57
|
+
# It will change confirmation, password recovery and other workflows
|
58
|
+
# to behave the same regardless if the e-mail provided was right or wrong.
|
59
|
+
# Does not affect registerable.
|
60
|
+
# config.paranoid = true
|
61
|
+
|
62
|
+
# ==> Configuration for :database_authenticatable
|
63
|
+
# For bcrypt, this is the cost for hashing the password and defaults to 10. If
|
64
|
+
# using other encryptors, it sets how many times you want the password re-encrypted.
|
65
|
+
#
|
66
|
+
# Limiting the stretches to just one in testing will increase the performance of
|
67
|
+
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
|
68
|
+
# a value less than 10 in other environments.
|
69
|
+
config.stretches = Rails.env.test? ? 1 : 10
|
70
|
+
|
71
|
+
# Setup a pepper to generate the encrypted password.
|
72
|
+
# config.pepper = "80976e8142b5962f4ac9198f4b805704bec95eee4fad0a209d6996c92e2e5552b134d9c67ba7e53af6b0f3b8a97f929d2aa3195bc3842faeb3b6435703855e8d"
|
73
|
+
|
74
|
+
# ==> Configuration for :confirmable
|
75
|
+
# The time you want to give your user to confirm his account. During this time
|
76
|
+
# he will be able to access your application without confirming. Default is 0.days
|
77
|
+
# When confirm_within is zero, the user won't be able to sign in without confirming.
|
78
|
+
# You can use this to let your user access some features of your application
|
79
|
+
# without confirming the account, but blocking it after a certain period
|
80
|
+
# (ie 2 days).
|
81
|
+
# config.confirm_within = 2.days
|
82
|
+
|
83
|
+
# Defines which key will be used when confirming an account
|
84
|
+
# config.confirmation_keys = [ :email ]
|
85
|
+
|
86
|
+
# ==> Configuration for :rememberable
|
87
|
+
# The time the user will be remembered without asking for credentials again.
|
88
|
+
# config.remember_for = 2.weeks
|
89
|
+
|
90
|
+
# If true, a valid remember token can be re-used between multiple browsers.
|
91
|
+
# config.remember_across_browsers = true
|
92
|
+
|
93
|
+
# If true, extends the user's remember period when remembered via cookie.
|
94
|
+
# config.extend_remember_period = false
|
95
|
+
|
96
|
+
# If true, uses the password salt as remember token. This should be turned
|
97
|
+
# to false if you are not using database authenticatable.
|
98
|
+
config.use_salt_as_remember_token = true
|
99
|
+
|
100
|
+
# Options to be passed to the created cookie. For instance, you can set
|
101
|
+
# :secure => true in order to force SSL only cookies.
|
102
|
+
# config.cookie_options = {}
|
103
|
+
|
104
|
+
# ==> Configuration for :validatable
|
105
|
+
# Range for password length. Default is 6..128.
|
106
|
+
# config.password_length = 6..128
|
107
|
+
|
108
|
+
# Email regex used to validate email formats. It simply asserts that
|
109
|
+
# an one (and only one) @ exists in the given string. This is mainly
|
110
|
+
# to give user feedback and not to assert the e-mail validity.
|
111
|
+
# config.email_regexp = /\A[^@]+@[^@]+\z/
|
112
|
+
|
113
|
+
# ==> Configuration for :timeoutable
|
114
|
+
# The time you want to timeout the user session without activity. After this
|
115
|
+
# time the user will be asked for credentials again. Default is 30 minutes.
|
116
|
+
# config.timeout_in = 30.minutes
|
117
|
+
|
118
|
+
# ==> Configuration for :lockable
|
119
|
+
# Defines which strategy will be used to lock an account.
|
120
|
+
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
|
121
|
+
# :none = No lock strategy. You should handle locking by yourself.
|
122
|
+
# config.lock_strategy = :failed_attempts
|
123
|
+
|
124
|
+
# Defines which key will be used when locking and unlocking an account
|
125
|
+
# config.unlock_keys = [ :email ]
|
126
|
+
|
127
|
+
# Defines which strategy will be used to unlock an account.
|
128
|
+
# :email = Sends an unlock link to the user email
|
129
|
+
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
|
130
|
+
# :both = Enables both strategies
|
131
|
+
# :none = No unlock strategy. You should handle unlocking by yourself.
|
132
|
+
# config.unlock_strategy = :both
|
133
|
+
|
134
|
+
# Number of authentication tries before locking an account if lock_strategy
|
135
|
+
# is failed attempts.
|
136
|
+
# config.maximum_attempts = 20
|
137
|
+
|
138
|
+
# Time interval to unlock the account if :time is enabled as unlock_strategy.
|
139
|
+
# config.unlock_in = 1.hour
|
140
|
+
|
141
|
+
# ==> Configuration for :recoverable
|
142
|
+
#
|
143
|
+
# Defines which key will be used when recovering the password for an account
|
144
|
+
# config.reset_password_keys = [ :email ]
|
145
|
+
|
146
|
+
# Time interval you can reset your password with a reset password key.
|
147
|
+
# Don't put a too small interval or your users won't have the time to
|
148
|
+
# change their passwords.
|
149
|
+
config.reset_password_within = 2.hours
|
150
|
+
|
151
|
+
# ==> Configuration for :encryptable
|
152
|
+
# Allow you to use another encryption algorithm besides bcrypt (default). You can use
|
153
|
+
# :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
|
154
|
+
# :authlogic_sha512 (then you should set stretches above to 20 for default behavior)
|
155
|
+
# and :restful_authentication_sha1 (then you should set stretches to 10, and copy
|
156
|
+
# REST_AUTH_SITE_KEY to pepper)
|
157
|
+
# config.encryptor = :sha512
|
158
|
+
|
159
|
+
# ==> Configuration for :token_authenticatable
|
160
|
+
# Defines name of the authentication token params key
|
161
|
+
# config.token_authentication_key = :auth_token
|
162
|
+
|
163
|
+
# If true, authentication through token does not store user in session and needs
|
164
|
+
# to be supplied on each request. Useful if you are using the token as API token.
|
165
|
+
# config.stateless_token = false
|
166
|
+
|
167
|
+
# ==> Scopes configuration
|
168
|
+
# Turn scoped views on. Before rendering "sessions/new", it will first check for
|
169
|
+
# "users/sessions/new". It's turned off by default because it's slower if you
|
170
|
+
# are using only default views.
|
171
|
+
# config.scoped_views = false
|
172
|
+
|
173
|
+
# Configure the default scope given to Warden. By default it's the first
|
174
|
+
# devise role declared in your routes (usually :user).
|
175
|
+
# config.default_scope = :user
|
176
|
+
|
177
|
+
# Configure sign_out behavior.
|
178
|
+
# Sign_out action can be scoped (i.e. /users/sign_out affects only :user scope).
|
179
|
+
# The default is true, which means any logout action will sign out all active scopes.
|
180
|
+
# config.sign_out_all_scopes = true
|
181
|
+
|
182
|
+
# ==> Navigation configuration
|
183
|
+
# Lists the formats that should be treated as navigational. Formats like
|
184
|
+
# :html, should redirect to the sign in page when the user does not have
|
185
|
+
# access, but formats like :xml or :json, should return 401.
|
186
|
+
#
|
187
|
+
# If you have any extra navigational formats, like :iphone or :mobile, you
|
188
|
+
# should add them to the navigational formats lists.
|
189
|
+
#
|
190
|
+
# The :"*/*" and "*/*" formats below is required to match Internet
|
191
|
+
# Explorer requests.
|
192
|
+
# config.navigational_formats = [:"*/*", "*/*", :html]
|
193
|
+
|
194
|
+
# The default HTTP method used to sign out a resource. Default is :delete.
|
195
|
+
config.sign_out_via = :delete
|
196
|
+
|
197
|
+
# ==> OmniAuth
|
198
|
+
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
199
|
+
# up on your models and hooks.
|
200
|
+
# config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo'
|
201
|
+
|
202
|
+
# ==> Warden configuration
|
203
|
+
# If you want to use other strategies, that are not supported by Devise, or
|
204
|
+
# change the failure app, you can configure them inside the config.warden block.
|
205
|
+
#
|
206
|
+
# config.warden do |manager|
|
207
|
+
# manager.failure_app = AnotherApp
|
208
|
+
# manager.intercept_401 = false
|
209
|
+
# manager.default_strategies(:scope => :user).unshift :some_external_strategy
|
210
|
+
# end
|
211
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# Additional translations at http://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
errors:
|
5
|
+
messages:
|
6
|
+
expired: "has expired, please request a new one"
|
7
|
+
not_found: "not found"
|
8
|
+
already_confirmed: "was already confirmed, please try signing in"
|
9
|
+
not_locked: "was not locked"
|
10
|
+
not_saved:
|
11
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
12
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
13
|
+
|
14
|
+
devise:
|
15
|
+
failure:
|
16
|
+
already_authenticated: 'You are already signed in.'
|
17
|
+
unauthenticated: 'You need to sign in or sign up before continuing.'
|
18
|
+
unconfirmed: 'You have to confirm your account before continuing.'
|
19
|
+
locked: 'Your account is locked.'
|
20
|
+
invalid: 'Invalid email or password.'
|
21
|
+
invalid_token: 'Invalid authentication token.'
|
22
|
+
timeout: 'Your session expired, please sign in again to continue.'
|
23
|
+
inactive: 'Your account was not activated yet.'
|
24
|
+
sessions:
|
25
|
+
signed_in: 'Signed in successfully.'
|
26
|
+
signed_out: 'Signed out successfully.'
|
27
|
+
passwords:
|
28
|
+
send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
|
29
|
+
updated: 'Your password was changed successfully. You are now signed in.'
|
30
|
+
updated_not_active: 'Your password was changed successfully.'
|
31
|
+
send_paranoid_instructions: "If your e-mail exists on our database, you will receive a password recovery link on your e-mail"
|
32
|
+
confirmations:
|
33
|
+
send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
|
34
|
+
send_paranoid_instructions: 'If your e-mail exists on our database, you will receive an email with instructions about how to confirm your account in a few minutes.'
|
35
|
+
confirmed: 'Your account was successfully confirmed. You are now signed in.'
|
36
|
+
registrations:
|
37
|
+
signed_up: 'Welcome! You have signed up successfully.'
|
38
|
+
inactive_signed_up: 'You have signed up successfully. However, we could not sign you in because your account is %{reason}.'
|
39
|
+
updated: 'You updated your account successfully.'
|
40
|
+
destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
|
41
|
+
reasons:
|
42
|
+
inactive: 'inactive'
|
43
|
+
unconfirmed: 'unconfirmed'
|
44
|
+
locked: 'locked'
|
45
|
+
unlocks:
|
46
|
+
send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
|
47
|
+
unlocked: 'Your account was successfully unlocked. You are now signed in.'
|
48
|
+
send_paranoid_instructions: 'If your account exists, you will receive an email with instructions about how to unlock it in a few minutes.'
|
49
|
+
omniauth_callbacks:
|
50
|
+
success: 'Successfully authorized from %{kind} account.'
|
51
|
+
failure: 'Could not authorize you from %{kind} because "%{reason}".'
|
52
|
+
mailer:
|
53
|
+
confirmation_instructions:
|
54
|
+
subject: 'Confirmation instructions'
|
55
|
+
reset_password_instructions:
|
56
|
+
subject: 'Reset password instructions'
|
57
|
+
unlock_instructions:
|
58
|
+
subject: 'Unlock Instructions'
|
data/spec/dummy/config/routes.rb
CHANGED
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20110912114129) do
|
15
15
|
|
16
16
|
create_table "categories", :force => true do |t|
|
17
17
|
t.string "title"
|
@@ -66,6 +66,14 @@ ActiveRecord::Schema.define(:version => 20110301072545) do
|
|
66
66
|
t.datetime "updated_at"
|
67
67
|
end
|
68
68
|
|
69
|
+
create_table "puffer_users", :force => true do |t|
|
70
|
+
t.string "email"
|
71
|
+
t.string "password_digest"
|
72
|
+
t.string "roles"
|
73
|
+
t.datetime "created_at"
|
74
|
+
t.datetime "updated_at"
|
75
|
+
end
|
76
|
+
|
69
77
|
create_table "taggings", :force => true do |t|
|
70
78
|
t.string "name"
|
71
79
|
t.integer "tag_id"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.29
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-12 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &13086640 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *13086640
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: kaminari
|
27
|
-
requirement: &
|
27
|
+
requirement: &13086020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *13086020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: orm_adapter
|
38
|
-
requirement: &
|
38
|
+
requirement: &13085220 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *13085220
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sqlite3
|
49
|
-
requirement: &
|
49
|
+
requirement: &13084320 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *13084320
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mongoid
|
60
|
-
requirement: &
|
60
|
+
requirement: &13083160 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *13083160
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bson_ext
|
71
|
-
requirement: &
|
71
|
+
requirement: &13081880 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,21 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *13081880
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: devise
|
82
|
+
requirement: &13077780 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *13077780
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: rspec-rails
|
82
|
-
requirement: &
|
93
|
+
requirement: &13076740 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ! '>='
|
@@ -87,10 +98,10 @@ dependencies:
|
|
87
98
|
version: '0'
|
88
99
|
type: :development
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *13076740
|
91
102
|
- !ruby/object:Gem::Dependency
|
92
103
|
name: capybara
|
93
|
-
requirement: &
|
104
|
+
requirement: &13075980 !ruby/object:Gem::Requirement
|
94
105
|
none: false
|
95
106
|
requirements:
|
96
107
|
- - ! '>='
|
@@ -98,10 +109,10 @@ dependencies:
|
|
98
109
|
version: '0'
|
99
110
|
type: :development
|
100
111
|
prerelease: false
|
101
|
-
version_requirements: *
|
112
|
+
version_requirements: *13075980
|
102
113
|
- !ruby/object:Gem::Dependency
|
103
114
|
name: database_cleaner
|
104
|
-
requirement: &
|
115
|
+
requirement: &13075140 !ruby/object:Gem::Requirement
|
105
116
|
none: false
|
106
117
|
requirements:
|
107
118
|
- - ! '>='
|
@@ -109,10 +120,10 @@ dependencies:
|
|
109
120
|
version: '0'
|
110
121
|
type: :development
|
111
122
|
prerelease: false
|
112
|
-
version_requirements: *
|
123
|
+
version_requirements: *13075140
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: guard
|
115
|
-
requirement: &
|
126
|
+
requirement: &13074380 !ruby/object:Gem::Requirement
|
116
127
|
none: false
|
117
128
|
requirements:
|
118
129
|
- - ! '>='
|
@@ -120,10 +131,10 @@ dependencies:
|
|
120
131
|
version: '0'
|
121
132
|
type: :development
|
122
133
|
prerelease: false
|
123
|
-
version_requirements: *
|
134
|
+
version_requirements: *13074380
|
124
135
|
- !ruby/object:Gem::Dependency
|
125
136
|
name: libnotify
|
126
|
-
requirement: &
|
137
|
+
requirement: &13073500 !ruby/object:Gem::Requirement
|
127
138
|
none: false
|
128
139
|
requirements:
|
129
140
|
- - ! '>='
|
@@ -131,10 +142,10 @@ dependencies:
|
|
131
142
|
version: '0'
|
132
143
|
type: :development
|
133
144
|
prerelease: false
|
134
|
-
version_requirements: *
|
145
|
+
version_requirements: *13073500
|
135
146
|
- !ruby/object:Gem::Dependency
|
136
147
|
name: guard-rspec
|
137
|
-
requirement: &
|
148
|
+
requirement: &13072780 !ruby/object:Gem::Requirement
|
138
149
|
none: false
|
139
150
|
requirements:
|
140
151
|
- - ! '>='
|
@@ -142,10 +153,10 @@ dependencies:
|
|
142
153
|
version: '0'
|
143
154
|
type: :development
|
144
155
|
prerelease: false
|
145
|
-
version_requirements: *
|
156
|
+
version_requirements: *13072780
|
146
157
|
- !ruby/object:Gem::Dependency
|
147
158
|
name: forgery
|
148
|
-
requirement: &
|
159
|
+
requirement: &13072080 !ruby/object:Gem::Requirement
|
149
160
|
none: false
|
150
161
|
requirements:
|
151
162
|
- - ! '>='
|
@@ -153,10 +164,10 @@ dependencies:
|
|
153
164
|
version: '0'
|
154
165
|
type: :development
|
155
166
|
prerelease: false
|
156
|
-
version_requirements: *
|
167
|
+
version_requirements: *13072080
|
157
168
|
- !ruby/object:Gem::Dependency
|
158
169
|
name: fabrication
|
159
|
-
requirement: &
|
170
|
+
requirement: &13071220 !ruby/object:Gem::Requirement
|
160
171
|
none: false
|
161
172
|
requirements:
|
162
173
|
- - ! '>='
|
@@ -164,10 +175,10 @@ dependencies:
|
|
164
175
|
version: '0'
|
165
176
|
type: :development
|
166
177
|
prerelease: false
|
167
|
-
version_requirements: *
|
178
|
+
version_requirements: *13071220
|
168
179
|
- !ruby/object:Gem::Dependency
|
169
180
|
name: jeweler
|
170
|
-
requirement: &
|
181
|
+
requirement: &13070440 !ruby/object:Gem::Requirement
|
171
182
|
none: false
|
172
183
|
requirements:
|
173
184
|
- - ! '>='
|
@@ -175,10 +186,10 @@ dependencies:
|
|
175
186
|
version: '0'
|
176
187
|
type: :development
|
177
188
|
prerelease: false
|
178
|
-
version_requirements: *
|
189
|
+
version_requirements: *13070440
|
179
190
|
- !ruby/object:Gem::Dependency
|
180
191
|
name: nested_set
|
181
|
-
requirement: &
|
192
|
+
requirement: &13067140 !ruby/object:Gem::Requirement
|
182
193
|
none: false
|
183
194
|
requirements:
|
184
195
|
- - ! '>='
|
@@ -186,7 +197,7 @@ dependencies:
|
|
186
197
|
version: '0'
|
187
198
|
type: :development
|
188
199
|
prerelease: false
|
189
|
-
version_requirements: *
|
200
|
+
version_requirements: *13067140
|
190
201
|
description: In Soviet Russia puffer admins you
|
191
202
|
email: kinwizard@gmail.com
|
192
203
|
executables: []
|
@@ -243,13 +254,18 @@ files:
|
|
243
254
|
- app/components/text/form.html.erb
|
244
255
|
- app/components/text_component.rb
|
245
256
|
- app/controllers/admin/dashboard_controller.rb
|
257
|
+
- app/controllers/admin/puffer_users_controller.rb
|
246
258
|
- app/controllers/admin/sessions_controller.rb
|
247
259
|
- app/controllers/puffer/base.rb
|
248
260
|
- app/controllers/puffer/dashboard_base.rb
|
261
|
+
- app/controllers/puffer/puffer_users_base.rb
|
249
262
|
- app/controllers/puffer/sessions_base.rb
|
263
|
+
- app/controllers/puffer/sessions_devise_base.rb
|
250
264
|
- app/controllers/puffer/tree_base.rb
|
251
265
|
- app/helpers/puffer_helper.rb
|
252
266
|
- app/helpers/puffer_tree_helper.rb
|
267
|
+
- app/models/puffer/puffer_user.rb
|
268
|
+
- app/models/puffer_user.rb
|
253
269
|
- app/views/layouts/puffer.html.erb
|
254
270
|
- app/views/layouts/puffer_base.html.erb
|
255
271
|
- app/views/layouts/puffer_dashboard.html.erb
|
@@ -267,6 +283,7 @@ files:
|
|
267
283
|
- app/views/puffer/tree_base/tree.html.erb
|
268
284
|
- config/locales/puffer.yml
|
269
285
|
- config/routes.rb
|
286
|
+
- db/migrate/20110912095647_create_puffer_users.rb
|
270
287
|
- lib/generators/puffer/component/USAGE
|
271
288
|
- lib/generators/puffer/component/component_generator.rb
|
272
289
|
- lib/generators/puffer/component/templates/component.rb
|
@@ -277,6 +294,7 @@ files:
|
|
277
294
|
- lib/puffer.rb
|
278
295
|
- lib/puffer/component.rb
|
279
296
|
- lib/puffer/controller/actions.rb
|
297
|
+
- lib/puffer/controller/auth.rb
|
280
298
|
- lib/puffer/controller/config.rb
|
281
299
|
- lib/puffer/controller/dsl.rb
|
282
300
|
- lib/puffer/controller/mutate.rb
|
@@ -315,7 +333,6 @@ files:
|
|
315
333
|
- spec/dummy/app/controllers/admin/news_controller.rb
|
316
334
|
- spec/dummy/app/controllers/admin/posts_controller.rb
|
317
335
|
- spec/dummy/app/controllers/admin/profiles_controller.rb
|
318
|
-
- spec/dummy/app/controllers/admin/sessions_controller.rb
|
319
336
|
- spec/dummy/app/controllers/admin/tagged_posts_controller.rb
|
320
337
|
- spec/dummy/app/controllers/admin/tags_controller.rb
|
321
338
|
- spec/dummy/app/controllers/admin/users_controller.rb
|
@@ -343,11 +360,13 @@ files:
|
|
343
360
|
- spec/dummy/config/environments/production.rb
|
344
361
|
- spec/dummy/config/environments/test.rb
|
345
362
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
363
|
+
- spec/dummy/config/initializers/devise.rb
|
346
364
|
- spec/dummy/config/initializers/inflections.rb
|
347
365
|
- spec/dummy/config/initializers/mime_types.rb
|
348
366
|
- spec/dummy/config/initializers/secret_token.rb
|
349
367
|
- spec/dummy/config/initializers/session_store.rb
|
350
368
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
369
|
+
- spec/dummy/config/locales/devise.en.yml
|
351
370
|
- spec/dummy/config/locales/en.yml
|
352
371
|
- spec/dummy/config/mongoid.yml
|
353
372
|
- spec/dummy/config/routes.rb
|
@@ -360,6 +379,7 @@ files:
|
|
360
379
|
- spec/dummy/db/migrate/20101011160326_create_taggings.rb
|
361
380
|
- spec/dummy/db/migrate/20110107082706_create_friendships.rb
|
362
381
|
- spec/dummy/db/migrate/20110301072545_create_news.rb
|
382
|
+
- spec/dummy/db/migrate/20110912114129_create_puffer_users.rb
|
363
383
|
- spec/dummy/db/schema.rb
|
364
384
|
- spec/dummy/db/seeds.rb
|
365
385
|
- spec/dummy/public/404.html
|
@@ -397,7 +417,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
397
417
|
version: '0'
|
398
418
|
segments:
|
399
419
|
- 0
|
400
|
-
hash:
|
420
|
+
hash: 2115184078820805402
|
401
421
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
402
422
|
none: false
|
403
423
|
requirements:
|