cybele 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.ruby-version +1 -0
  4. data/CHANGELOG.md +155 -121
  5. data/MIT-LICENSE +2 -2
  6. data/README.md +12 -6
  7. data/cybele.gemspec +17 -15
  8. data/lib/cybele/app_builder.rb +86 -28
  9. data/lib/cybele/generators/app_generator.rb +29 -3
  10. data/lib/cybele/version.rb +4 -3
  11. data/templates/app/controllers/hq/admin_profiles_controller.rb +10 -2
  12. data/templates/app/controllers/hq/sessions_controller.rb +13 -0
  13. data/templates/app/controllers/user_profiles_controller.rb +10 -2
  14. data/templates/app/views/devise/mailer/reset_password_instructions.html.haml +8 -5
  15. data/templates/app/views/devise/passwords/edit.html.haml +5 -5
  16. data/templates/app/views/devise/passwords/new.html.haml +4 -3
  17. data/templates/app/views/devise/registrations/edit.html.haml +5 -5
  18. data/templates/app/views/devise/registrations/new.html.haml +3 -2
  19. data/templates/app/views/devise/sessions/new.html.haml +7 -6
  20. data/templates/app/views/devise/shared/_links.haml +9 -8
  21. data/templates/app/views/hq/sessions/new.html.haml +4 -3
  22. data/templates/app/views/layouts/application.html.haml.erb +1 -0
  23. data/templates/config/database.yml.erb +9 -1
  24. data/templates/config/deploy.rb +56 -0
  25. data/templates/config/locales/en.yml +2 -0
  26. data/templates/config/locales/models.en.yml +54 -0
  27. data/templates/config/locales/models.tr.yml +56 -0
  28. data/templates/config/locales/responders.tr.yml +1 -0
  29. data/templates/config/locales/show_for.en.yml +7 -0
  30. data/templates/config/locales/show_for.tr.yml +8 -0
  31. data/templates/config/locales/simple_form.en.yml +30 -0
  32. data/templates/config/locales/simple_form.tr.yml +6 -1
  33. data/templates/config/locales/tr.yml +1 -31
  34. data/templates/config/locales/view.en.yml +51 -0
  35. data/templates/config/locales/view.tr.yml +52 -0
  36. data/templates/config/settings.yml +0 -0
  37. data/templates/cybele_Gemfile +47 -43
  38. data/templates/ruby-version +1 -1
  39. metadata +17 -7
  40. data/Gemfile.lock +0 -92
@@ -1,11 +1,11 @@
1
- %h2 Change your password
1
+ %h2= t('devise.password.edit.title')
2
2
  = simple_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f|
3
3
  = f.error_notification
4
4
  = f.input :reset_password_token, :as => :hidden
5
5
  = f.full_error :reset_password_token
6
6
  .form-inputs
7
- = f.input :password, :label => "New password", :required => true, :autofocus => true
8
- = f.input :password_confirmation, :label => "Confirm your new password", :required => true
7
+ = f.input :password, label: t('devise.password.edit.new_password'), required: true, autofocus: true
8
+ = f.input :password_confirmation, label: t('devise.password.edit.confirmation'), required: true
9
9
  .form-actions
10
- = f.button :submit, "Change my password"
11
- = render "devise/shared/links"
10
+ = f.button :submit, t('devise.password.edit.button'), class: 'btn btn-primary'
11
+ = render "devise/shared/links"
@@ -1,8 +1,9 @@
1
- %h2 Forgot your password?
1
+ %h2= t('devise.password.reset.title')
2
2
  = simple_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
3
3
  = f.error_notification
4
4
  .form-inputs
5
5
  = f.input :email, :required => true, :autofocus => true
6
6
  .form-actions
7
- = f.button :submit, "Send me reset password instructions"
8
- = render "devise/shared/links"
7
+ = f.button :submit, t('devise.password.reset.instructions'), class: 'btn btn-primary'
8
+ %br
9
+ = render "devise/shared/links"
@@ -1,5 +1,5 @@
1
1
  %h2
2
- Edit #{resource_name.to_s.humanize}
2
+ = t('devise.registration.title', model: resource.class.model_name.human )
3
3
  = simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f|
4
4
  = f.error_notification
5
5
  .form-inputs
@@ -7,12 +7,12 @@
7
7
  - if devise_mapping.confirmable? && resource.pending_reconfirmation?
