hancock_cms 2.0.0 → 2.0.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41324f0d660377499046bdff66270b4ab23d9ad0
4
- data.tar.gz: e6a662cb66a178c9fc56c15477d1fb32bb51c450
3
+ metadata.gz: aac27be322e86dbe06cbb665f135b45bcbaa2f26
4
+ data.tar.gz: 32d116ff67f3e7e565eeeb3c2cc2b1f6e4d2bfbb
5
5
  SHA512:
6
- metadata.gz: f0658fcaca83270c9c75876b1cf18771ab513fc9b039b6b3a914624b1bd875b105cfd4bf9d65c7625269f3ffc38e036a6f6c0f2836bbc47258097fea620dc7a5
7
- data.tar.gz: 773d915222ae733879269d77ef4b09ab1a36c06ce5cb5cd3cd3f8322a1bee0bcf899b1b7cea1325bf9b891a121fda7d708fac653c0b4fd1a64714b7e12061e91
6
+ metadata.gz: a7385fdec75273456f88842cae88d01435053caee1c479155790e9469ff551908fd4a1e8c1191faa28bfc7deed0985f70ef2e3598f9f9e26aaaa6953e6d069b7
7
+ data.tar.gz: d418df9900372477a720aeae8c4d10fcf913939b0464b1cd792ef06e89b43277b33f9e2f6d00da04f48ecb868407744215f3f3cba5e2ac3a32f6ad137e4c2472
data/README.md CHANGED
@@ -52,13 +52,17 @@ If not, uninstall rails and install again
52
52
 
53
53
  Then, for mongoid:
54
54
 
55
- rails new my_app -T -O -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
55
+ rails new my_app -B -T -O -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
56
+ cd my_app
57
+ rails g hancock:cms:setup
56
58
 
57
59
  for ActiveRecord:
58
60
 
59
- rails new my_app -T --database=postgresql -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
61
+ rails new my_app -B -T --database=postgresql -m https://raw.githubusercontent.com/red-rocks/hancock_cms/rails5/template.rb
62
+ cd my_app
63
+ rails g hancock:cms:setup
60
64
 
