chr 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.scss-style.yml +3 -3
  3. data/{LICENSE → LICENSE.md} +0 -0
  4. data/README.md +24 -10
  5. data/app/assets/javascripts/chr/list_tabs.coffee +1 -2
  6. data/app/assets/javascripts/chr/view_tabs.coffee +7 -6
  7. data/app/assets/stylesheets/chr/layout.scss +15 -2
  8. data/app/assets/stylesheets/chr/themes/basic.scss +8 -16
  9. data/chr.gemspec +33 -34
  10. data/lib/chr.rb +9 -12
  11. data/lib/chr/version.rb +1 -1
  12. metadata +8 -51
  13. data/app/assets/javascripts/vendor/slip.js +0 -804
  14. data/bin/chr +0 -13
  15. data/docs/bootstrap.md +0 -23
  16. data/docs/demo.png +0 -0
  17. data/docs/notes.md +0 -3
  18. data/docs/rails.md +0 -233
  19. data/lib/chr/app_builder.rb +0 -378
  20. data/lib/chr/generators/app_generator.rb +0 -211
  21. data/lib/generators/chr/controller_generator.rb +0 -18
  22. data/templates/Gemfile.erb +0 -41
  23. data/templates/Procfile +0 -1
  24. data/templates/README.md.erb +0 -45
  25. data/templates/_analytics.html.erb +0 -1
  26. data/templates/_flashes.html.erb +0 -7
  27. data/templates/_javascript.html.erb +0 -5
  28. data/templates/application.coffee +0 -2
  29. data/templates/application.scss +0 -1
  30. data/templates/application.yml +0 -6
  31. data/templates/application_gitignore +0 -15
  32. data/templates/application_layout.html.erb.erb +0 -17
  33. data/templates/bin_setup.erb +0 -35
  34. data/templates/body_class_helper.rb +0 -15
  35. data/templates/bundler_audit.rake +0 -12
  36. data/templates/carrierwave.rb +0 -21
  37. data/templates/character_admin.coffee.erb +0 -38
  38. data/templates/character_admin.scss +0 -14
  39. data/templates/character_admin_index.html.erb +0 -5
  40. data/templates/character_admin_layout.html.erb.erb +0 -21
  41. data/templates/character_base_controller.rb +0 -14
  42. data/templates/dev.rake +0 -12
  43. data/templates/devise_overrides_passwords_controller.rb +0 -11
  44. data/templates/devise_overrides_passwords_edit.html.erb +0 -31
  45. data/templates/devise_overrides_passwords_new.html.erb +0 -19
  46. data/templates/devise_overrides_sessions_controller.rb +0 -20
  47. data/templates/devise_overrides_sessions_new.html.erb +0 -29
  48. data/templates/errors.rb +0 -34
  49. data/templates/json_encoding.rb +0 -1
  50. data/templates/puma.rb +0 -18
  51. data/templates/routes.rb +0 -86
  52. data/templates/sample.env +0 -6
  53. data/templates/secrets.yml +0 -14
  54. data/templates/smtp.rb +0 -9
  55. data/templates/staging.rb +0 -5