8
8
  %p
9
9
  Currently waiting confirmation for: #{resource.unconfirmed_email}
10
- = f.input :password, :autocomplete => "off", :hint => "leave it blank if you don't want to change it", :required => false
10
+ = f.input :password, :autocomplete => "off", hint: t('devise.registration.hint_password'), :required => false
11
11
  = f.input :password_confirmation, :required => false
12
- = f.input :current_password, :hint => "we need your current password to confirm your changes", :required => true
12
+ = f.input :current_password, hint: t('devise.registration.hint_current_password'), :required => true
13
13
  .form-actions
14
- = f.button :submit, "Update"
14
+ = f.button :submit, t('btn.update'), class: 'btn btn-primary'
15
15
  %h3 Cancel my account
16
16
  %p
17
17
  Unhappy? #{link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete}
18
- = link_to "Back", :back
18
+ = link_to t('btn.back'), :back
@@ -1,4 +1,5 @@
1
- %h2 Sign up
1
+ %h2
2
+ = t('devise.registration.new.title', model: resource.class.model_name.human)
2
3
  = simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
3
4
  = f.error_notification
4
5
  .form-inputs
@@ -7,5 +8,5 @@
7
8
  = f.input :password, :required => true
8
9
  = f.input :password_confirmation, :required => true
9
10
  .form-actions
10
- = f.button :submit, "Sign up"
11
+ = f.button :submit, t('devise.registration.new.button'), class: 'btn btn-primary'
11
12
  = render "devise/shared/links"
@@ -1,9 +1,10 @@
1
- %h2 Sign in
2
- = simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
1
+ %h2
2
+ = t('devise.session.title', model: resource.class.model_name.human )
3
+ = simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
3
4
  .form-inputs
4
- = f.input :email, :required => false, :autofocus => true
5
- = f.input :password, :required => false
6
- = f.input :remember_me, :as => :boolean if devise_mapping.rememberable?
5
+ = f.input :email, required: false, autofocus: true
6
+ = f.input :password, required: false
7
+ = f.input :remember_me, label: t('devise.session.remember_me'), as: :boolean if devise_mapping.rememberable?
7
8
  .form-actions
8
- = f.button :submit, "Sign in"
9
+ = f.button :submit, t('devise.session.button'), class: 'btn btn-primary'
9
10
  = render "devise/shared/links"
@@ -1,19 +1,20 @@
1
+ %br
1
2
  - if controller_name != 'sessions'
2
- = link_to "Sign in", new_session_path(resource_name)
3
+ = link_to t('devise.shared.links.signin'), new_session_path(resource_name)
3
4
  %br/
4
5
  - if devise_mapping.registerable? && controller_name != 'registrations'
5
- = link_to "Sign up", new_registration_path(resource_name)
6
+ = link_to t('devise.shared.links.signup'), new_registration_path(resource_name)
6
7
  %br/
7
- - if devise_mapping.recoverable? && controller_name != 'passwords'
8
- = link_to "Forgot your password?", new_password_path(resource_name)
8
+ - if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations'
9
+ = link_to t('devise.shared.links.forgot_password'), new_password_path(resource_name)
9
10
  %br/
10
11
  - if devise_mapping.confirmable? && controller_name != 'confirmations'
11
- = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
12
+ = link_to t('devise.shared.links.confirmation_instructions'), new_confirmation_path(resource_name)
12
13
  %br/
13
14
  - if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
14
- = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
15
+ = link_to t('devise.shared.links.unlock_instructions'), new_unlock_path(resource_name)
15
16
  %br/
16
17
  - if devise_mapping.omniauthable?
17
18
  - resource_class.omniauth_providers.each do |provider|
18
- = link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider)
19
- %br/
19
+ = link_to t('devise.shared.links.signin_with', name: provider.to_s.titleize), omniauth_authorize_path(resource_name, provider)
20
+ %br/
@@ -1,8 +1,9 @@
1
- %h2 Admin Sign in
1
+ %h2
2
+ = t('devise.session.title', model: resource.class.model_name.human )
2
3
  = simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
3
4
  .form-inputs
4
5
  = f.input :email, :required => false, :autofocus => true
5
6
  = f.input :password, :required => false
