casein 5.3.0.0 → 5.5.1.0
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.
- checksums.yaml +5 -5
- data/README.rdoc +8 -18
- data/Rakefile +5 -4
- data/app/controllers/casein/admin_user_sessions_controller.rb +13 -15
- data/app/controllers/casein/admin_users_controller.rb +52 -53
- data/app/controllers/casein/casein_controller.rb +26 -24
- data/app/controllers/casein/password_resets_controller.rb +18 -21
- data/app/helpers/casein/casein_helper.rb +146 -155
- data/app/mailers/casein/casein_notification.rb +26 -27
- data/app/models/casein.rb +2 -0
- data/app/models/casein/admin_user.rb +47 -21
- data/app/models/casein/admin_user_session.rb +5 -3
- data/config/initializers/will_paginate.rb +12 -8
- data/config/routes.rb +10 -11
- data/lib/casein.rb +10 -8
- data/lib/casein/engine.rb +13 -14
- data/lib/casein/version.rb +4 -2
- data/lib/casein/version.rb.orig +10 -0
- data/lib/generators/casein/install/install_generator.rb +36 -35
- data/lib/generators/casein/install/templates/app/helpers/casein/config_helper.rb +8 -8
- data/lib/generators/casein/install/templates/db/migrate/casein_create_admin_users.rb +4 -4
- data/lib/generators/casein/scaffold/scaffold_generator.rb +32 -31
- data/lib/generators/casein/scaffold/templates/controller.rb +1 -1
- data/lib/railties/tasks.rake +10 -12
- metadata +47 -33
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
class CaseinCreateAdminUsers < ActiveRecord::Migration[5.1]
|
2
|
-
|
3
4
|
def change
|
4
|
-
create_table :casein_admin_users do |t|
|
5
|
+
create_table :casein_admin_users do |t|
|
5
6
|
t.string :login, null: false
|
6
7
|
t.string :name
|
7
8
|
t.string :email
|
@@ -22,5 +23,4 @@ class CaseinCreateAdminUsers < ActiveRecord::Migration[5.1]
|
|
22
23
|
t.timestamps
|
23
24
|
end
|
24
25
|
end
|
25
|
-
|
26
|
-
end
|
26
|
+
end
|
@@ -1,24 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Casein
|
2
4
|
class ScaffoldGenerator < Rails::Generators::NamedBase
|
3
|
-
|
4
5
|
include Casein::CaseinHelper
|
5
6
|
include Rails::Generators::Migration
|
6
|
-
source_root File.expand_path('
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
7
8
|
|
8
|
-
argument :attributes, type: :array, required: true, desc:
|
9
|
+
argument :attributes, type: :array, required: true, desc: 'attribute list required'
|
9
10
|
|
10
11
|
class_options create_model_and_migration: false, read_only: false, no_index: false
|
11
12
|
|
12
|
-
def self.next_migration_number
|
13
|
+
def self.next_migration_number(dirname)
|
13
14
|
if ActiveRecord::Base.timestamped_migrations
|
14
|
-
Time.now.utc.strftime(
|
15
|
+
Time.now.utc.strftime('%Y%m%d%H%M%S')
|
15
16
|
else
|
16
|
-
|
17
|
+
format('%.3d', (current_migration_number(dirname) + 1))
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
def generate_files
|
21
|
-
@plural_route =
|
22
|
+
@plural_route = plural_name
|
22
23
|
@read_only = options[:read_only]
|
23
24
|
@no_index = options[:no_index]
|
24
25
|
|
@@ -39,15 +40,15 @@ module Casein
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
42
|
-
|
43
|
+
protected
|
43
44
|
|
44
|
-
#replacements for standard Rails generator route. This one only adds once
|
45
|
+
# replacements for standard Rails generator route. This one only adds once
|
45
46
|
def add_namespace_to_routes
|
46
|
-
puts
|
47
|
+
puts ' casein adding namespace to routes.rb'
|
47
48
|
file_to_update = Rails.root + 'config/routes.rb'
|
48
|
-
line_to_add =
|
49
|
+
line_to_add = 'namespace :casein do'
|
49
50
|
insert_sentinel = 'Application.routes.draw do'
|
50
|
-
if File.read(file_to_update).scan(/(#{Regexp.escape(
|
51
|
+
if File.read(file_to_update).scan(/(#{Regexp.escape(line_to_add.to_s)})/mi).blank?
|
51
52
|
gsub_add_once plural_name, file_to_update, "\n#Casein routes\n" + line_to_add + "\nend\n", insert_sentinel
|
52
53
|
end
|
53
54
|
end
|
@@ -56,18 +57,18 @@ module Casein
|
|
56
57
|
puts " casein adding #{plural_name} resources to routes.rb"
|
57
58
|
file_to_update = Rails.root + 'config/routes.rb'
|
58
59
|
|
59
|
-
if @no_index && @read_only
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
60
|
+
line_to_add = if @no_index && @read_only
|
61
|
+
"resources :#{plural_name}, only: [:show]"
|
62
|
+
elsif @no_index
|
63
|
+
"resources :#{plural_name}, except: [:index]"
|
64
|
+
elsif @read_only
|
65
|
+
"resources :#{plural_name}, only: [:index, :show]"
|
66
|
+
else
|
67
|
+
"resources :#{plural_name}"
|
68
|
+
end
|
68
69
|
|
69
70
|
insert_sentinel = 'namespace :casein do'
|
70
|
-
gsub_add_once plural_name, file_to_update,
|
71
|
+
gsub_add_once plural_name, file_to_update, ' ' + line_to_add, insert_sentinel
|
71
72
|
end
|
72
73
|
|
73
74
|
def add_to_navigation
|
@@ -78,9 +79,9 @@ module Casein
|
|
78
79
|
gsub_add_once plural_name, file_to_update, line_to_add, insert_sentinel
|
79
80
|
end
|
80
81
|
|
81
|
-
def gsub_add_once
|
82
|
+
def gsub_add_once(_m, file, line, sentinel)
|
82
83
|
unless options[:pretend]
|
83
|
-
gsub_file file, /(#{Regexp.escape("\n#{line}")})/mi do |
|
84
|
+
gsub_file file, /(#{Regexp.escape("\n#{line}")})/mi do |_match|
|
84
85
|
''
|
85
86
|
end
|
86
87
|
gsub_file file, /(#{Regexp.escape(sentinel)})/mi do |match|
|
@@ -96,13 +97,13 @@ module Casein
|
|
96
97
|
|
97
98
|
def field_type(type)
|
98
99
|
case type.to_s.to_sym
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
100
|
+
when :integer, :float, :decimal then :text_field
|
101
|
+
when :date then :date_select
|
102
|
+
when :time, :timestamp then :time_select
|
103
|
+
when :datetime then :datetime_select
|
104
|
+
when :string then :text_field
|
105
|
+
when :text then :text_area
|
106
|
+
when :boolean then :check_box
|
106
107
|
else
|
107
108
|
:text_field
|
108
109
|
end
|
@@ -38,7 +38,7 @@ module Casein
|
|
38
38
|
|
39
39
|
@<%= singular_name %> = <%= class_name %>.find params[:id]
|
40
40
|
|
41
|
-
if @<%= singular_name %>.
|
41
|
+
if @<%= singular_name %>.update <%= singular_name %>_params
|
42
42
|
flash[:notice] = '<%= singular_name.humanize.capitalize %> has been updated'
|
43
43
|
redirect_to casein_<%= @plural_route %>_path
|
44
44
|
else
|
data/lib/railties/tasks.rake
CHANGED
@@ -1,33 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'authlogic'
|
2
4
|
require 'securerandom'
|
3
5
|
|
4
6
|
namespace :casein do
|
5
|
-
|
6
7
|
namespace :users do
|
7
|
-
|
8
|
-
desc "Create default admin user"
|
8
|
+
desc 'Create default admin user'
|
9
9
|
task create_admin: :environment do
|
10
|
+
raise 'Usage: specify email address, e.g. rake [task] email=mail@caseincms.com [(optional) password=mypassword]' unless ENV.include?('email')
|
10
11
|
|
11
|
-
raise "Usage: specify email address, e.g. rake [task] email=mail@caseincms.com [(optional) password=mypassword]" unless ENV.include?("email")
|
12
12
|
password = ENV['password'] || SecureRandom.hex
|
13
|
-
admin = Casein::AdminUser.new(
|
13
|
+
admin = Casein::AdminUser.new(login: 'admin', name: 'Admin', email: ENV['email'], access_level: $CASEIN_USER_ACCESS_LEVEL_ADMIN, password: password, password_confirmation: password)
|
14
14
|
|
15
|
-
|
16
|
-
puts "[Casein] Failed. Rails said:"
|
17
|
-
puts admin.errors.full_messages.join("\n")
|
18
|
-
else
|
15
|
+
if admin.save
|
19
16
|
puts "[Casein] Created new admin user with username 'admin' and password '#{password}'"
|
17
|
+
else
|
18
|
+
puts '[Casein] Failed. Rails said:'
|
19
|
+
puts admin.errors.full_messages.join("\n")
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
desc
|
23
|
+
desc 'Remove all users'
|
24
24
|
task remove_all: :environment do
|
25
25
|
users = Casein::AdminUser.all
|
26
26
|
num_users = users.size
|
27
27
|
users.destroy_all
|
28
28
|
puts "[Casein] Removed #{num_users} user(s)"
|
29
29
|
end
|
30
|
-
|
31
30
|
end
|
32
|
-
|
33
31
|
end
|
metadata
CHANGED
@@ -1,101 +1,101 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: casein
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Quinn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: authlogic
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '6.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '6.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bootstrap-sass
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.4.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
40
|
+
version: 3.4.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: jquery-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: sassc-rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 2.0.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 2.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: scrypt
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.2.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.2.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: will_paginate
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 3.1.5
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 3.1.5
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: capybara
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '3.0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: capybara-rails
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,21 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rspec-rails
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
@@ -193,6 +207,7 @@ files:
|
|
193
207
|
- lib/casein.rb
|
194
208
|
- lib/casein/engine.rb
|
195
209
|
- lib/casein/version.rb
|
210
|
+
- lib/casein/version.rb.orig
|
196
211
|
- lib/generators/casein/install/USAGE
|
197
212
|
- lib/generators/casein/install/install_generator.rb
|
198
213
|
- lib/generators/casein/install/templates/app/assets/javascripts/casein/auth_custom.js
|
@@ -234,8 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
249
|
- !ruby/object:Gem::Version
|
235
250
|
version: '0'
|
236
251
|
requirements: []
|
237
|
-
|
238
|
-
rubygems_version: 2.4.5.1
|
252
|
+
rubygems_version: 3.2.16
|
239
253
|
signing_key:
|
240
254
|
specification_version: 4
|
241
255
|
summary: A lightweight CMS toolkit for Ruby on Rails, based on Bootstrap.
|