61
- generator creates a new RVM gemset, so after cd'ing to app dir, you should run `bundle install` again if you use rvm.
65
+ generator creates a new RVM gemset, runs `bundle install` and setup some files (assets, config/initializers/*, routes, etc).
62
66
 
63
67
  ### Localization
64
68
 
@@ -8,7 +8,8 @@
8
8
  overflow: auto
9
9
  white-space: nowrap
10
10
  text-align: center
11
-
11
+ font-family: "Verdana", SansSerif
12
+ font-weight: normal
12
13
  &:before
13
14
  height: 100%
14
15
  display: inline-block
@@ -21,9 +22,7 @@
21
22
  vertical-align: middle
22
23
  text-align: left
23
24
  background: #fff
24
- webkit-box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
25
- -moz-box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
26
- box-shadow: 0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19)
25
+ +box-shadow(0 8px 17px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19))
27
26
  min-width: 400px
28
27
 
29
28
  .white-box
@@ -62,36 +61,30 @@
62
61
  .form-control
63
62
  background-image: linear-gradient(#9675ce, #9675ce), linear-gradient(rgba(120, 130, 140, 0.13), rgba(120, 130, 140, 0.13))
64
63
  border: 0 none
65
- border-radius: 0
66
- box-shadow: none
64
+ +border-radius(0)
65
+ +box-shadow(none)
67
66
  background-color: rgba(0, 0, 0, 0)
68
67
  background-position: center bottom, center calc(99%)
69
68
  background-repeat: no-repeat
70
69
  background-size: 0 2px, 100% 1px
71
70
  background-color: #ffffff
72
- box-shadow: none
73
71
  color: #565656
74
72
  height: 38px
75
73
  width: 100%
76
74
  padding: 7px 12px
77
- transition: all 300ms linear 0s
75
+ +transition(all 300ms linear 0s)
78
76
  display: block
79
77
  font-size: 14px
80
78
  line-height: 1.42857143
81
- -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s
82
- -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
83
- transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
79
+ +transition(border-color ease-in-out .15s,box-shadow ease-in-out .15s)
84
80
  input
85
81
  width: 100%
86
- height: 100%
87
82
 
88
83
  .link-to-recover
89
84
  float: right
90
85
  padding-right: 10px
91
86
  a
92
- -webkit-transition: color ease-in-out .15s
93
- -o-transition: color ease-in-out .15s
94
- transition: color ease-in-out .15s
87
+ +transition(color ease-in-out .15s)
95
88
  color: #333C44
96
89
  &:hover
97
90
  color: #EF5350
@@ -123,9 +116,7 @@
123
116
  cursor: pointer
124
117
  max-width: 100%
125
118
  color: #333C44
126
- -webkit-transition: color ease-in-out .15s
127
- -o-transition: color ease-in-out .15s
128
- transition: color ease-in-out .15s
119
+ +transition(color ease-in-out .15s)
129
120
  &:hover
130
121
  label
131
122
  color: #EF5350
@@ -145,9 +136,7 @@
145
136
  padding: 10px 16px
146
137
  font-size: 18px
147
138
  line-height: 1.3333333
148
- -webkit-transition: all ease-in-out .15s
149
- -o-transition: all ease-in-out .15s
150
- transition: all ease-in-out .15s
139
+ +transition(all ease-in-out .15s)
151
140
  &:hover
152
141
  background: rgba(#ee5350, 0.8)
153
142
  border: 1px solid rgba(#ee5350, 0.8)
@@ -155,3 +144,25 @@
155
144
 
156
145
  .form-group.links
157
146
  margin-top: 25px
147
+
148
+ .devise-box .white-box form .form-group .form-control
149
+ padding: 0
150
+ input
151
+ position: relative
152
+ margin: 0
153
+ border: 0px
154
+ border-bottom: 1px solid #ccc
155
+ +transition(all 0.3s)
156
+ &:focus
157
+ border-bottom: 1px solid #3c6085
158
+
159
+ .devise-box .white-box form .form-group .checkbox-primary
160
+ min-height: auto
161
+
162
+ .devise-box .white-box form .form-group .checkbox-primary label
163
+ padding-left: 0px
164
+ input
165
+ margin: 0px
166
+ margin-right: 5px
167
+ display: inline-block
168
+ vertical-align: middle
@@ -608,7 +608,7 @@ a
608
608
  td
609
609
  position: relative
610
610
  vertical-align: middle
611
- text-align: center
611
+ text-align: left
612
612
  padding: 3px 4px 3px 4px
613
613
  td.other.right, td.last.links
614
614
  padding: 6px 10px 6px 0px
@@ -699,5 +699,5 @@ body.rails_admin .form-horizontal .tab-content .tab-pane
699
699
  +box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.075))
700
700
  +transform(border-color ease-in-out 0.15s box-shadow ease-in-out 0.15s)
701
701
 
702
- body.rails_admin .table td
703
- max-width: 120px
702
+ body.rails_admin .table
703
+ max-width: 120px
@@ -1,4 +1,4 @@
1
- module Hancock::Errors
1
+ module Hancock::CurrentUser
2
2
  extend ActiveSupport::Concern
3
3
 
4
4
  included do
@@ -1,5 +1,6 @@
1
1
  module Hancock::Errors
2
2
  extend ActiveSupport::Concern
3
+
3
4
  included do
4
5
  if Rails.env.production? || Rails.env.staging? || (respond_to?(:hancock_check_errors) and hancock_check_errors)
5
6
  rescue_from Exception, with: :render_500
@@ -90,5 +91,5 @@ module Hancock::Errors
90
91
  def render_error(code = 500)
91
92
  render template: "hancock/errors/error_#{code}", formats: [:html], handlers: [:slim], layout: Hancock.config.error_layout, status: code
92
93
  end
93
-
94
+
94
95
  end
@@ -11,12 +11,13 @@ if Hancock.mongoid?
11
11
  def default_cache_keys
12
12
  self.class.default_cache_keys
13
13
  end
14
-
14
+
15
15
  def cache_keys
16
16
  cache_keys_str.split(/\s+/).map { |k| k.strip }.reject { |k| k.blank? }
17
17
  end
18
18
  field :perform_caching, type: Boolean, default: true
19
19
 
20
+ after_touch :clear_cache
20
21
  after_save :clear_cache
21
22
  after_destroy :clear_cache
22
23
  def clear_cache
@@ -1,10 +1,10 @@
1
1
  if defined?(Mongoid)
2
2
 
3
- module Mongoid
3
+ module Hancock
4
4
 
5
5
  # Helps to override find method in an embedded document.
6
6
  # Usage :
7
- # - add to your model "include Mongoid::EmbeddedFindable"
7
+ # - add to your model "include Hancock::EmbeddedFindable"
8
8
  # - override find method with:
9
9
  # def self.find(id)
10
10
  # find_through(Book, 'chapter', id)
@@ -17,4 +17,4 @@ ul
17
17
  - if logout_path.present?
18
18
  li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method
19
19
  span
20
- i.fa.fa-power-off
20
+ i.fa.fa-power-off
@@ -13,7 +13,7 @@
13
13
  RailsAdmin.I18n.init('#{I18n.locale}', JSON.parse("#{j I18n.t("admin.js").to_json}"))
14
14
 
15
15
  %body.rails_admin
16
-
16
+ #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
17
17
  %nav.admin-navbar.admin-navbar-fixed.bg-red{:role => "navigation"}
18
18
  = render "layouts/rails_admin/navigation"
19
19
 
data/hancock_cms.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'rails_admin_nested_set'
37
37
  spec.add_dependency 'rails_admin_toggleable'
38
38
 
39
- spec.add_dependency 'ack_rails_admin_settings'
39
+ spec.add_dependency 'ack_rails_admin_settings', '~> 1.2'
40
40
 
41
41
  spec.add_dependency 'kaminari'
42
42
 
@@ -0,0 +1,344 @@
1
+ require 'rails/generators'
2
+ # require "rails/generators/rails/app/app_generator"
3
+
4
+ module Hancock::Cms
5
+ class SetupGenerator < Rails::Generators::Base
6
+
7
+ desc 'Hancock CMS Carcass generator'
8
+ def install
9
+
10
+ ####### DEVISE #######
11
+
12
+ generate "devise:install"
13
+ gsub_file 'config/initializers/devise.rb', "'please-change-me-at-config-initializers-devise@example.com'", "'noreply@#{app_name.dasherize.downcase}.ru'"
14
+ inject_into_file 'config/initializers/devise.rb', after: /^end/ do <<-TEXT
15
+
16
+ Rails.application.config.to_prepare do
17
+ Devise::SessionsController.layout "hancock/devise/sessions"
18
+ Devise::RegistrationsController.layout "hancock/devise/registrations"
19
+ Devise::ConfirmationsController.layout "hancock/devise/confirmations"
20
+ Devise::UnlocksController.layout "hancock/devise/unlocks"
21
+ Devise::PasswordsController.layout "hancock/devise/passwords"
22
+ end
23
+ TEXT
24
+ end
25
+
26
+ generate "devise", "User"
27
+
28
+
29
+ ####### ROUTES #######
30
+
31
+ remove_file 'config/routes.rb'
32
+ create_file 'config/routes.rb' do <<-TEXT
33
+ Rails.application.routes.draw do
34
+ devise_for :users, controllers: {sessions: 'hancock/sessions'}
35
+ mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
36
+ hancock_cms_routes
37
+ end
38
+ TEXT
39
+ end
40
+
41
+
42
+ ####### INITIALIZERS #######
43
+
44
+ inject_into_file 'config/initializers/assets.rb', before: /\z/ do <<-TEXT
45
+ Rails.application.config.assets.precompile += %w( *.svg )
46
+ Rails.application.config.assets.precompile += %w( ckeditor/* )
47
+ Rails.application.config.assets.precompile += %w( codemirror.js codemirror.css codemirror/**/* )
48
+ TEXT
49
+ end
50
+
51
+ gsub_file 'config/initializers/backtrace_silencers.rb',
52
+ "# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }",
53
+ "Rails.backtrace_cleaner.add_silencer { |line| line =~ /lib\\/(haml|slim|sass|scss|coffee|compass)/ }"
54
+
55
+ if mongoid
56
+ generate "ckeditor:install", "--orm=mongoid", "--backend=paperclip"
57
+ else
58
+ generate "ckeditor:install", "--orm=active_record", "--backend=paperclip"
59
+ end
60
+ gsub_file 'config/initializers/ckeditor.rb', "# config.image_file_types = %w(jpg jpeg png gif tiff)", "config.image_file_types = %w(jpg jpeg png gif tiff svg)"
61
+ gsub_file 'config/initializers/ckeditor.rb', "# config.authorize_with :cancan", "config.authorize_with :cancancan"
62
+ gsub_file 'config/initializers/ckeditor.rb', "# config.assets_languages = ['en', 'uk']", "config.assets_languages = ['en', 'ru']"
63
+
64
+ if mongoid
65
+ remove_file 'config/initializers/cookies_serializer.rb'
66
+ create_file 'config/initializers/cookies_serializer.rb' do <<-TEXT
67
+ # Be sure to restart your server when you modify this file.
68
+ # json serializer breaks Devise + Mongoid. DO NOT ENABLE
69
+ # See https://github.com/plataformatec/devise/pull/2882
70
+ # Rails.application.config.action_dispatch.cookies_serializer = :json
71
+ Rails.application.config.action_dispatch.cookies_serializer = :marshal
72
+ TEXT
73
+ end
74
+ end
75
+
76
+ gsub_file 'config/initializers/filter_parameter_logging.rb', "[:password]", "[:password, :password_confirmation]"
77
+
78
+ # generate 'paperclip_optimizer:install'
79
+ # remove_file 'config/initializers/paperclip_optimizer.rb'
80
+ # generate "hancock:cms:paperclip_optimizer"
81
+
82
+ # generate 'rails_email_preview:install'
83
+ # remove_file 'app/mailer_previews/contact_mailer_preview.rb'
84
+ # create_file 'app/mailer_previews/contact_mailer_preview.rb' do <<-TEXT
85
+ # class ContactMailerPreview
86
+ # def new_message_email
87
+ # Hancock::Feedback::ContactMailer.new_message_email(Hancock::Feedback::ContactMessage.all.to_a.sample)
88
+ # end
89
+ # end
90
+ # TEXT
91
+ # end
92
+
93
+ generate "hancock:cms:config"
94
+
95
+ generate "hancock:cms:rack"
96
+
97
+ generate "hancock:cms:admin"
98
+
99
+ remove_file 'config/initializers/session_store.rb'
100
+ if mongoid
101
+ create_file 'config/initializers/session_store.rb' do <<-TEXT
102
+ # Be sure to restart your server when you modify this file.
103
+ #Rails.application.config.session_store :cookie_store, key: '_#{app_name.tableize.singularize}_session'
104
+ Rails.application.config.session_store :mongoid_store
105
+ TEXT
106
+ end
107
+ else
108
+ generate 'active_record_store:session_migration'
109
+ create_file 'config/initializers/session_store.rb' do <<-TEXT
110
+ # Be sure to restart your server when you modify this file.
111
+ #Rails.application.config.session_store :cookie_store, key: '_#{app_name.tableize.singularize}_session'
112
+ Rails.application.config.session_store :active_record_store
113
+ TEXT
114
+ end
115
+ end
116
+
117
+ # unless mongoid
118
+ # generate 'simple_captcha'
119
+ # end
120
+
121
+ generate "simple_form:install"
122
+
123
+
124
+ ####### CONTROLLERS #######
125
+
126
+ remove_file 'app/controllers/application_controller.rb'
127
+ create_file 'app/controllers/application_controller.rb' do <<-TEXT
128
+ class ApplicationController < ActionController::Base
129
+ include Hancock::Controller
130
+ end
131
+ TEXT
132
+ end
133
+
134
+
135
+ ####### MODELS #######
136
+
137
+ generate "hancock:cms:ability"
138
+
139
+ gsub_file 'app/models/user.rb', '# :confirmable, :lockable, :timeoutable and :omniauthable' do <<-TEXT
140
+ include Hancock::Model
141
+ include Hancock::Enableable
142
+ include Hancock::RailsAdminPatch
143
+ def self.manager_can_default_actions
144
+ [:show, :read]
145
+ end
146
+ def manager_cannot_actions
147
+ [:new, :create, :delete, :destroy]
148
+ end
149
+ cattr_accessor :current_user
150
+ # Include default devise modules. Others available are:
151
+ # :confirmable, :lockable, :timeoutable and :omniauthable
152
+ TEXT
153
+ end
154
+
155
+ gsub_file 'app/models/user.rb', ':registerable,', ' :lockable,'
156
+ if mongoid
157
+ gsub_file 'app/models/user.rb', '# field :failed_attempts', 'field :failed_attempts'
158
+ gsub_file 'app/models/user.rb', '# field :unlock_token', 'field :unlock_token'
159
+ gsub_file 'app/models/user.rb', '# field :locked_at', 'field :locked_at'
160
+
161
+ inject_into_file 'app/models/user.rb', before: /^end/ do <<-TEXT
162
+ field :name, type: String
163
+ field :login, type: String
164
+ field :roles, type: Array, default: []
165
+ before_save do
166
+ self.roles ||= []
167
+ self.roles.reject! { |r| r.blank? }
168
+ end
169
+ AVAILABLE_ROLES = ["admin", "manager", "client"]
170
+ AVAILABLE_ROLES.each do |r|
171
+ class_eval <<-EVAL
172
+ def \#{r}?
173
+ self.roles and self.roles.include?("\#{r}")
174
+ end
175
+ scope :\#{r.pluralize}, -> { any_in(roles: "\#{r}") }
176
+ EVAL
177
+ end
178
+ def self.generate_first_admin_user
179
+ if ::User.admins.all.count == 0
180
+ _email_pass = 'admin@#{app_name.dasherize.downcase}.ru'
181
+ if ::User.new(roles: ["admin"], email: _email_pass, password: _email_pass, password_confirmation: _email_pass).save
182
+ puts "AdminUser with email and password '\#{_email_pass}' was created!"
183
+ else
184
+ puts 'Creating AdminUser error'
185
+ end
186
+ else
187
+ puts 'AdminUsers are here already'
188
+ end
189
+ end
190
+ def self.generate_first_manager_user
191
+ if ::User.managers.all.count == 0
192
+ _email_pass = 'manager@#{app_name.dasherize.downcase}.ru'
193
+ if ::User.create(roles: ["manager"], email: _email_pass, password: _email_pass, password_confirmation: _email_pass)
194
+ puts "ManagerUser with email and password '\#{_email_pass}' was created!"
195
+ else
196
+ puts 'Creating ManagerUser error'
197
+ end
198
+ else
199
+ puts 'ManagerUsers are here already'
200
+ end
201
+ end
202
+ rails_admin do
203
+ list do
204
+ field :email
205
+ field :name
206
+ field :login
207
+ field :roles do
208
+ pretty_value do
209
+ render_object = (bindings[:controller] || bindings[:view])
210
+ render_object.content_tag(:p, bindings[:object].roles.join(", ")) if render_object
211
+ end
212
+ end
213
+ end
214
+ edit do
215
+ group :login do
216
+ active false
217
+ field :email, :string do
218
+ visible do
219
+ render_object = (bindings[:controller] || bindings[:view])
220
+ render_object and (render_object.current_user.admin? or (render_object.current_user.manager? and render_object.current_user == bindings[:object]))
221
+ end
222
+ end
223
+ field :name, :string
224
+ field :login, :string do
225
+ visible do
226
+ render_object = (bindings[:controller] || bindings[:view])
227
+ render_object and render_object.current_user.admin?
228
+ end
229
+ end
230
+ end
231
+ group :roles do
232
+ active false
233
+ field :roles, :enum do
234
+ enum do
235
+ AVAILABLE_ROLES
236
+ end
237
+ multiple do
238
+ true
239
+ end
240
+ visible do
241
+ render_object = (bindings[:controller] || bindings[:view])
242
+ render_object and render_object.current_user.admin?
243
+ end
244
+ end
245
+ end
246
+ group :password do
247
+ active false
248
+ field :password do
249
+ visible do
250
+ render_object = (bindings[:controller] || bindings[:view])
251
+ render_object and (render_object.current_user.admin? or render_object.current_user == bindings[:object])
252
+ end
253
+ end
254
+ field :password_confirmation do
255
+ visible do
256
+ render_object = (bindings[:controller] || bindings[:view])
257
+ render_object and (render_object.current_user.admin? or render_object.current_user == bindings[:object])
258
+ end
259
+ end
260
+ end
261
+ end
262
+ end
263
+ TEXT
264
+ end
265
+ end
266
+
267
+
268
+ ###### HANCOCK OTHERS ######
269
+
270
+ unless mongoid
271
+ generate "hancock:cms:migration"
272
+ generate "rails_admin_settings:migration"
273
+ end
274
+
275
+ remove_file 'app/views/layouts/application.html.erb'
276
+ generate "hancock:cms:layout"
277
+
278
+ unless mongoid
279
+ rake "db:migrate"
280
+ end
281
+
282
+ run 'rails r "User.generate_first_admin_user"'
283
+
284
+ remove_file 'app/assets/stylesheets/application.css'
285
+ remove_file 'app/assets/javascripts/application.js'
286
+ generate "hancock:cms:assets", app_name
287
+
288
+ remove_file 'public/robots.txt'
289
+ generate "hancock:cms:robots", app_name
290
+
291
+ #god+unicorn
292
+ generate "hancock:cms:unicorn_god", app_name
293
+ #scripts
294
+ generate "hancock:cms:scripts", app_name
295
+
296
+ FileUtils.cp(Pathname.new(destination_root).join('config', 'secrets.yml').to_s, Pathname.new(destination_root).join('config', 'secrets.yml.example').to_s)
297
+
298
+ unless mongoid
299
+ generate "paper_trail:install"
300
+ generate "friendly_id"
301
+ rake "db:migrate"
302
+ end
303
+
304
+ generate "rspec:install"
305
+
306
+
307
+ ####### GIT #######
308
+
309
+ remove_file '.gitignore'
310
+ create_file '.gitignore' do <<-TEXT
311
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
312
+ #
313
+ # If you find yourself ignoring temporary files generated by your text editor
314
+ # or operating system, you probably want to add a global ignore instead:
315
+ # git config --global core.excludesfile '~/.gitignore_global'
316
+ .idea
317
+ .idea/*
318
+ /.bundle
319
+ /log/*.log
320
+ /tmp/*
321
+ /public/assets
322
+ /public/ckeditor_assets
323
+ Gemfile.lock
324
+ TEXT
325
+ end
326
+
327
+ create_file 'extra/.gitkeep', ''
328
+
329
+ git :init
330
+ git add: "."
331
+ git commit: %Q{ -m 'Initial commit' }
332
+
333
+ end
334
+
335
+ def mongoid
336
+ defined? Mongoid
337
+ end
338
+
339
+ def app_name
340
+ Rails.application.class.parent_name
341
+ end
342
+
343
+ end
344
+ end
@@ -1,5 +1,5 @@
1
1
  #= require hancock/cms
2
2
 
3
- #= require_tree hancock/app
3
+ #= require hancock/app/back_to_top
4
4
 
5
5
  # require_tree ./app
@@ -27,4 +27,6 @@ Hancock.configure do |config|
27
27
  # config.registration_captcha = config.admin_enter_captcha
28
28
  #
29
29
  # config.captcha_on_development = false
30
+ #
31
+ # config.history_tracking = false
30
32
  end
@@ -3,8 +3,11 @@ module Hancock
3
3
  module EmbeddedElement
4
4
  def self.config(nav_label = nil, fields = {})
5
5
  if nav_label.is_a?(Hash)
6
+ nav_label, fields = nav_label[:nav_label], nav_label
7
+ elsif nav_label.is_a?(Array)
6
8
  nav_label, fields = nil, nav_label
7
9
  end
10
+
8
11
  Proc.new {
9
12
  navigation_label(nav_label || I18n.t('hancock.cms'))
10
13
  field :enabled, :toggle do
@@ -27,6 +27,8 @@ module Hancock
27
27
 
28
28
  attr_accessor :captcha_on_development
29
29
 
30
+ attr_accessor :history_tracking
31
+
30
32
  def initialize
31
33
  @main_index_layout = 'application'
32
34
  @error_layout = 'application'
@@ -43,6 +45,8 @@ module Hancock
43
45
  @registration_captcha = @admin_enter_captcha
44
46
 
45
47
  @captcha_on_development = false
48
+
49
+ @history_tracking = false
46
50
  end
47
51
  end
48
52
  end
@@ -10,39 +10,43 @@ module Hancock
10
10
  # Write default email settings to DB so they can be changed.
11
11
 
12
12
  #temp
13
- # begin
14
- # if Settings and Settings.table_exists?
13
+ begin
14
+ if Settings and Settings.table_exists?
15
15
  # Settings.default_email_from(default: 'noreply@site.domain')
16
16
  # Settings.form_email(default: 'admin@site.domain')
17
17
  # Settings.email_topic(default: 'с сайта')
18
- # end
19
- # rescue
20
- # end
21
- end
22
- initializer 'hancock_cms.paperclip' do
23
- # require 'paperclip/style'
24
- # module ::Paperclip
25
- # class Style
26
- # alias_method :processor_options_without_auto_orient, :processor_options
27
- # def processor_options
28
- # processor_options_without_auto_orient.merge(auto_orient: false)
29
- # end
30
- # end
31
- # end
18
+ Settings.logo_image(kind: :image)
19
+ end
20
+ rescue
21
+ end
32
22
  end
23
+ # initializer 'hancock_cms.paperclip' do
24
+ # # require 'paperclip/style'
25
+ # # module ::Paperclip
26
+ # # class Style
27
+ # # alias_method :processor_options_without_auto_orient, :processor_options
28
+ # # def processor_options
29
+ # # processor_options_without_auto_orient.merge(auto_orient: false)
30
+ # # end
31
+ # # end
32
+ # # end
33
+ # end
33
34
 
34
- config.after_initialize do
35
- # trigger autoload so models are registered in Mongoid::Elasticearch
36
- # Hancock.config.search_models.map(&:constantize)
35
+ # config.after_initialize do
36
+ # # trigger autoload so models are registered in Mongoid::Elasticearch
37
+ # # Hancock.config.search_models.map(&:constantize)
38
+ #
39
+ # # Write default email settings to DB so they can be changed.
40
+ # begin
41
+ # if Settings and Settings.table_exists?
42
+ # # Settings.default_email_from(default: 'noreply@site.domain')
43
+ # # Settings.form_email(default: 'admin@site.domain')
44
+ # # Settings.email_topic(default: 'с сайта')
45
+ # Settings.logo_image(kind: :image)
46
+ # end
47
+ # rescue
48
+ # end
49
+ # end
37
50
 
38
- # Write default email settings to DB so they can be changed.
39
- if Settings and Settings.table_exists?
40
- # Settings.default_email_from(default: 'noreply@site.domain')
41
- # Settings.form_email(default: 'admin@site.domain')
42
- # Settings.email_topic(default: 'с сайта')
43
- #
44
- Settings.logo_image(kind: :image)
45
- end
46
- end
47
51
  end
48
52
  end
data/lib/hancock/model.rb CHANGED
@@ -22,11 +22,13 @@ module Hancock
22
22
  include RailsAdminComments::ModelCommentable
23
23
  end
24
24
 
25
- if Hancock.mongoid?
26
- if defined?(TrackablePatch)
27
- include TrackablePatch
28
- elsif defined?(Trackable)
29
- include Trackable
25
+ if Hancock.config.history_tracking
26
+ if Hancock.mongoid?
27
+ if defined?(TrackablePatch)
28
+ include TrackablePatch
29
+ elsif defined?(Trackable)
30
+ include Trackable
31
+ end
30
32
  end
31
33
  end
32
34
 
@@ -4,10 +4,12 @@ module Hancock
4
4
  module EmbeddedElement
5
5
  extend ActiveSupport::Concern
6
6
 
7
+ include Hancock::EmbeddedFindable
8
+
7
9
  included do
8
10
  field :name, type: String, localize: Hancock.configuration.localize, default: ""
9
11
  end
10
-
12
+
11
13
  end
12
14
  end
13
15
  end
@@ -84,19 +84,23 @@ module Hancock
84
84
  if rails_admin_actions.respond_to?(action)
85
85
  rails_admin_actions.send(action) do
86
86
  visible do
87
- ret = false
88
- if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
89
- ret = bindings[:abstract_model].model.rails_admin_visible_actions.include?(action)
87
+ if !bindings or bindings[:abstract_model].blank?
88
+ true
90
89
  else
91
- if visibility = Hancock.rails_admin_config.actions_visibility[action]
92
- if visibility.is_a?(Proc)
93
- ret = visibility.call(self)
94
- else
95
- ret = visibility.include? bindings[:abstract_model].model_name
90
+ ret = false
91
+ if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
92
+ ret = bindings[:abstract_model].model.rails_admin_visible_actions.include?(action)
93
+ else
94
+ if visibility = Hancock.rails_admin_config.actions_visibility[action]
95
+ if visibility.is_a?(Proc)
96
+ ret = visibility.call(self)
97
+ else
98
+ ret = visibility.include? bindings[:abstract_model].model_name
99
+ end
96
100
  end
97
- end
98
- end # if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
99
- ret
101
+ end # if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
102
+ ret
103
+ end # !bindings or bindings[:abstract_model].blank?
100
104
  end # visible do
101
105
  end # rails_admin_actions.send(action) do
102
106
  end # if rails_admin_actions.respond_to?(action)
@@ -1,3 +1,3 @@
1
1
  module Hancock
2
- VERSION = "2.0.0".freeze
2
+ VERSION = "2.0.0.1".freeze
3
3
  end
data/template.rb CHANGED
@@ -28,10 +28,8 @@ gem 'sass-rails', '~> 5.0'
28
28
  gem 'compass'
29
29
  gem 'compass-rails'
30
30
 
31
- gem 'remotipart', github: 'mshibuya/remotipart'
32
- gem 'rails_admin', '>= 1.0.0.rc'
33
- # #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}, github: 'red-rocks/hancock_cms', branch: 'rails5'
34
- #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}, path: "/home/ack/www/redrocks/hancock"
31
+ gem 'rails_admin', '~> 1.1'
32
+
35
33
 
36
34
  # #{if mongoid then "gem 'glebtv-mongoid-paperclip'" else "gem 'paperclip'" end}
37
35
  # gem "image_optim"
@@ -39,10 +37,16 @@ gem 'rails_admin', '>= 1.0.0.rc'
39
37
  # gem 'ack-paperclip-meta', github: "red-rocks/paperclip-meta"
40
38
 
41
39
  # gem 'rails_admin_multiple_file_upload'
40
+ gem 'rails_admin_user_abilities', '~> 0.2.0'
42
41
  # gem 'rails_admin_user_abilities', github: "red-rocks/rails_admin_user_abilities"
42
+ gem 'rails_admin_model_settings', '~> 0.3.0'
43
43
  # gem 'rails_admin_model_settings', github: "red-rocks/rails_admin_model_settings"
44
44
 
45
- gem 'devise'
45
+ # #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}, github: 'red-rocks/hancock_cms', branch: 'rails5'
46
+ #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}, path: "/home/ack/www/redrocks/hancock"
47
+
48
+ # gem 'recaptcha', require: 'recaptcha/rails'
49
+ # gem 'glebtv-simple_captcha'
46
50
 
47
51
  gem 'slim-rails'
48
52
  gem 'rs_russian'
@@ -66,7 +70,8 @@ group :development do
66
70
  gem 'spring'
67
71
  gem 'spring-watcher-listen', '~> 2.0.0'
68
72
 
69
- gem 'ack_favicon_maker_rails', github: 'ack43/favicon_maker_rails'
73
+ gem 'ack_favicon_maker_rails', '~> 1.0.1'
74
+ # gem 'ack_favicon_maker_rails', github: 'ack43/favicon_maker_rails'
70
75
 
71
76
  # gem 'rails_email_preview', '~> 1.0.3'
72
77
 
@@ -99,25 +104,24 @@ group :development, :test do
99
104
  gem 'byebug', platform: :mri
100
105
  end
101
106
 
102
- gem 'glebtv_mongoid_userstamp', '0.7.0'
103
-
104
107
  # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
105
108
  gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
106
109
 
107
110
  group :production do
108
111
  gem "god"
109
112
  end
113
+
114
+ gem 'glebtv_mongoid_userstamp', '0.7.0'
110
115
  TEXT
111
116
  end
112
117
 
113
- RVM_RUBY_VERSION = "2.4.0-preview1"
118
+ RVM_RUBY_VERSION = "2.3.3"#"2.4.0-preview1"
114
119
  create_file '.ruby-version', "#{RVM_RUBY_VERSION}\n"
115
120
  create_file '.ruby-gemset', "#{app_name.underscore}\n"
116
- # run "rvm use #{RVM_RUBY_VERSION} && rvm gemset create #{app_name}"
117
- # run "rvm use #{RVM_RUBY_VERSION}@#{app_name} && gem install bundler"
118
- # run "rvm gemset list"
119
- run 'bundle install --without production'
120
121
 
122
+ run "rvm #{RVM_RUBY_VERSION} do rvm gemset create #{app_name.underscore}"
123
+ run "rvm #{RVM_RUBY_VERSION}@#{app_name.underscore} do gem install bundler"
124
+ run "rvm #{RVM_RUBY_VERSION}@#{app_name.underscore} do bundle install --without production"
121
125
 
122
126
  ####### CONFIG #######
123
127
 
@@ -232,346 +236,3 @@ module #{app_name.underscore.camelcase}
232
236
  end
233
237
  TEXT
234
238
  end
235
-
236
-
237
- ####### DEVISE #######
238
-
239
- generate "devise:install"
240
- gsub_file 'config/initializers/devise.rb', "'please-change-me-at-config-initializers-devise@example.com'", "'noreply@#{app_name.dasherize.downcase}.ru'"
241
- inject_into_file 'config/initializers/devise.rb', after: /^end/ do <<-TEXT
242
- Rails.application.config.to_prepare do
243
- Devise::SessionsController.layout "hancock/devise/sessions"
244
- Devise::RegistrationsController.layout "hancock/devise/registrations"
245
- Devise::ConfirmationsController.layout "hancock/devise/confirmations"
246
- Devise::UnlocksController.layout "hancock/devise/unlocks"
247
- Devise::PasswordsController.layout "hancock/devise/passwords"
248
- end
249
- TEXT
250
- end
251
-
252
- generate "devise", "User"
253
-
254
-
255
- ####### ROUTES #######
256
-
257
- remove_file 'config/routes.rb'
258
- create_file 'config/routes.rb' do <<-TEXT
259
- Rails.application.routes.draw do
260
- devise_for :users, controllers: {sessions: 'hancock/sessions'}
261
-
262
- mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
263
- mount Ckeditor::Engine => '/ckeditor'
264
-
265
- hancock_cms_routes
266
- end
267
- TEXT
268
- end
269
-
270
-
271
- ####### INITIALIZERS #######
272
-
273
- inject_into_file 'config/initializers/assets.rb', before: /\z/ do <<-TEXT
274
- Rails.application.config.assets.precompile += %w( *.svg )
275
- Rails.application.config.assets.precompile += %w( ckeditor/* )
276
- Rails.application.config.assets.precompile += %w( codemirror.js codemirror.css codemirror/**/* )
277
- TEXT
278
- end
279
-
280
- gsub_file 'config/initializers/backtrace_silencers.rb',
281
- "# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }",
282
- "Rails.backtrace_cleaner.add_silencer { |line| line =~ /lib\\/(haml|slim|sass|scss|coffee|compass)/ }"
283
-
284
- if mongoid
285
- generate "ckeditor:install", "--orm=mongoid", "--backend=paperclip"
286
- else
287
- generate "ckeditor:install", "--orm=active_record", "--backend=paperclip"
288
- end
289
- gsub_file 'config/initializers/ckeditor.rb', "# config.image_file_types = %w(jpg jpeg png gif tiff)", "config.image_file_types = %w(jpg jpeg png gif tiff svg)"
290
- gsub_file 'config/initializers/ckeditor.rb', "# config.authorize_with :cancan", "config.authorize_with :cancancan"
291
- gsub_file 'config/initializers/ckeditor.rb', "# config.assets_languages = ['en', 'uk']", "config.assets_languages = ['en', 'ru']"
292
-
293
- if mongoid
294
- remove_file 'config/initializers/cookies_serializer.rb'
295
- create_file 'config/initializers/cookies_serializer.rb' do <<-TEXT
296
- # Be sure to restart your server when you modify this file.
297
- # json serializer breaks Devise + Mongoid. DO NOT ENABLE
298
- # See https://github.com/plataformatec/devise/pull/2882
299
- # Rails.application.config.action_dispatch.cookies_serializer = :json
300
- Rails.application.config.action_dispatch.cookies_serializer = :marshal
301
- TEXT
302
- end
303
- end
304
-
305
- gsub_file 'config/initializers/filter_parameter_logging.rb', "[:password]", "[:password, :password_confirmation]"
306
-
307
- # generate 'paperclip_optimizer:install'
308
- # remove_file 'config/initializers/paperclip_optimizer.rb'
309
- # generate "hancock:cms:paperclip_optimizer"
310
-
311
- # generate 'rails_email_preview:install'
312
- # remove_file 'app/mailer_previews/contact_mailer_preview.rb'
313
- # create_file 'app/mailer_previews/contact_mailer_preview.rb' do <<-TEXT
314
- # class ContactMailerPreview
315
- # def new_message_email
316
- # Hancock::Feedback::ContactMailer.new_message_email(Hancock::Feedback::ContactMessage.all.to_a.sample)
317
- # end
318
- # end
319
- # TEXT
320
- # end
321
-
322
- generate "hancock:cms:config"
323
-
324
- generate "hancock:cms:rack"
325
-
326
- generate "hancock:cms:admin"
327
-
328
- remove_file 'config/initializers/session_store.rb'
329
- if mongoid
330
- create_file 'config/initializers/session_store.rb' do <<-TEXT
331
- # Be sure to restart your server when you modify this file.
332
-
333
- #Rails.application.config.session_store :cookie_store, key: '_#{app_name.tableize.singularize}_session'
334
- Rails.application.config.session_store :mongoid_store
335
- TEXT
336
- end
337
- else
338
- generate 'active_record_store:session_migration'
339
- create_file 'config/initializers/session_store.rb' do <<-TEXT
340
- # Be sure to restart your server when you modify this file.
341
-
342
- #Rails.application.config.session_store :cookie_store, key: '_#{app_name.tableize.singularize}_session'
343
- Rails.application.config.session_store :active_record_store
344
- TEXT
345
- end
346
- end
347
-
348
- # unless mongoid
349
- # generate 'simple_captcha'
350
- # end
351
-
352
- generate "simple_form:install"
353
-
354
-
355
- ####### CONTROLLERS #######
356
-
357
- remove_file 'app/controllers/application_controller.rb'
358
- create_file 'app/controllers/application_controller.rb' do <<-TEXT
359
- class ApplicationController < ActionController::Base
360
- include Hancock::Controller
361
- end
362
- TEXT
363
- end
364
-
365
-
366
- ####### MODELS #######
367
-
368
- generate "hancock:cms:ability"
369
-
370
- gsub_file 'app/models/user.rb', '# :confirmable, :lockable, :timeoutable and :omniauthable' do <<-TEXT
371
- include Hancock::Model
372
- include Hancock::Enableable
373
- include Hancock::RailsAdminPatch
374
- def self.manager_can_default_actions
375
- [:show, :read]
376
- end
377
- def manager_cannot_actions
378
- [:new, :create, :delete, :destroy]
379
- end
380
-
381
- cattr_accessor :current_user
382
-
383
- # Include default devise modules. Others available are:
384
- # :confirmable, :lockable, :timeoutable and :omniauthable
385
- TEXT
386
- end
387
-
388
- gsub_file 'app/models/user.rb', ':registerable,', ' :lockable,'
389
- if mongoid
390
- gsub_file 'app/models/user.rb', '# field :failed_attempts', 'field :failed_attempts'
391
- gsub_file 'app/models/user.rb', '# field :unlock_token', 'field :unlock_token'
392
- gsub_file 'app/models/user.rb', '# field :locked_at', 'field :locked_at'
393
-
394
- inject_into_file 'app/models/user.rb', before: /^end/ do <<-TEXT
395
-
396
- field :name, type: String
397
- field :login, type: String
398
- field :roles, type: Array, default: []
399
-
400
- before_save do
401
- self.roles ||= []
402
- self.roles.reject! { |r| r.blank? }
403
- end
404
-
405
- AVAILABLE_ROLES = ["admin", "manager", "client"]
406
-
407
- AVAILABLE_ROLES.each do |r|
408
- class_eval <<-EVAL
409
- def \#{r}?
410
- self.roles and self.roles.include?("\#{r}")
411
- end
412
-
413
- scope :\#{r.pluralize}, -> { any_in(roles: "\#{r}") }
414
- EVAL
415
- end
416
-
417
- def self.generate_first_admin_user
418
- if ::User.admins.all.count == 0
419
- _email_pass = 'admin@#{app_name.dasherize.downcase}.ru'
420
- if ::User.new(roles: ["admin"], email: _email_pass, password: _email_pass, password_confirmation: _email_pass).save
421
- puts "AdminUser with email and password '\#{_email_pass}' was created!"
422
- else
423
- puts 'Creating AdminUser error'
424
- end
425
- else
426
- puts 'AdminUsers are here already'
427
- end
428
- end
429
-
430
- def self.generate_first_manager_user
431
- if ::User.managers.all.count == 0
432
- _email_pass = 'manager@#{app_name.dasherize.downcase}.ru'
433
- if ::User.create(roles: ["manager"], email: _email_pass, password: _email_pass, password_confirmation: _email_pass)
434
- puts "ManagerUser with email and password '\#{_email_pass}' was created!"
435
- else
436
- puts 'Creating ManagerUser error'
437
- end
438
- else
439
- puts 'ManagerUsers are here already'
440
- end
441
- end
442
-
443
- rails_admin do
444
- list do
445
- field :email
446
- field :name
447
- field :login
448
- field :roles do
449
- pretty_value do
450
- render_object = (bindings[:controller] || bindings[:view])
451
- render_object.content_tag(:p, bindings[:object].roles.join(", ")) if render_object
452
- end
453
- end
454
- end
455
-
456
- edit do
457
- group :login do
458
- active false
459
- field :email, :string do
460
- visible do
461
- render_object = (bindings[:controller] || bindings[:view])
462
- render_object and (render_object.current_user.admin? or (render_object.current_user.manager? and render_object.current_user == bindings[:object]))
463
- end
464
- end
465
- field :name, :string
466
- field :login, :string do
467
- visible do
468
- render_object = (bindings[:controller] || bindings[:view])
469
- render_object and render_object.current_user.admin?
470
- end
471
- end
472
- end
473
-
474
- group :roles do
475
- active false
476
- field :roles, :enum do
477
- enum do
478
- AVAILABLE_ROLES
479
- end
480
-
481
- multiple do
482
- true
483
- end
484
-
485
- visible do
486
- render_object = (bindings[:controller] || bindings[:view])
487
- render_object and render_object.current_user.admin?
488
- end
489
- end
490
- end
491
-
492
- group :password do
493
- active false
494
- field :password do
495
- visible do
496
- render_object = (bindings[:controller] || bindings[:view])
497
- render_object and (render_object.current_user.admin? or render_object.current_user == bindings[:object])
498
- end
499
- end
500
- field :password_confirmation do
501
- visible do
502
- render_object = (bindings[:controller] || bindings[:view])
503
- render_object and (render_object.current_user.admin? or render_object.current_user == bindings[:object])
504
- end
505
- end
506
- end
507
- end
508
-
509
- end
510
- TEXT
511
- end
512
- end
513
-
514
-
515
- ###### HANCOCK OTHERS ######
516
-
517
- unless mongoid
518
- generate "hancock:cms:migration"
519
- generate "rails_admin_settings:migration"
520
- end
521
-
522
- remove_file 'app/views/layouts/application.html.erb'
523
- generate "hancock:cms:layout"
524
-
525
- unless mongoid
526
- rake "db:migrate"
527
- end
528
-
529
- remove_file 'app/assets/stylesheets/application.css'
530
- remove_file 'app/assets/javascripts/application.js'
531
- generate "hancock:cms:assets", app_name
532
-
533
- remove_file 'public/robots.txt'
534
- generate "hancock:cms:robots", app_name
535
-
536
- #god+unicorn
537
- generate "hancock:cms:unicorn_god", app_name
538
- #scripts
539
- generate "hancock:cms:scripts", app_name
540
-
541
- FileUtils.cp(Pathname.new(destination_root).join('config', 'secrets.yml').to_s, Pathname.new(destination_root).join('config', 'secrets.yml.example').to_s)
542
-
543
- unless mongoid
544
- generate "paper_trail:install"
545
- generate "friendly_id"
546
- rake "db:migrate"
547
- end
548
-
549
- generate "rspec:install"
550
-
551
-
552
- ####### GIT #######
553
-
554
- remove_file '.gitignore'
555
- create_file '.gitignore' do <<-TEXT
556
- # See https://help.github.com/articles/ignoring-files for more about ignoring files.
557
- #
558
- # If you find yourself ignoring temporary files generated by your text editor
559
- # or operating system, you probably want to add a global ignore instead:
560
- # git config --global core.excludesfile '~/.gitignore_global'
561
- .idea
562
- .idea/*
563
-
564
- /.bundle
565
- /log/*.log
566
- /tmp/*
567
- /public/assets
568
- /public/ckeditor_assets
569
- Gemfile.lock
570
- TEXT
571
- end
572
-
573
- create_file 'extra/.gitkeep', ''
574
-
575
- git :init
576
- git add: "."
577
- git commit: %Q{ -m 'Initial commit' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hancock_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kiseliev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-18 00:00:00.000000000 Z
11
+ date: 2016-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -188,16 +188,16 @@ dependencies:
188
188
  name: ack_rails_admin_settings
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - ">="
191
+ - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '0'
193
+ version: '1.2'
194
194
  type: :runtime
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - ">="
198
+ - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: '0'
200
+ version: '1.2'
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: kaminari
203
203
  requirement: !ruby/object:Gem::Requirement
@@ -293,6 +293,7 @@ files:
293
293
  - app/models/concerns/hancock/boolean_field.rb
294
294
  - app/models/concerns/hancock/cacheable.rb
295
295
  - app/models/concerns/hancock/decorators/embedded_element.rb
296
+ - app/models/concerns/hancock/embedded_findable.rb
296
297
  - app/models/concerns/hancock/enableable.rb
297
298
  - app/models/concerns/hancock/geocodeable.rb
298
299
  - app/models/concerns/hancock/hash_field.rb
@@ -342,7 +343,6 @@ files:
342
343
  - app/views/rails_admin/main/_hancock_html_ml.html.slim
343
344
  - app/views/shared/_admin_link.html.slim
344
345
  - app/views/shared/_messages.html.slim
345
- - config/initializers/embedded_findable.rb
346
346
  - config/initializers/hancock_cms.rb
347
347
  - config/initializers/simple_captcha.rb
348
348
  - config/locales/en.hancock.yml
@@ -371,12 +371,14 @@ files:
371
371
  - lib/generators/hancock/cms/rack_generator.rb
372
372
  - lib/generators/hancock/cms/robots_generator.rb
373
373
  - lib/generators/hancock/cms/scripts_generator.rb
374
+ - lib/generators/hancock/cms/setup_generator.rb
374
375
  - lib/generators/hancock/cms/templates/Gemfile.erb
375
376
  - lib/generators/hancock/cms/templates/ability.erb
376
377
  - lib/generators/hancock/cms/templates/admin.erb
377
378
  - lib/generators/hancock/cms/templates/application.erb
378
379
  - lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb
379
380
  - lib/generators/hancock/cms/templates/assets/stylesheets/application.sass.erb
381
+ - lib/generators/hancock/cms/templates/assets/stylesheets/hancock/rails_admin/custom/theming.sass.erb
380
382
  - lib/generators/hancock/cms/templates/hancock_cms.erb
381
383
  - lib/generators/hancock/cms/templates/model.erb
382
384
  - lib/generators/hancock/cms/templates/paperclip_optimizer.erb
@@ -447,7 +449,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
447
449
  version: '0'
448
450
  requirements: []
449
451
  rubyforge_project:
450
- rubygems_version: 2.6.4
452
+ rubygems_version: 2.5.1
451
453
  signing_key:
452
454
  specification_version: 4
453
455
  summary: Please DO NOT use this gem directly, use hancock_cms_mongoid or hancock_cms_activerecord