6
- = f.input :remember_me, :as => :boolean if devise_mapping.rememberable?
7
+ = f.input :remember_me, :as => :boolean,label: t('devise.session.remember_me') if devise_mapping.rememberable?
7
8
  .form-actions
8
- = f.button :submit, "Sign in"
9
+ = f.button :submit, t('devise.session.button')
@@ -15,6 +15,7 @@
15
15
  %a{:href => "/rails/routes"} Routes
16
16
  %h3.muted= link_to "<%= app_name %>", root_path
17
17
  %hr/
18
+ = render partial: 'layouts/partials/messages'
18
19
  = yield
19
20
  %hr/
20
21
  .footer
@@ -10,4 +10,12 @@ development: &default
10
10
 
11
11
  test:
12
12
  <<: *default
13
- database: <%= app_name %>_test
13
+ database: <%= app_name %>_test
14
+
15
+ production:
16
+ <<: *default
17
+ database: <%= app_name %>_production
18
+
19
+ staging:
20
+ <<: *default
21
+ database: <%= app_name %>_staging
@@ -0,0 +1,56 @@
1
+ # config valid only for current version of Capistrano
2
+ lock '3.4.0'
3
+
4
+ set :application, 'my_app_name'
5
+ set :local_user, 'deploy'
6
+ set :stages, %w(staging production)
7
+ set :default_stage, 'production'
8
+ set :repo_url, 'git@example.com:me/my_repo.git'
9
+
10
+ # Default branch is :master
11
+ # ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp
12
+
13
+ # Default deploy_to directory is /var/www/blog2
14
+ set :deploy_to, "/home/#{fetch(:local_user)}/apps/#{fetch(:application)}"
15
+
16
+ # Default value for :scm is :git
17
+ set :scm, :git
18
+
19
+ # Default value for :format is :pretty
20
+ # set :format, :pretty
21
+
22
+ # Default value for :log_level is :debug
23
+ # set :log_level, :debug
24
+
25
+ # Default value for :pty is false
26
+ set :pty, true
27
+
28
+ # Default value for :linked_files is []
29
+ set :linked_files, fetch(:linked_files, []).push('config/database.yml')
30
+
31
+ # Default value for linked_dirs is []
32
+ set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/upload', 'public/images')
33
+
34
+ # Default value for default_env is {}
35
+ # set :default_env, { path: "/opt/ruby/bin:$PATH" }
36
+ set :default_env, { path: '$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH' }
37
+
38
+ # Default value for keep_releases is 5
39
+ # set :keep_releases, 5
40
+
41
+ # Look our recipes
42
+ # https://github.com/lab2023/recipes_matic
43
+ load 'config/deploy/recipes/base.rb'
44
+
45
+ namespace :deploy do
46
+
47
+ after :restart, :clear_cache do
48
+ on roles(:web), in: :groups, limit: 3, wait: 10 do
49
+ # Here we can do anything such as:
50
+ # within release_path do
51
+ # execute :rake, 'cache:clear'
52
+ # end
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,2 @@
1
+ en:
2
+ hello: "Hello world"
@@ -0,0 +1,54 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ schemamigration: Schemamigration
5
+ user: User
6
+ user_profiles: User Profile
7
+ admin: Admin
8
+ admin_profiles: Admin Profile
9
+ attributes:
10
+ user:
11
+ id: Id
12
+ email: Email
13
+ password: Password
14
+ password_confirmation: Password Confirmation
15
+ current_password: Current Password
16
+ encrypted_password: Encrypted_password
17
+ reset_password_token: Reset_password_token
18
+ reset_password_sent_at: Reset_password_sent_at
19
+ remember_created_at: Remember_created_at
20
+ sign_in_count: Sign_in_count
21
+ current_sign_in_at: Current_sign_in_at
22
+ last_sign_in_at: Last_sign_in_at
23
+ current_sign_in_ip: Current_sign_in_ip
24
+ last_sign_in_ip: Last_sign_in_ip
25
+ active: Active
26
+ created_at: Created_at
27
+ updated_at: Updated_at
28
+ active: Active
29
+ user_profile:
30
+ first_name: Name
31
+ last_name: Surname
32
+ gsm: Phone
33
+ admin:
34
+ id: Id
35
+ email: Email
36
+ password: Password
37
+ password_confirmation: Password Confirmation
38
+ current_password: Current Password
39
+ encrypted_password: Encrypted_password
40
+ reset_password_token: Reset_password_token
41
+ reset_password_sent_at: Reset_password_sent_at
42
+ remember_created_at: Remember_created_at
43
+ sign_in_count: Sign_in_count
44
+ current_sign_in_at: Current_sign_in_at
45
+ last_sign_in_at: Last_sign_in_at
46
+ current_sign_in_ip: Current_sign_in_ip
47
+ last_sign_in_ip: Last_sign_in_ip
48
+ created_at: Created_at
49
+ updated_at: Updated_at
50
+ active: Active
51
+ admin_profile:
52
+ first_name: Name
53
+ last_name: Surname
54
+ gsm: Phone
@@ -0,0 +1,56 @@
1
+ # encoding: utf-8
2
+ tr:
3
+ activerecord:
4
+ models:
5
+ schemamigration: Schemamigration
6
+ user: Kullanıcı
7
+ user_profiles: Kullanıcı Profili
8
+ user_profile: Kullanıcı Profili
9
+ admin: Yönetici
10
+ admin_profiles: Yönetici Profili
11
+ admin_profile: Yönetici Profili
12
+ attributes:
13
+ user:
14
+ id: Id
15
+ email: E-posta
16
+ password: Şifre
17
+ password_confirmation: Şifre Onayı
18
+ current_password: Şuan ki şifreniz
19
+ encrypted_password: Şifrelenmiş şifre
20
+ reset_password_token: Şifre sıfırlama token'ı
21
+ reset_password_sent_at: Şifre sıfırlama gönderilme zamanı
22
+ remember_created_at: Beni hatırla oluşturulma zamanı
23
+ sign_in_count: Giriş sayısı
24
+ current_sign_in_at: Güncel giriş zamanı
25
+ last_sign_in_at: Enson giriş zamanı
26
+ current_sign_in_ip: Güncel giriş ip'si
27
+ last_sign_in_ip: Enson giriş ip'si
28
+ created_at: Oluşturulma Zamanı
29
+ updated_at: Güncellenme Zamanı
30
+ active: Aktif
31
+ user_profile:
32
+ first_name: İsim
33
+ last_name: Soyisim
34
+ gsm: Telefon
35
+ admin:
36
+ id: Id
37
+ email: E-posta
38
+ password: Şifre
39
+ password_confirmation: Şifre Onayı
40
+ current_password: Şuan ki şifreniz
41
+ encrypted_password: Şifrelenmiş şifre
42
+ reset_password_token: Şifre sıfırlama token'ı
43
+ reset_password_sent_at: Şifre sıfırlama gönderilme zamanı
44
+ remember_created_at: Beni hatırla oluşturulma zamanı
45
+ sign_in_count: Giriş sayısı
46
+ current_sign_in_at: Güncel giriş zamanı
47
+ last_sign_in_at: Enson giriş zamanı
48
+ current_sign_in_ip: Güncel giriş ip'si
49
+ last_sign_in_ip: Enson giriş ip'si
50
+ created_at: Oluşturulma Zamanı
51
+ updated_at: Güncellenme Zamanı
52
+ active: Aktif
53
+ admin_profile:
54
+ first_name: İsim
55
+ last_name: Soyisim
56
+ gsm: Telefon
@@ -1,3 +1,4 @@
1
+ # encoding: utf-8
1
2
  tr:
