h2ocube_generator 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.
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
@@ -0,0 +1,2 @@
1
+ rvm:
2
+ - 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in bootstrappers.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 h2ocube.com
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,5 @@
1
+ # H2ocube Generator
2
+
3
+ gem install h2ocube_generator
4
+
5
+ h2ocube_generator new_project
@@ -0,0 +1,11 @@
1
+ require 'bundler/setup'
2
+ require 'bundler/gem_tasks'
3
+
4
+ desc 'Runs all testcases'
5
+ task :test do
6
+ require File.realpath('lib/h2ocube_generate.rb')
7
+ require 'test/unit'
8
+ Dir['test/*_test.rb'].each{ |f| require File.realpath(f) }
9
+ end
10
+
11
+ task :default => :test
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.expand_path(File.join('..', 'lib', 'h2ocube_generator.rb'), File.dirname(__FILE__))
4
+
5
+ source_root = File.expand_path(File.join('..', 'source'), File.dirname(__FILE__))
6
+
7
+ H2ocubeGenerator::AppGenerator.source_root source_root
8
+ H2ocubeGenerator::AppGenerator.source_paths << Rails::Generators::AppGenerator.source_root << source_root
9
+ H2ocubeGenerator::AppGenerator.start
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = 'h2ocube_generator'
7
+ gem.version = '0.0.1'
8
+ gem.authors = ['Ben']
9
+ gem.email = ['ben@h2ocube.com']
10
+ gem.description = %q{ H2ocube Generator is the base Rails application builder. }
11
+ gem.summary = %q{ H2ocube Generator is the base Rails application builder. }
12
+ gem.homepage = ""
13
+
14
+ gem.files = `git ls-files`.split($/)
15
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
+ gem.require_paths = ['lib']
18
+
19
+ gem.add_dependency 'rails', '>= 3.2'
20
+ gem.add_dependency 'bundler', '>= 1.1'
21
+ end
@@ -0,0 +1,7 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/rails/app/app_generator'
3
+
4
+ module H2ocubeGenerator
5
+ end
6
+
7
+ Dir[File.dirname(__FILE__) + '/h2ocube_generator/*.rb'].each{ |f| require f }
@@ -0,0 +1,34 @@
1
+ class H2ocubeGenerator::AppBuilder < Rails::AppBuilder
2
+ def readme
3
+ template 'README.md.erb', 'README.md'
4
+ end
5
+
6
+ def gemfile
7
+ template 'Gemfile.erb', 'Gemfile'
8
+ end
9
+
10
+ def database_yml
11
+ template 'config/mongoid.yml.erb', 'config/mongoid.yml'
12
+ end
13
+
14
+ def config
15
+ empty_directory 'config'
16
+
17
+ inside 'config' do
18
+ template 'routes.rb'
19
+ template 'application.rb.erb', 'application.rb'
20
+ template 'environment.rb'
21
+
22
+ empty_directory 'environments'
23
+
24
+ inside 'environments' do
25
+ template 'development.rb.erb', 'development.rb'
26
+ template 'test.rb.erb', 'test.rb'
27
+ template 'production.rb.erb', 'production.rb'
28
+ end
29
+
30
+ directory 'initializers'
31
+ directory 'locales'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,9 @@
1
+ class H2ocubeGenerator::AppGenerator < Rails::Generators::AppGenerator
2
+
3
+ protected
4
+
5
+ def get_builder_class
6
+ H2ocubeGenerator::AppBuilder
7
+ end
8
+
9
+ end
@@ -0,0 +1,50 @@
1
+ source :rubygems
2
+
3
+ gem 'rails' # http://api.rubyonrails.org/
4
+
5
+ # db
6
+ gem 'mongoid' # http://mongoid.org
7
+
8
+ # auth
9
+ gem 'devise' # https://github.com/plataformatec/devise
10
+ gem 'devise-async'
11
+ gem 'cancan' # https://github.com/ryanb/cancan
12
+
13
+ # upload
14
+ gem 'rest-client'
15
+ gem 'carrierwave-upyun' # https://github.com/nowa/carrierwave-upyun
16
+
17
+ # assets
18
+ gem 'slim' # https://github.com/stonean/slim
19
+ group :assets do
20
+ gem 'sass-rails', '~> 3.2.3'
21
+ gem 'compass'
22
+ gem 'coffee-rails', '~> 3.2.1'
23
+ gem 'therubyracer'
24
+ gem 'uglifier', '>= 1.0.3'
25
+ gem 'bootstrap-sass-rails' # https://github.com/yabawock/bootstrap-sass-rails
26
+ gem 'jquery-rails'
27
+ gem 'quiet_assets'
28
+ end
29
+
30
+ # helper
31
+ gem 'zfben_rails_rake'
32
+ gem 'garelic' # https://github.com/jsuchal/garelic
33
+
34
+ # queue
35
+ gem 'sidekiq' # http://mperham.github.com/sidekiq/
36
+ gem 'whenever', require: false
37
+
38
+ group :development, :test do
39
+ gem 'database_cleaner'
40
+ gem 'rspec-rails'
41
+ gem 'factory_girl_rails' # https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
42
+ gem 'capybara'
43
+ gem 'thin'
44
+ gem 'capistrano', require: false
45
+ gem 'rvm-capistrano', require: false
46
+ end
47
+
48
+ group :production do
49
+ gem 'unicorn'
50
+ end
@@ -0,0 +1,3 @@
1
+ # <%= app_const_base %>
2
+
3
+
@@ -0,0 +1,32 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require 'action_controller/railtie'
4
+ require 'action_mailer/railtie'
5
+ require 'active_resource/railtie'
6
+
7
+ if defined?(Bundler)
8
+ Bundler.require(:default, :assets, Rails.env)
9
+ end
10
+
11
+ module <%= app_const_base %>
12
+ class Application < Rails::Application
13
+
14
+ config.i18n.default_locale = 'zh-CN'
15
+
16
+ config.time_zone = 'Beijing'
17
+
18
+ config.encoding = 'utf-8'
19
+
20
+ config.filter_parameters += [:password, :password_confirm, :encrypted_password, :token, :private_token]
21
+
22
+ config.assets.enabled = true
23
+
24
+ config.sass.load_paths << Compass::Frameworks['compass'].stylesheets_directory
25
+
26
+ config.assets.compile = true
27
+
28
+ end
29
+
30
+ end
31
+
32
+ Time.zone = 'Beijing'
@@ -0,0 +1,30 @@
1
+ <%= app_const %>.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Log error messages when you accidentally call methods on nil.
10
+ config.whiny_nils = true
11
+
12
+ # Show full error reports and disable caching
13
+ config.consider_all_requests_local = true
14
+ config.action_controller.perform_caching = false
15
+
16
+ # Don't care if the mailer can't send
17
+ config.action_mailer.raise_delivery_errors = true
18
+
19
+ # Print deprecation notices to the Rails logger
20
+ config.active_support.deprecation = :log
21
+
22
+ # Only use best-standards-support built into browsers
23
+ config.action_dispatch.best_standards_support = :builtin
24
+
25
+ # Do not compress assets
26
+ config.assets.compress = false
27
+
28
+ # Expands the lines which load the assets
29
+ config.assets.debug = true
30
+ end
@@ -0,0 +1,60 @@
1
+ <%= app_const %>.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # Code is not reloaded between requests
5
+ config.cache_classes = true
6
+
7
+ # Full error reports are disabled and caching is turned on
8
+ config.consider_all_requests_local = false
9
+ config.action_controller.perform_caching = true
10
+
11
+ # Disable Rails's static asset server (Apache or nginx will already do this)
12
+ config.serve_static_assets = false
13
+
14
+ # Compress JavaScripts and CSS
15
+ config.assets.compress = true
16
+
17
+ # Generate digests for assets URLs
18
+ config.assets.digest = true
19
+
20
+ # Defaults to Rails.root.join("public/assets")
21
+ # config.assets.manifest = YOUR_PATH
22
+
23
+ # Specifies the header that your server uses for sending files
24
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
25
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
26
+
27
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
28
+ # config.force_ssl = true
29
+
30
+ # See everything in the log (default is :info)
31
+ # config.log_level = :debug
32
+
33
+ # Prepend all log lines with the following tags
34
+ # config.log_tags = [ :subdomain, :uuid ]
35
+
36
+ # Use a different logger for distributed setups
37
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
38
+
39
+ # Use a different cache store in production
40
+ # config.cache_store = :mem_cache_store
41
+
42
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server
43
+ # config.action_controller.asset_host = "http://assets.example.com"
44
+
45
+ # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
46
+ # config.assets.precompile += %w( search.js )
47
+
48
+ # Disable delivery errors, bad email addresses will be ignored
49
+ # config.action_mailer.raise_delivery_errors = false
50
+
51
+ # Enable threaded mode
52
+ # config.threadsafe!
53
+
54
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
55
+ # the I18n.default_locale when a translation can not be found)
56
+ config.i18n.fallbacks = true
57
+
58
+ # Send deprecation notices to registered listeners
59
+ config.active_support.deprecation = :notify
60
+ end
@@ -0,0 +1,34 @@
1
+ <%= app_const %>.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Configure static asset server for tests with Cache-Control for performance
11
+ config.serve_static_assets = true
12
+ config.static_cache_control = "public, max-age=3600"
13
+
14
+ # Log error messages when you accidentally call methods on nil
15
+ config.whiny_nils = true
16
+
17
+ # Show full error reports and disable caching
18
+ config.consider_all_requests_local = true
19
+ config.action_controller.perform_caching = false
20
+
21
+ # Raise exceptions instead of rendering exception templates
22
+ config.action_dispatch.show_exceptions = false
23
+
24
+ # Disable request forgery protection in test environment
25
+ config.action_controller.allow_forgery_protection = false
26
+
27
+ # Tell Action Mailer not to deliver emails to the real world.
28
+ # The :test delivery method accumulates sent emails in the
29
+ # ActionMailer::Base.deliveries array.
30
+ config.action_mailer.delivery_method = :test
31
+
32
+ # Print deprecation notices to the stderr
33
+ config.active_support.deprecation = :stderr
34
+ end
@@ -0,0 +1,21 @@
1
+ defaults: &defaults
2
+ hosts:
3
+ - 127.0.0.1:27017
4
+
5
+ development:
6
+ sessions:
7
+ default:
8
+ <<: *defaults
9
+ database: <%= app_name %>_dev
10
+
11
+ test:
12
+ sessions:
13
+ default:
14
+ <<: *defaults
15
+ database: <%= app_name %>_test
16
+
17
+ production:
18
+ sessions:
19
+ default:
20
+ <<: *defaults
21
+ database: <%= app_name %>
metadata ADDED
@@ -0,0 +1,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: h2ocube_generator
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Ben
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-11-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '3.2'
30
+ - !ruby/object:Gem::Dependency
31
+ name: bundler
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '1.1'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '1.1'
46
+ description: ! ' H2ocube Generator is the base Rails application builder. '
47
+ email:
48
+ - ben@h2ocube.com
49
+ executables:
50
+ - h2ocube_generator
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - .gitignore
55
+ - .travis.yml
56
+ - Gemfile
57
+ - LICENSE.txt
58
+ - README.md
59
+ - Rakefile
60
+ - bin/h2ocube_generator
61
+ - h2ocube_generator.gemspec
62
+ - lib/h2ocube_generator.rb
63
+ - lib/h2ocube_generator/app_builder.rb
64
+ - lib/h2ocube_generator/app_generator.rb
65
+ - source/Gemfile.erb
66
+ - source/README.md.erb
67
+ - source/config/application.rb.erb
68
+ - source/config/environments/development.rb.erb
69
+ - source/config/environments/production.rb.erb
70
+ - source/config/environments/test.rb.erb
71
+ - source/config/mongoid.yml.erb
72
+ homepage: ''
73
+ licenses: []
74
+ post_install_message:
75
+ rdoc_options: []
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ segments:
85
+ - 0
86
+ hash: 1625306676968380011
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ segments:
94
+ - 0
95
+ hash: 1625306676968380011
96
+ requirements: []
97
+ rubyforge_project:
98
+ rubygems_version: 1.8.24
99
+ signing_key:
100
+ specification_version: 3
101
+ summary: H2ocube Generator is the base Rails application builder.
102
+ test_files: []