beautiful_scaffold 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +11 -0
- data/README.rdoc +5 -5
- data/beautiful_scaffold.gemspec +1 -1
- data/lib/generators/beautiful_migration_generator.rb +5 -1
- data/lib/generators/beautiful_scaffold_common_methods.rb +1 -3
- data/lib/generators/beautiful_scaffold_generator.rb +37 -30
- data/lib/generators/templates/app/assets/javascripts/application-bs.js +1 -1
- data/lib/generators/templates/app/assets/javascripts/beautiful_scaffold.js +1 -1
- data/lib/generators/templates/app/assets/stylesheets/application-bs.css +1 -1
- data/lib/generators/templates/app/models/concerns/caption_concern.rb +8 -0
- data/lib/generators/templates/app/models/concerns/default_sorting_concern.rb +15 -0
- data/lib/generators/templates/{modules/beautiful_scaffold_module.rb → app/models/concerns/fulltext_concern.rb} +32 -4
- metadata +8 -6
data/CHANGELOG
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
== 0.3.5
|
2
|
+
|
3
|
+
* enhancement
|
4
|
+
* Option to avoid to add bad gem for the rails app.
|
5
|
+
* Add concern to models
|
6
|
+
* Add concern for the routes
|
7
|
+
|
8
|
+
* bugfix
|
9
|
+
* Change symbol into string (access session)
|
10
|
+
* Table Checkbox (All checkbox bugfix)
|
11
|
+
|
1
12
|
== 0.3.4
|
2
13
|
|
3
14
|
* bugfix
|
data/README.rdoc
CHANGED
@@ -7,15 +7,15 @@ Demo : http://demo.beautiful-scaffold.com/
|
|
7
7
|
|
8
8
|
== Install
|
9
9
|
|
10
|
-
=== RubyOnRails
|
10
|
+
=== RubyOnRails 4.1
|
11
11
|
|
12
12
|
Add this in your Gemfile :
|
13
|
-
gem 'beautiful_scaffold', '0.
|
13
|
+
gem 'beautiful_scaffold', '0.3.4'
|
14
14
|
|
15
|
-
=== RubyOnRails 4.
|
15
|
+
=== RubyOnRails 4.2
|
16
16
|
|
17
17
|
Add this in your Gemfile :
|
18
|
-
gem 'beautiful_scaffold', '
|
18
|
+
gem 'beautiful_scaffold', '0.3.5'
|
19
19
|
|
20
20
|
=== Next
|
21
21
|
|
@@ -26,7 +26,7 @@ bundle install
|
|
26
26
|
|
27
27
|
=== Scaffold
|
28
28
|
|
29
|
-
rails generate beautiful_scaffold model attr:type attr:type... [--namespace=name]
|
29
|
+
rails generate beautiful_scaffold model attr:type attr:type... [--namespace=name] [--donttouchgem=name]
|
30
30
|
|
31
31
|
type available :
|
32
32
|
* integer
|
data/beautiful_scaffold.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "beautiful_scaffold"
|
6
|
-
s.version = "0.3.
|
6
|
+
s.version = "0.3.5"
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.summary = "Beautiful Scaffold generate fully customizable scaffold"
|
9
9
|
s.email = "claudel.sylvain@gmail.com"
|
@@ -9,10 +9,14 @@ class BeautifulMigrationGenerator < Rails::Generators::Base
|
|
9
9
|
|
10
10
|
argument :name, :type => :string, :desc => "Name of the migration CamelCase AddXxxToYyy (Yyy must be plural)"
|
11
11
|
argument :myattributes, :type => :array, :default => [], :banner => "field:type field:type (for bt relation model:references)"
|
12
|
+
|
12
13
|
class_option :namespace, :default => nil
|
14
|
+
class_option :donttouchgem, :default => nil
|
13
15
|
|
14
16
|
def install_gems
|
15
|
-
|
17
|
+
if options[:donttouchgem].blank? then
|
18
|
+
require_gems
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
22
|
def add_field_for_fulltext
|
@@ -156,12 +156,10 @@ module BeautifulScaffoldCommonMethods
|
|
156
156
|
end
|
157
157
|
|
158
158
|
def require_gems
|
159
|
-
# for jquery-ui add "2.3.0" version for jquery-rails
|
160
|
-
#say_status("Warning", "Set 2.0.1 version for jquery-rails (for a good compatibility with beautiful_scaffold)", :yellow)
|
161
159
|
|
162
160
|
gem('less-rails', :github => "CQQL/less-rails", :branch => 'less-2.5')
|
163
161
|
gem('will_paginate')
|
164
|
-
gem('ransack', :github => 'activerecord-hackery/ransack', :branch => 'rails-4.
|
162
|
+
gem('ransack', :github => 'activerecord-hackery/ransack', :branch => 'rails-4.2')
|
165
163
|
gem('polyamorous', :github => 'activerecord-hackery/polyamorous')
|
166
164
|
gem('jquery-ui-rails')
|
167
165
|
gem('prawn', '1.0.0')
|
@@ -17,9 +17,13 @@ class BeautifulScaffoldGenerator < Rails::Generators::Base
|
|
17
17
|
argument :myattributes, :type => :array, :default => [], :banner => "field:type field:type"
|
18
18
|
|
19
19
|
class_option :namespace, :default => nil
|
20
|
+
class_option :donttouchgem, :default => nil
|
20
21
|
|
21
22
|
def install_gems
|
22
|
-
|
23
|
+
if options[:donttouchgem].blank? then
|
24
|
+
require_gems
|
25
|
+
end
|
26
|
+
|
23
27
|
#inside Rails.root do # Bug ?!
|
24
28
|
Bundler.with_clean_env do
|
25
29
|
run "bundle install"
|
@@ -127,38 +131,23 @@ class BeautifulScaffoldGenerator < Rails::Generators::Base
|
|
127
131
|
|
128
132
|
def generate_model
|
129
133
|
generate("model", "#{model} #{beautiful_attr_to_rails_attr.join(' ')} #{@fulltext_field.join(' ')}")
|
130
|
-
|
131
|
-
inject_into_file("app/models/#{model}.rb",'
|
132
|
-
scope :sorting, lambda{ |options|
|
133
|
-
attribute = options[:attribute]
|
134
|
-
direction = options[:sorting]
|
135
134
|
|
136
|
-
|
137
|
-
direction ||= "DESC"
|
135
|
+
directory "app/models/concerns", "app/models/concerns"
|
138
136
|
|
139
|
-
|
140
|
-
}
|
141
|
-
|
142
|
-
include BeautifulScaffoldModule
|
143
|
-
before_save :fulltext_field_processing
|
137
|
+
inject_into_file("app/models/#{model}.rb",'
|
144
138
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
end
|
139
|
+
include DefaultSortingConcern
|
140
|
+
include FulltextConcern
|
141
|
+
include CaptionConcern
|
149
142
|
|
150
|
-
|
151
|
-
|
152
|
-
generate_fulltext_field([' + fulltext_attribute.map{ |e| ('"' + e + '"') }.join(",") + '])
|
143
|
+
cattr_accessor :fulltext_fields do
|
144
|
+
[' + fulltext_attribute.map{ |e| ('"' + e + '"') }.join(",") + ']
|
153
145
|
end
|
154
146
|
|
155
147
|
def self.permitted_attributes
|
156
148
|
return ' + attributes_without_type.map{ |attr| ":#{attr}" }.join(",") + '
|
157
149
|
end', :after => "class #{model_camelize} < ActiveRecord::Base")
|
158
150
|
|
159
|
-
inject_into_file("config/application.rb", ' config.autoload_paths += %W(#{config.root}/app/modules)' + "\n", :after => "< Rails::Application\n")
|
160
|
-
|
161
|
-
directory "modules", "app/modules"
|
162
151
|
copy_file "app/models/pdf_report.rb", "app/models/pdf_report.rb"
|
163
152
|
end
|
164
153
|
|
@@ -216,18 +205,36 @@ class BeautifulScaffoldGenerator < Rails::Generators::Base
|
|
216
205
|
routes_in_text = File.read("config/routes.rb")
|
217
206
|
|
218
207
|
if not routes_in_text[/beautiful#dashboard/] and not routes_in_text[/beautiful#select_fields/] then
|
219
|
-
|
220
|
-
myroute
|
208
|
+
|
209
|
+
myroute = <<EOF
|
210
|
+
root :to => 'beautiful#dashboard'
|
211
|
+
match ':model_sym/select_fields' => 'beautiful#select_fields', :via => [:get, :post]
|
212
|
+
|
213
|
+
concern :bs_routes do
|
214
|
+
collection do
|
215
|
+
post :batch
|
216
|
+
get :treeview
|
217
|
+
match :search_and_filter, :action => :index, :as => :search, :via => [:get, :post]
|
218
|
+
end
|
219
|
+
member do
|
220
|
+
post :treeview_update
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
# Add route with concerns: :bs_routes here # Do not remove
|
225
|
+
EOF
|
226
|
+
|
221
227
|
route(myroute)
|
222
228
|
end
|
223
229
|
|
224
230
|
search_namespace = namespace_alone + "/" if not namespace_alone.blank?
|
225
231
|
search_namespace ||= ""
|
226
232
|
|
227
|
-
myroute =
|
228
|
-
myroute += "namespace :#{namespace_alone} do\n
|
229
|
-
myroute += "resources :#{model_pluralize}
|
230
|
-
myroute += "end\n"
|
231
|
-
|
233
|
+
myroute = "\n "
|
234
|
+
myroute += "namespace :#{namespace_alone} do\n " if not namespace_alone.blank?
|
235
|
+
myroute += "resources :#{model_pluralize}, concerns: :bs_routes\n "
|
236
|
+
myroute += "end\n" if not namespace_alone.blank?
|
237
|
+
|
238
|
+
inject_into_file("config/routes.rb", myroute, :after => ":bs_routes here # Do not remove")
|
232
239
|
end
|
233
240
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module DefaultSortingConcern
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
included do
|
5
|
+
scope :sorting, lambda{ |options|
|
6
|
+
attribute = options[:attribute]
|
7
|
+
direction = options[:sorting]
|
8
|
+
|
9
|
+
attribute ||= "id"
|
10
|
+
direction ||= "DESC"
|
11
|
+
|
12
|
+
order("#{attribute} #{direction}")
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
@@ -1,11 +1,33 @@
|
|
1
|
-
module
|
2
|
-
|
1
|
+
module FulltextConcern
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
included do
|
5
|
+
#########################
|
6
|
+
#
|
7
|
+
# Scopes
|
8
|
+
# Relations
|
9
|
+
# Filter
|
10
|
+
#...
|
11
|
+
#########################
|
12
|
+
before_save :fulltext_field_processing
|
13
|
+
end
|
14
|
+
|
15
|
+
#########################
|
16
|
+
# Méthode d'instance
|
17
|
+
#########################
|
18
|
+
def fulltext_field_processing
|
19
|
+
# You can preparse with own things here
|
20
|
+
generate_fulltext_field
|
21
|
+
end
|
22
|
+
|
23
|
+
def generate_fulltext_field
|
24
|
+
fields = (self.class.fulltext_fields || [])
|
3
25
|
fields.each{ |f|
|
4
26
|
html, clear = htmlize(self[f], self[f + '_typetext'])
|
5
27
|
self[f + '_fulltext'] = clear
|
6
28
|
}
|
7
29
|
end
|
8
|
-
|
30
|
+
|
9
31
|
def htmlize(text, type)
|
10
32
|
case type
|
11
33
|
when 'bbcode' then
|
@@ -25,4 +47,10 @@ module BeautifulScaffoldModule
|
|
25
47
|
end
|
26
48
|
return html, Sanitize.clean(html)
|
27
49
|
end
|
28
|
-
|
50
|
+
|
51
|
+
class_methods do
|
52
|
+
#########################
|
53
|
+
# Méthode de Class
|
54
|
+
#########################
|
55
|
+
end
|
56
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beautiful_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sylvain Claudel
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2015-03-20 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Beautiful Scaffold generate a complete scaffold (sort, export, paginate and filter data) http://www.beautiful-scaffold.com
|
@@ -79,6 +79,9 @@ files:
|
|
79
79
|
- lib/generators/templates/app/initializers/link_renderer.rb
|
80
80
|
- lib/generators/templates/app/locales/beautiful_scaffold.en.yml
|
81
81
|
- lib/generators/templates/app/locales/beautiful_scaffold.fr.yml
|
82
|
+
- lib/generators/templates/app/models/concerns/caption_concern.rb
|
83
|
+
- lib/generators/templates/app/models/concerns/default_sorting_concern.rb
|
84
|
+
- lib/generators/templates/app/models/concerns/fulltext_concern.rb
|
82
85
|
- lib/generators/templates/app/models/pdf_report.rb
|
83
86
|
- lib/generators/templates/app/views/_beautiful_menu.html.erb
|
84
87
|
- lib/generators/templates/app/views/_form.html.erb
|
@@ -233,7 +236,6 @@ files:
|
|
233
236
|
- lib/generators/templates/markitup/skins/simple/style.css
|
234
237
|
- lib/generators/templates/markitup/templates/preview.css
|
235
238
|
- lib/generators/templates/markitup/templates/preview.html
|
236
|
-
- lib/generators/templates/modules/beautiful_scaffold_module.rb
|
237
239
|
homepage: http://beautiful-scaffold.com
|
238
240
|
licenses: []
|
239
241
|
|
@@ -264,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
266
|
requirements: []
|
265
267
|
|
266
268
|
rubyforge_project: beautiful_scaffold
|
267
|
-
rubygems_version: 1.8.
|
269
|
+
rubygems_version: 1.8.25
|
268
270
|
signing_key:
|
269
271
|
specification_version: 3
|
270
272
|
summary: Beautiful Scaffold generate fully customizable scaffold
|