2
3
  flash:
3
4
  actions:
@@ -0,0 +1,7 @@
1
+ en:
2
+ show_for:
3
+ blank: "Not specified"
4
+ # If you want to use html tags with blank value use blank html translation
5
+ # blank_html: "<span>Not specified</span>"
6
+ "yes": "Yes"
7
+ "no": "No"
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ tr:
3
+ show_for:
4
+ blank: "Belirtilmedi"
5
+ # If you want to use html tags with blank value use blank html translation
6
+ # blank_html: "<span>Not specified</span>"
7
+ "yes": "Evet"
8
+ "no": "Hayır"
@@ -0,0 +1,30 @@
1
+ en:
2
+ simple_form:
3
+ "yes": 'Yes'
4
+ "no": 'No'
5
+ required:
6
+ text: 'required'
7
+ mark: '*'
8
+ # You can uncomment the line below if you need to overwrite the whole required html.
9
+ # When using html, text and mark won't be used.
10
+ # html: '<abbr title="required">*</abbr>'
11
+ error_notification:
12
+ default_message: "Please review the problems below:"
13
+ # Labels and hints examples
14
+ # labels:
15
+ # defaults:
16
+ # password: 'Password'
17
+ # user:
18
+ # new:
19
+ # email: 'E-mail to sign in.'
20
+ # edit:
21
+ # email: 'E-mail.'
22
+ # hints:
23
+ # defaults:
24
+ # username: 'User name to sign in.'
25
+ # password: 'No special characters, please.'
26
+ # user:
27
+ # new:
28
+ # email: 'E-mail to sign in.'
29
+ # edit:
30
+ # email: 'E-mail.'
@@ -23,4 +23,9 @@ tr:
23
23
  # hints:
