toronto 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -2
- data/lib/generators/toronto/install/install_generator.rb +32 -7
- data/lib/generators/toronto/install/templates/controllers/locales_controller.rb +16 -5
- data/lib/generators/toronto/install/templates/layouts/starter.html.haml +4 -0
- data/lib/generators/toronto/install/templates/lib/rails/generators/haml/scaffold/scaffold_generator.rb +10 -3
- data/lib/generators/toronto/install/templates/lib/templates/haml/scaffold/index.html.haml +1 -1
- data/lib/generators/toronto/install/templates/lib/templates/lang/cn.yml +23 -0
- data/lib/generators/toronto/install/templates/lib/templates/lang/de.yml +23 -0
- data/lib/generators/toronto/install/templates/lib/templates/{haml/scaffold → lang}/en.yml +0 -0
- data/lib/generators/toronto/install/templates/lib/templates/{haml/scaffold → lang}/fr.yml +0 -0
- data/lib/toronto/version.rb +1 -1
- data/toronto.gemspec +6 -3
- metadata +35 -15
- data/lib/generators/toronto/install/templates/config/initializers/locales.rb +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 469462cba899157c14258af42ec9870165faa9c2
|
4
|
+
data.tar.gz: 43dea86b4a955b54335441dc917dab88185d136e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '028a6e9e281aeb522e7a8e149fd4d749d8d6132ff1c9d1f2c2567471bd5c0d363973846a9e51aaafe6eedab51b54a484bde0fdadc35968671ca76f1520e6619e'
|
7
|
+
data.tar.gz: 19ed3b651a491660f1ea1d0afe7c0b742ea7bada0d2b39be3dfb19e70bfa0b6387b46ded030c3c33739470f37dd719a2506ebfd1f4d51372ae5005de2312d0fb
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ Run bundle install:
|
|
27
27
|
|
28
28
|
## Generators
|
29
29
|
|
30
|
-
Get started:
|
30
|
+
Get started:
|
31
31
|
|
32
32
|
rails generate toronto:install
|
33
33
|
|
@@ -54,7 +54,11 @@ To print the options and usage run the command `rails toronto:install --help`
|
|
54
54
|
-se, [--stylesheet-engine=STYLESHEET_ENGINE] # Indicates when to generate stylesheet engine
|
55
55
|
# Default: scss
|
56
56
|
[--skip-turbolinks], [--no-skip-turbolinks] # Indicates when to generate skip turbolinks
|
57
|
-
|
57
|
+
[--languages=LANGUAGES_LIST] # Indicates wich languages to use
|
58
|
+
# Use --languages=en,fr,de,cn for english, french, german and chineese (the only languages that are implemented)
|
59
|
+
# The first language in the list will be the default language in rails.
|
60
|
+
# If option not given, then only the language english is generated
|
61
|
+
|
58
62
|
Runtime options:
|
59
63
|
-f, [--force] # Overwrite files that already exist
|
60
64
|
-p, [--pretend], [--no-pretend] # Run but do not make any changes
|
@@ -9,6 +9,7 @@ module Toronto
|
|
9
9
|
class_option :template_engine
|
10
10
|
class_option :stylesheet_engine
|
11
11
|
class_option :skip_turbolinks, type: :boolean, default: false, desc: "Skip Turbolinks on assets"
|
12
|
+
class_option :languages
|
12
13
|
|
13
14
|
def copy_scaffold_generator
|
14
15
|
directory 'lib/rails'
|
@@ -18,6 +19,10 @@ module Toronto
|
|
18
19
|
directory "lib/templates/#{options[:template_engine]}"
|
19
20
|
end
|
20
21
|
|
22
|
+
def copy_langs
|
23
|
+
directory 'lib/templates/lang', 'lib/rails/generators/lang'
|
24
|
+
end
|
25
|
+
|
21
26
|
def copy_form_builder
|
22
27
|
copy_file "form_builders/form_builder/_form.html.#{options[:template_engine]}", "lib/templates/#{options[:template_engine]}/scaffold/_form.html.#{options[:template_engine]}"
|
23
28
|
end
|
@@ -41,8 +46,7 @@ module Toronto
|
|
41
46
|
end
|
42
47
|
end
|
43
48
|
|
44
|
-
def
|
45
|
-
copy_file 'config/initializers/locales.rb', 'config/initializers/locales.rb'
|
49
|
+
def copy_locales_controller
|
46
50
|
copy_file 'controllers/locales_controller.rb', 'app/controllers/locales_controller.rb'
|
47
51
|
end
|
48
52
|
|
@@ -50,20 +54,41 @@ module Toronto
|
|
50
54
|
# TODO : use a template file
|
51
55
|
data = %{
|
52
56
|
def set_locale
|
53
|
-
I18n.locale =
|
57
|
+
I18n.locale = params[:locale] || I18n.default_locale
|
54
58
|
end
|
55
59
|
}
|
56
|
-
|
60
|
+
inject_into_file 'app/controllers/application_controller.rb', data, :before => /^end/
|
57
61
|
|
58
62
|
data = "\n before_action :set_locale"
|
59
|
-
|
63
|
+
inject_into_file 'app/controllers/application_controller.rb', data, :after => /^class ApplicationController < ActionController::Base/
|
60
64
|
end
|
61
65
|
|
62
66
|
def inject_locales_route
|
63
|
-
|
64
|
-
|
67
|
+
p options
|
68
|
+
langs = !options['languages'] || options['languages'].empty? ? 'en' : options['languages']
|
69
|
+
langs_array = langs.split(',' )
|
70
|
+
langs.gsub!( ',', '|' )
|
71
|
+
|
72
|
+
# Create the routes for language management
|
73
|
+
# This way lead to a lot of problem. We use ?locale=
|
74
|
+
# route 'end'
|
75
|
+
# route ' # Put all your routes inside the scope'
|
76
|
+
# route "scope '(:locale)', locale: /#{langs}/ do"
|
77
|
+
|
78
|
+
# Create the local file
|
79
|
+
data = "I18n.config.load_path += Dir['#{Rails.root.to_s}/config/locales/**/*.{rb,yml}']\n\n"
|
80
|
+
data << "I18n.config.available_locales = [ #{langs_array.map{ |e| ':'+e }.join( ', ' )} ]\n"
|
81
|
+
data << "I18n.default_locale = :#{langs_array.first}"
|
82
|
+
|
83
|
+
create_file 'config/initializers/locales.rb', data
|
84
|
+
|
85
|
+
route "put 'set_locale/:locale', constraints: { locale: /#{langs}/ }, to: 'locales#set'"
|
65
86
|
end
|
66
87
|
|
88
|
+
# def disable_regular_routes_generation
|
89
|
+
# create_file 'config/initializers/generators.rb', 'Rails.application.config.generators.skip_routes = true'
|
90
|
+
# end
|
91
|
+
|
67
92
|
def inject_menu_helper
|
68
93
|
# TODO : use a template file
|
69
94
|
data = %{
|
@@ -1,14 +1,25 @@
|
|
1
1
|
class LocalesController < ApplicationController
|
2
2
|
|
3
3
|
def set
|
4
|
-
#
|
4
|
+
# implement it this way : https://lingohub.com/frameworks-file-formats/rails5-i18n-ruby-on-rails/
|
5
|
+
# Lead to a lot of problems
|
5
6
|
|
6
|
-
|
7
|
+
if params[:locale]
|
8
|
+
I18n.locale = params[:locale]
|
9
|
+
return_to = request.referer
|
7
10
|
|
8
|
-
|
9
|
-
|
11
|
+
parsed_uri = URI.parse(return_to)
|
12
|
+
params = parsed_uri.query ? CGI::parse( parsed_uri.query ) : {}
|
13
|
+
params['locale'] = I18n.locale
|
10
14
|
|
11
|
-
|
15
|
+
redirect_host = parsed_uri.scheme + '://' + parsed_uri.host
|
16
|
+
redirect_host += ( ':' + parsed_uri.port.to_s ) if parsed_uri.port && parsed_uri.port != 80 && parsed_uri.port != 443
|
17
|
+
redirect_host += parsed_uri.path
|
18
|
+
|
19
|
+
redirect_host += ( '?' + URI.encode_www_form(params) )
|
20
|
+
|
21
|
+
redirect_to redirect_host
|
22
|
+
end
|
12
23
|
end
|
13
24
|
|
14
25
|
end
|
@@ -40,6 +40,10 @@
|
|
40
40
|
%span{ class: 'flag flag-gb' }
|
41
41
|
= link_to '/set_locale/fr', method: :put do
|
42
42
|
%span{ class: 'flag flag-fr' }
|
43
|
+
= link_to '/set_locale/de', method: :put do
|
44
|
+
%span{ class: 'flag flag-de' }
|
45
|
+
= link_to '/set_locale/cn', method: :put do
|
46
|
+
%span{ class: 'flag flag-cn' }
|
43
47
|
.container
|
44
48
|
- flash.each do |name, msg|
|
45
49
|
= content_tag :div, class: "alert alert-#{name == :error ? 'danger' : 'success' } alert-dismissable", role: 'alert' do
|
@@ -4,17 +4,20 @@ require 'yaml'
|
|
4
4
|
module Haml
|
5
5
|
module Generators
|
6
6
|
class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
|
7
|
-
source_root File.expand_path(
|
7
|
+
source_root File.expand_path('../templates', __FILE__)
|
8
8
|
|
9
9
|
def copy_view_files
|
10
10
|
available_views.each do |view|
|
11
11
|
filename = filename_with_extensions(view)
|
12
|
-
template "#{view}.html.haml", File.join(
|
12
|
+
template "#{view}.html.haml", File.join('app/views', controller_file_path, filename)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
def copy_and_update_languages_files
|
17
|
-
|
17
|
+
|
18
|
+
languages = I18n.config.available_locales.map(&:to_s)
|
19
|
+
# source_paths << File.expand_path('../rails/lang', __FILE__)
|
20
|
+
source_paths << ::Rails.root + 'lib/rails/generators/lang'
|
18
21
|
|
19
22
|
languages.each do |lang|
|
20
23
|
yaml_path = File.join( 'config/locales', lang, "#{plural_table_name}.yml" )
|
@@ -54,6 +57,10 @@ module Haml
|
|
54
57
|
insert_into_file 'app/views/layouts/application.html.haml', data, :after => '%ul.nav.navbar-nav'
|
55
58
|
end
|
56
59
|
|
60
|
+
# def add_ressource_route
|
61
|
+
# inject_into_file 'config/routes.rb', "\n resources :#{plural_table_name}", after: /scope.*do/, verbose: false, force: false
|
62
|
+
# end
|
63
|
+
|
57
64
|
protected
|
58
65
|
|
59
66
|
def available_views
|
@@ -0,0 +1,23 @@
|
|
1
|
+
cn:
|
2
|
+
<%= plural_table_name %>:
|
3
|
+
index:
|
4
|
+
title: 目录
|
5
|
+
edit: 编辑
|
6
|
+
new: 新
|
7
|
+
show: 显示
|
8
|
+
delete: 删除
|
9
|
+
confirm: 你确定
|
10
|
+
edit:
|
11
|
+
title: 编辑
|
12
|
+
back: 以前
|
13
|
+
show: 显示
|
14
|
+
show:
|
15
|
+
title: 显示
|
16
|
+
back: 以前
|
17
|
+
edit: 编辑
|
18
|
+
new:
|
19
|
+
title: 新
|
20
|
+
back: 以前
|
21
|
+
form:
|
22
|
+
submit: 提交
|
23
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
de:
|
2
|
+
<%= plural_table_name %>:
|
3
|
+
index:
|
4
|
+
title: Liste
|
5
|
+
edit: Bearbeiten
|
6
|
+
new: Neu
|
7
|
+
show: Zeigen
|
8
|
+
delete: Entfernen
|
9
|
+
confirm: Sind sie sicher ?
|
10
|
+
edit:
|
11
|
+
title: Bearbeiten
|
12
|
+
back: Zurück
|
13
|
+
show: Zeigen
|
14
|
+
show:
|
15
|
+
title: Zeigen
|
16
|
+
back: Zurück
|
17
|
+
edit: Bearbeiten
|
18
|
+
new:
|
19
|
+
title: Neu
|
20
|
+
back: Zurück
|
21
|
+
form:
|
22
|
+
submit: Ubernehmen
|
23
|
+
|
File without changes
|
File without changes
|
data/lib/toronto/version.rb
CHANGED
data/toronto.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ['Cédric Zuger']
|
10
10
|
spec.email = ['zuger.cedric@gmail.com']
|
11
11
|
spec.summary = 'inTernatiOnalization Ready bOotstrap geNeraTOr'
|
12
|
-
spec.description = '
|
12
|
+
spec.description = 'Internationalized bootstrap ready scaffold generator'
|
13
13
|
spec.homepage = 'https://github.com/czuger/toronto'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
@@ -21,10 +21,13 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
23
|
spec.add_development_dependency 'bundler', '~> 1.5'
|
24
|
-
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rake', '~> 12'
|
25
25
|
# spec.add_development_dependency 'haml-rails', '>= 0.9.0'
|
26
26
|
|
27
|
-
spec.add_runtime_dependency 'railties', '~>
|
27
|
+
spec.add_runtime_dependency 'railties', '~> 5'
|
28
|
+
spec.add_runtime_dependency 'bootstrap-sass', '~> 3.2', '>= 3.2.0'
|
28
29
|
# spec.add_runtime_dependency 'haml-rails', '>= 0.9.0'
|
29
30
|
|
31
|
+
spec.required_ruby_version = '>= 2.3'
|
32
|
+
|
30
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toronto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cédric Zuger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,32 +28,51 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '12'
|
34
34
|
type: :development
|
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: '
|
40
|
+
version: '12'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: railties
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '5'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bootstrap-sass
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.2'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 3.2.0
|
48
65
|
type: :runtime
|
49
66
|
prerelease: false
|
50
67
|
version_requirements: !ruby/object:Gem::Requirement
|
51
68
|
requirements:
|
52
69
|
- - "~>"
|
53
70
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
55
|
-
|
56
|
-
|
71
|
+
version: '3.2'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 3.2.0
|
75
|
+
description: Internationalized bootstrap ready scaffold generator
|
57
76
|
email:
|
58
77
|
- zuger.cedric@gmail.com
|
59
78
|
executables: []
|
@@ -75,7 +94,6 @@ files:
|
|
75
94
|
- lib/generators/toronto/install/templates/assets/stylesheets/starter.css
|
76
95
|
- lib/generators/toronto/install/templates/assets/stylesheets/starter.less
|
77
96
|
- lib/generators/toronto/install/templates/assets/stylesheets/starter.scss
|
78
|
-
- lib/generators/toronto/install/templates/config/initializers/locales.rb
|
79
97
|
- lib/generators/toronto/install/templates/controllers/locales_controller.rb
|
80
98
|
- lib/generators/toronto/install/templates/form_builders/form_builder/_form.html.erb
|
81
99
|
- lib/generators/toronto/install/templates/form_builders/form_builder/_form.html.haml
|
@@ -92,11 +110,13 @@ files:
|
|
92
110
|
- lib/generators/toronto/install/templates/lib/templates/erb/scaffold/show.html.erb
|
93
111
|
- lib/generators/toronto/install/templates/lib/templates/haml/controller/view.html.haml
|
94
112
|
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/edit.html.haml
|
95
|
-
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/en.yml
|
96
|
-
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/fr.yml
|
97
113
|
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/index.html.haml
|
98
114
|
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/new.html.haml
|
99
115
|
- lib/generators/toronto/install/templates/lib/templates/haml/scaffold/show.html.haml
|
116
|
+
- lib/generators/toronto/install/templates/lib/templates/lang/cn.yml
|
117
|
+
- lib/generators/toronto/install/templates/lib/templates/lang/de.yml
|
118
|
+
- lib/generators/toronto/install/templates/lib/templates/lang/en.yml
|
119
|
+
- lib/generators/toronto/install/templates/lib/templates/lang/fr.yml
|
100
120
|
- lib/generators/toronto/install/templates/lib/templates/slim/controller/view.html.slim
|
101
121
|
- lib/generators/toronto/install/templates/lib/templates/slim/scaffold/edit.html.slim
|
102
122
|
- lib/generators/toronto/install/templates/lib/templates/slim/scaffold/index.html.slim
|
@@ -291,7 +311,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
291
311
|
requirements:
|
292
312
|
- - ">="
|
293
313
|
- !ruby/object:Gem::Version
|
294
|
-
version: '
|
314
|
+
version: '2.3'
|
295
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
296
316
|
requirements:
|
297
317
|
- - ">="
|
@@ -299,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
319
|
version: '0'
|
300
320
|
requirements: []
|
301
321
|
rubyforge_project:
|
302
|
-
rubygems_version: 2.6.
|
322
|
+
rubygems_version: 2.6.13
|
303
323
|
signing_key:
|
304
324
|
specification_version: 4
|
305
325
|
summary: inTernatiOnalization Ready bOotstrap geNeraTOr
|