@@ -1,211 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/rails/app/app_generator'
3
-
4
- module Chr
5
- class AppGenerator < Rails::Generators::AppGenerator
6
-
7
-
8
- class_option :skip_active_record, type: :boolean, aliases: "-O", default: true,
9
- desc: "Skip Active Record files"
10
-
11
- class_option :skip_test_unit, type: :boolean, aliases: "-T", default: true,
12
- desc: "Skip Test::Unit files"
13
-
14
- class_option :skip_turbolinks, type: :boolean, default: true,
15
- desc: "Skip turbolinks gem"
16
-
17
- class_option :skip_bundle, type: :boolean, aliases: "-B", default: true,
18
- desc: "Don't run bundle install"
19
-
20
-
21
- def finish_template
22
- invoke :chr_customization
23
- super
24
- end
25
-
26
-
27
- def chr_customization
28
- invoke :customize_gemfile
29
- invoke :setup_development_environment
30
- invoke :setup_test_environment
31
- invoke :setup_production_environment
32
- invoke :setup_staging_environment
33
- invoke :setup_secret_token
34
- invoke :create_application_views
35
- invoke :configure_app
36
- invoke :create_application_assets
37
- invoke :copy_miscellaneous_files
38
- invoke :customize_error_pages
39
- invoke :setup_devise
40
- invoke :setup_character
41
- invoke :setup_database
42
- invoke :setup_git
43
- # invoke :create_heroku_apps
44
- # invoke :create_github_repo
45
- invoke :setup_bundler_audit
46
- #invoke :setup_spring
47
- invoke :outro
48
- end
49
-
50
-
51
- def customize_gemfile
52
- build :replace_gemfile
53
- build :set_ruby_to_version_being_used
54
-
55
- bundle_command 'install'
56
- end
57
-
58
-
59
- def setup_development_environment
60
- say 'Setting up the development environment'
61
- #build :raise_on_delivery_errors
62
- build :raise_on_unpermitted_parameters
63
- build :provide_setup_script
64
- build :provide_dev_prime_task
65
- build :configure_generators
66
- end
67
-
68
-
69
- def setup_test_environment
70
- say 'Setting up the test environment'
71
- # @todo
72
- end
73
-
74
-
75
- def setup_production_environment
76
- say 'Setting up the production environment'
77
- build :configure_smtp
78
- build :configure_rack_timeout
79
- build :enable_rack_canonical_host
80
- build :enable_rack_deflater
81
- build :setup_asset_host
82
- end
83
-
84
-
85
- def setup_staging_environment
86
- say 'Setting up the staging environment'
87
- build :setup_staging_environment
88
- end
89
-
90
-
91
- def setup_secret_token
92
- say 'Moving secret token out of version control'
93
- build :setup_secret_token
94
- end
95
-
96
-
97
- def create_application_views
98
- say 'Creating application views'
99
- build :create_partials_directory
100
- build :create_shared_analytics
101
- build :create_shared_flashes
102
- build :create_shared_javascripts
103
- build :create_application_layout
104
- build :create_body_class_helper
105
- end
106
-
107
-
108
- def configure_app
109
- say 'Configuring app'
110
- build :configure_action_mailer
111
- build :configure_puma
112
- build :setup_foreman
113
- end
114
-
115
-
116
- def create_application_assets
117
- say 'Create application stylesheets and javascripts'
118
- build :setup_stylesheets
119
- build :setup_javascripts
120
- end
121
-
122
-
123
- def copy_miscellaneous_files
124
- say 'Copying miscellaneous support files'
125
- build :copy_miscellaneous_files
126
- end
127
-
128
-
129
- def customize_error_pages
130
- say 'Customizing the 500/404/422 pages'
131
- build :customize_error_pages
132
- end
133
-
134
-
135
- def setup_devise
136
- say "Setup devise"
137
- build :setup_devise
138
- end
139
-
140
-
141
- def setup_character
142
- say "Setup character"
143
- build :setup_character_routes
144
- build :setup_character_base_controller
145
- build :configure_devise_for_character
146
- build :setup_character_views
147
- build :setup_character_stylesheets
148
- build :setup_character_javascripts
149
- build :setup_character_assets
150
- build :setup_carrierwave
151
- end
152
-
153
-
154
- def setup_git
155
- if !options[:skip_git]
156
- say 'Initializing git'
157
- invoke :setup_gitignore
158
- invoke :init_git
159
- end
160
- end
161
-
162
-
163
- def setup_gitignore
164
- build :gitignore_files
165
- end
166
-
167
-
168
- def init_git
169
- build :init_git
170
- end
171
-
172
-
173
- def setup_database
174
- say 'Setting up database'
175
- build :initialize_mongoid
176
- end
177
-
178
-
179
- def setup_bundler_audit
180
- say "Setting up bundler-audit"
181
- build :setup_bundler_audit
182
- end
183
-
184
-
185
- def setup_spring
186
- say "Springifying binstubs"
187
- build :setup_spring
188
- end
189
-
190
-
191
- def outro
192
- say 'Congratulations! You just created a new Character.'
193
- end
194
-
195
-
196
- protected
197
-
198
- def get_builder_class
199
- Chr::AppBuilder
200
- end
201
-
202
-
203
- def using_active_record?
204
- !options[:skip_active_record]
205
- end
206
-
207
- end
208
- end
209
-
210
-
211
-
@@ -1,18 +0,0 @@
1
- require 'rails/generators/base'
2
-
3
- module Chr
4
- module Generators
5
- class ControllerGenerator < Rails::Generators::Base
6
- def create_controller
7
- generate "controller", "admin/#{ARGV[0]} --skip-template-engine"
8
-
9
- inject_into_file(
10
- "config/routes.rb",
11
- "\n\t\tresources :#{ARGV[0]}",
12
- after: "namespace :admin do",
13
- )
14
-
15
- end
16
- end
17
- end
18
- end
@@ -1,41 +0,0 @@
1
- source 'https://rubygems.org'
2
- ruby '<%= Chr::RUBY_VERSION %>'
3
-
4
- gem 'rails', '<%= Chr::RAILS_VERSION %>'
5
- gem 'sass-rails', '~> 5.0'
6
- gem 'uglifier'
7
- gem 'coffee-rails', '~> 4.1.0'
8
- gem 'jquery-rails'
9
- gem 'puma'
10
- gem 'recipient_interceptor'
11
- gem 'rack-canonical-host'
12
- gem 'awesome_print'
13
- gem 'bson_ext'
14
- gem 'mongoid', '~> 5.0.0'
15
- gem 'fog'
16
- gem 'fog-aws'
17
- gem 'rack-host-redirect'
18
- gem 'mongosteen', '>= 0.2.0'
19
- gem 'chr', '>= 0.5.6'
20
- gem 'ants', '>= 0.3.12'
21
- gem 'loft', '>= 0.3.1'
22
- gem 'journal', github: 'alexkravets/journal'
23
-
24
- group :development do
25
- gem 'spring'
26
- gem 'web-console'
27
- end
28
-
29
- group :development, :test do
30
- gem 'figaro'
31
- gem 'byebug'
32
- gem 'quiet_assets'
33
- gem 'bundler-audit', require: false
34
- gem 'factory_girl_rails'
35
- gem 'dotenv-rails'
36
- end
37
-
38
- group :staging, :production do
39
- gem 'rack-timeout'
40
- gem 'rails_12factor'
41
- end
@@ -1 +0,0 @@
1
- web: bundle exec puma -p $PORT -C ./config/puma.rb
@@ -1,45 +0,0 @@
1
- # <%= app_name.humanize %>
2
-
3
-
4
- ## Getting Started
5
-
6
- After you have cloned this repo, run this setup script to set up your machine
7
- with the necessary dependencies to run and test this app:
8
-
9
- % ./bin/setup
10
-
11
- It assumes you have a machine equipped with Ruby, Postgres, etc. If not, set up
12
- your machine with [this script].
13
-
14
- [this script]: https://github.com/thoughtbot/laptop
15
-
16
- After setting up, you can run the application using [foreman]:
17
-
18
- % foreman start
19
-
20
- If you don't have `foreman`, see [Foreman's install instructions][foreman]. It
21
- is [purposefully excluded from the project's `Gemfile`][exclude].
22
-
23
- [foreman]: https://github.com/ddollar/foreman
24
- [exclude]: https://github.com/ddollar/foreman/pull/437#issuecomment-41110407
25
-
26
-
27
- ## Deploying to Heroku
28
-
29
- This project is ready to deploy to [Heroku](https://heroku.com), still before that
30
- please install plugins for mongodb, email & make sure these variables are set
31
- in your app ENV:
32
-
33
- MONGODB_URI
34
- ASSET_HOST
35
- AWS_ACCESS_KEY_ID
36
- AWS_SECRET_ACCESS_KEY
37
- FOG_DIRECTORY
38
- HOST
39
- SMTP_ADDRESS
40
- SMTP_DOMAIN
41
- SMTP_PASSWORD
42
- SMTP_USERNAME
43
-
44
-
45
- Good luck, have fun, program well and program in style!
@@ -1 +0,0 @@
1
- <% # @todo: add analytics scripts %>
@@ -1,7 +0,0 @@
1
- <% if flash.any? %>
2
- <div id="flash">
3
- <% flash.each do |key, value| -%>
4
- <div class="flash-<%= key %>"><%= value %></div>
5
- <% end -%>
6
- </div>
7
- <% end %>
@@ -1,5 +0,0 @@
1
- <%= javascript_include_tag :application %>
2
-
3
- <%= yield :javascript %>
4
-
5
- <%= render "analytics" %>
@@ -1,2 +0,0 @@
1
- #= require jquery
2
- #= require jquery_ujs
@@ -1 +0,0 @@
1
- @import "normalize-rails";
@@ -1,6 +0,0 @@
1
- # http://ddollar.github.com/foreman/
2
- ASSET_HOST: localhost:3000
3
- APPLICATION_HOST: localhost:3000
4
- RACK_ENV: development
5
- SECRET_KEY_BASE: development_secret
6
- EXECJS_RUNTIME: Node
@@ -1,15 +0,0 @@
1
- !.keep
2
- *.DS_Store
3
- *.swo
4
- *.swp
5
- /.bundle
6
- /.env
7
- /.foreman
8
- /coverage/*
9
- /db/*.sqlite3
10
- /log/*
11
- /public/system
12
- /public/assets
13
- /public/loft
14
- /tags
15
- /tmp/*
@@ -1,17 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <!-- META TAGS ============================================================ -->
6
- <%%= display_meta_tags %>
7
- <!-- ====================================================================== -->
8
- <meta name="viewport" content="initial-scale=1" />
9
- <%%= stylesheet_link_tag :application, media: "all" %>
10
- <%%= csrf_meta_tags %>
11
- </head>
12
- <body class="<%%= body_class %>">
13
- <%%= render "flashes" -%>
14
- <%%= yield %>
15
- <%%= render "javascript" %>
16
- </body>
17
- </html>
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env sh
2
-
3
- # Set up Rails app. Run this script immediately after cloning the codebase.
4
- # https://github.com/thoughtbot/guides/tree/master/protocol
5
-
6
- # Exit if any subcommand fails
7
- set -e
8
-
9
- # Set up Ruby dependencies via Bundler
10
- gem install bundler --conservative
11
- bundle check || bundle install
12
-
13
- # Set up configurable environment variables
14
- if [ ! -f .env ]; then
15
- cp .sample.env .env
16
- fi
17
-
18
- # Set up database and add any development seed data
19
- bin/rake dev:prime
20
-
21
- # Add binstubs to PATH via export PATH=".git/safe/../../bin:$PATH" in ~/.zshenv
22
- mkdir -p .git/safe
23
-
24
- # Pick a port for Foreman
25
- if ! grep --quiet --no-messages --fixed-strings 'port' .foreman; then
26
- printf 'port: <%= config[:port_number] %>\n' >> .foreman
27
- fi
28
-
29
- if ! command -v foreman > /dev/null; then
30
- gem install foreman
31
- fi
32
-
33
- # Only if this isn't CI
34
- # if [ -z "$CI" ]; then
35
- # fi
@@ -1,15 +0,0 @@
1
- # Body class helper striped our from:
2
- # https://github.com/thoughtbot/flutie/blob/master/lib/flutie/body_class_helper.rb
3
- module BodyClassHelper
4
- def body_class(options = {})
5
- extra_body_classes_symbol = options[:extra_body_classes_symbol] || :extra_body_classes
6
- qualified_controller_name = controller.controller_path.gsub('/','-')
7
- basic_body_class = "#{qualified_controller_name} #{qualified_controller_name}-#{controller.action_name}"
8
-
9
- if content_for?(extra_body_classes_symbol)
10
- [basic_body_class, content_for(extra_body_classes_symbol)].join(' ')
11
- else
12
- basic_body_class
13
- end
14
- end
15
- end
@@ -1,12 +0,0 @@
1
- if Rails.env.development? || Rails.env.test?
2
- require "bundler/audit/cli"
3
-
4
- namespace :bundler do
5
- desc "Updates the ruby-advisory-db and runs audit"
6
- task :audit do
7
- %w(update check).each do |command|
8
- Bundler::Audit::CLI.start [command]
9
- end
10
- end
11
- end
12
- end