24
24
  # defaults:
25
25
  # username: 'User name to sign in.'
26
- # password: 'No special characters, please.'
26
+ # password: 'No special characters, please.'
27
+ # user:
28
+ # new:
29
+ # email: 'E-mail to sign in.'
30
+ # edit:
31
+ # email: 'E-mail.'
@@ -1,33 +1,3 @@
1
1
  # encoding: utf-8
2
- #
3
- # Files in the config/locales directory are used for internationalization
4
- # and are automatically loaded by Rails. If you want to use locales other
5
- # than English, add the necessary files in this directory.
6
- #
7
- # To use the locales, use `I18n.t`:
8
- #
9
- # I18n.t 'hello'
10
- #
11
- # In views, this is aliased to just `t`:
12
- #
13
- # <%= t('hello') %>
14
- #
15
- # To use a different locale, set it with `I18n.locale`:
16
- #
17
- # I18n.locale = :es
18
- #
19
- # This would use the information in config/locales/es.yml.
20
- #
21
- # To learn more, please read the Rails Internationalization guide
22
- # available at http://guides.rubyonrails.org/i18n.html.
23
-
24
2
  tr:
25
- hello: "Merhaba Dünya"
26
- number:
27
- currency:
28
- format:
29
- format: "%u %n"
30
- unit: "₺"
31
-
32
- internal_server_error: "Üzgünüz. Şu anda bir hata var. Mühendislerimiz bu hata üzerinde çalışma yapıyorlar. En kısa sürede çözeceğiz."
33
- not_found: "Üzgünüz. Bu sayfa bulunamadı. Taşınmış olabilir. Buraya gitmek istediğinizden emin olun."
3
+ hello: "Hello world"
@@ -0,0 +1,51 @@
1
+ en:
2
+ btn:
3
+ back: Back
4
+ update: Update
5
+ view:
6
+ select: Please choose!
7
+ navbar:
8
+ settings: Settings
9
+ signout: Sign Out
10
+ signin: Sign In
11
+ dock:
12
+ dashboard: Dashboard
13
+ number:
14
+ currency:
15
+ format:
16
+ format: "%u %n"
17
+ unit: "₺"
18
+ internal_server_error: "Sory! Error an occurred.."
19
+ not_found: "Sory! Page not found. This page should be moved!"
20
+ devise:
21
+ session:
22
+ title: Login
23
+ button: Login
24
+ remember_me: Remember Me
25
+ registration:
26
+ title: '%{model} Update Login Information'
27
+ waiting_confirmation: 'Currently waiting confirmation for: %{email}'
28
+ hint_password: Leave it blank if you don't want to change it
29
+ hint_current_password: We need your current password to confirm your changes
30
+ new:
31
+ title: '%{model} New Registration'
32
+ character_hint: '%{length} characters minimum'
33
+ button: Register
34
+ shared:
35
+ links:
36
+ signup: Sign Up
37
+ signin: Sign In
38
+ forgot_password: Forgot your password?
39
+ confirmation_instructions: Didn't receive confirmation instructions?
40
+ unlock_instructions: Didn't receive unlock instructions?
41
+ signin_with: 'Sign in with %{name}'
42
+ signin_with: 'Sign up with %{name}'
43
+ password:
44
+ reset:
45
+ title: Forgot Your Password?
46
+ instructions: Send my password reset instructions
47
+ edit:
48
+ title: Change Your Password
49
+ new_password: New password
50
+ confirmation: New password confirmation
51
+ button: Change My Password