sparkler 0.3.3 → 0.4.0

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.
@@ -32,9 +32,9 @@ module Sparkler
32
32
  new_gems = File.open(additions_path).read
33
33
  inject_into_file 'Gemfile', "\n#{new_gems}", after: /gem 'sqlite3'/
34
34
 
35
- asset_gems = <<-END.gsub(/^ {6}/, '')
36
- gem 'compass-rails', '~> 1.0.3'
35
+ asset_gems = <<-END.gsub(/^ {4}/, '')
37
36
  gem 'zurb-foundation'
37
+ gem 'compass-rails', github: 'milgner/compass-rails', ref: '1749c06f15dc4b058427e7969810457213647fb8'
38
38
  END
39
39
 
40
40
  inject_into_file 'Gemfile', "\n#{asset_gems}", after: /gem 'uglifier'.*$/
@@ -42,10 +42,12 @@ module Sparkler
42
42
 
43
43
  def use_sqlite_config_template
44
44
  template 'database.sqlite.yml.erb', 'config/database.yml', force: true
45
+ template 'database.sqlite.yml.erb', 'config/database.example.yml', force: true
45
46
  end
46
47
 
47
48
  def use_postgres_config_template
48
49
  template 'database.postgres.yml.erb', 'config/database.yml', force: true
50
+ template 'database.postgres.yml.erb', 'config/database.example.yml', force: true
49
51
  end
50
52
 
51
53
  def setup_local_postgres
@@ -88,7 +90,7 @@ module Sparkler
88
90
  end
89
91
 
90
92
  def setup_foundation
91
- generate 'foundation:install'
93
+ generate 'foundation:install --skip'
92
94
  end
93
95
 
94
96
  def add_foundation_to_application
@@ -100,13 +102,19 @@ module Sparkler
100
102
  copy_file 'env', '.env'
101
103
  end
102
104
 
103
- def remove_routes_comment_lines
104
- replace_in_file 'config/routes.rb', /Application\.routes\.draw do.*end/m, "Application.routes.draw do\nend"
105
+ def setup_sentry
106
+ copy_file 'raven.rb', 'config/initializers/raven.rb'
107
+ end
108
+
109
+ def setup_scripts
110
+ %w(bootstrap data).each do |file|
111
+ copy_file file, "script/#{file}"
112
+ chmod "script/#{file}", 0755
113
+ end
105
114
  end
106
115
 
107
- def generate_cucumber
108
- generate 'cucumber:install', '--rspec', '--capybara'
109
- copy_file 'cucumber_javascript.rb', 'features/support/javascript.rb'
116
+ def remove_routes_comment_lines
117
+ replace_in_file 'config/routes.rb', /Application\.routes\.draw do.*end/m, "Application.routes.draw do\nend"
110
118
  end
111
119
 
112
120
  def configure_generators
@@ -22,10 +22,11 @@ module Sparkler
22
22
  invoke :create_views_and_layouts
23
23
  invoke :copy_miscellaneous_files
24
24
  invoke :setup_foundation
25
+ invoke :setup_sentry
25
26
  invoke :setup_env
26
- invoke :setup_cucumber
27
27
  invoke :setup_rspec
28
28
  invoke :setup_git
29
+ invoke :setup_scripts
29
30
  end
30
31
 
31
32
  def remove_useless_files
@@ -53,7 +54,6 @@ module Sparkler
53
54
  say 'Creating layouts and partials'
54
55
  build :create_partials_directory
55
56
  build :create_shared_flashes
56
- build :create_application_layout
57
57
 
58
58
  say 'Setting up High Voltage and a home page'
59
59
  build :setup_high_voltage
@@ -63,12 +63,18 @@ module Sparkler
63
63
  say 'Generating Foundation'
64
64
  build :setup_foundation
65
65
  build :add_foundation_to_application
66
+ build :create_application_layout
67
+ end
68
+
69
+ def setup_sentry
70
+ say 'Configuring Sentry'
71
+ build :setup_sentry
66
72
  end
67
73
 
68
74
  def customize_gemfile
69
75
  say 'Setting up gems and bundling'
70
76
  build :add_custom_gems
71
- bundle_command 'install --binstubs --path vendor'
77
+ bundle_command 'install --path vendor'
72
78
  bundle_command 'package'
73
79
  end
74
80
 
@@ -84,6 +90,11 @@ module Sparkler
84
90
  build :ignore_local_postgres if options[:local_database]
85
91
  end
86
92
 
93
+ def setup_scripts
94
+ say 'Adding convenience scripts'
95
+ build :setup_scripts
96
+ end
97
+
87
98
  def copy_miscellaneous_files
88
99
  say 'Copying miscellaneous support files'
89
100
  build :copy_miscellaneous_files
@@ -94,12 +105,6 @@ module Sparkler
94
105
  build :add_env_from_template
95
106
  end
96
107
 
97
- def setup_cucumber
98
- say 'Installing and configuring Cucumber'
99
- build :generate_cucumber
100
- say "Don't forget to install chromedriver if you haven't already."
101
- end
102
-
103
108
  def setup_rspec
104
109
  say 'Configuring Rspec'
105
110
  build :configure_rspec
@@ -1,3 +1,3 @@
1
1
  module Sparkler
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  end
data/sparkler.gemspec CHANGED
@@ -4,9 +4,9 @@ require File.expand_path('../lib/sparkler/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = "sparkler"
6
6
  gem.version = Sparkler::VERSION
7
- gem.date = Date.today.strftime('%Y-%m-%d')
7
+ gem.date = Time.now.strftime('%Y-%m-%d')
8
8
  gem.authors = ["Chris Moore"]
9
- gem.email = ["chrism@gaslightsoftware.com"]
9
+ gem.email = ["chrism@gaslight.co"]
10
10
  gem.summary = %q{Generate a Rails app using Gaslight's choices of gems and frameworks.}
11
11
  gem.description = %q{Spin up a Rails app using all the tools and frameworks we like at Gaslight. Inspired heavily by thoughtbot's Suspenders.}
12
12
  gem.homepage = "https://github.com/gaslight/sparkler"
@@ -16,6 +16,6 @@ Gem::Specification.new do |gem|
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ["lib"]
18
18
 
19
- gem.add_dependency 'rails', '3.2.12'
19
+ gem.add_dependency 'rails', '4.0.0'
20
20
  gem.add_dependency 'bundler', '>= 1.1'
21
21
  end
@@ -1,25 +1,18 @@
1
- gem 'thin'
1
+ gem 'puma'
2
2
  gem 'haml-rails'
3
3
  gem 'high_voltage', ">= 1.2.0"
4
4
  gem 'rdiscount'
5
- gem 'airbrake'
6
-
7
- group :development do
8
- gem 'foreman'
9
- end
5
+ gem 'sentry-raven'
10
6
 
11
7
  group :development, :test do
12
- gem 'rspec-rails', '~> 2.9.0'
13
- gem 'dotenv'
8
+ gem 'rspec-rails'
9
+ gem 'dotenv-rails'
14
10
  end
15
11
 
16
12
  group :test do
17
- gem 'cucumber-rails', '1.3.0', :require => false
18
13
  gem 'factory_girl_rails'
19
14
  gem 'database_cleaner'
20
15
  gem 'timecop'
21
- gem 'shoulda-matchers'
22
- gem 'launchy'
23
16
  end
24
17
 
25
18
  group :staging, :production do
data/templates/Procfile CHANGED
@@ -1,2 +1,2 @@
1
- web: bundle exec thin start -p $PORT
1
+ web: bundle exec rails server -p $PORT
2
2
  <% if options[:local_database] %>db: postgres -D pg<% end %>
@@ -1,3 +1,4 @@
1
+ @import compass/css3
1
2
  @import foundation_and_overrides
2
3
 
3
4
  body
@@ -8,16 +8,15 @@
8
8
  = stylesheet_link_tag "application"
9
9
  = csrf_meta_tags
10
10
  %body
11
- #wrapper.container
12
- %header.row
13
- .columns.twelve
14
- %h1 Header
15
- #main.row
16
- .columns.twelve
17
- = render 'application/flashes'
18
- = yield
19
- %footer.row
20
- .columns.twelve
21
- %p &copy; #{Date.today.year} Gaslight Software LLC. All Rights Reserved.
11
+ %header.row
12
+ .columns.large-12
13
+ %h1 Header
14
+ #main.row
15
+ .columns.large-12
16
+ = render 'application/flashes'
17
+ = yield
18
+ %footer.row
19
+ .columns.large-12
20
+ %p &copy; #{Date.today.year} Gaslight LLC. All Rights Reserved.
22
21
  = javascript_include_tag "application"
23
22
  = content_for(:javascript)
@@ -0,0 +1,43 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ echo ""
6
+ echo " Setting up..."
7
+ echo ""
8
+
9
+ #
10
+ # Check for Bundler
11
+ #
12
+ if test ! $(which bundle)
13
+ then
14
+ echo " x You need to install Bundler:"
15
+ echo " gem install bundler"
16
+ exit
17
+ else
18
+ echo " + Bundler found."
19
+ fi
20
+
21
+ #
22
+ # Install gems
23
+ #
24
+ echo " + Bootstrapping your Rubies."
25
+ bundle install --without production --local --path vendor --quiet
26
+
27
+ #
28
+ # Setting up database.yml
29
+ #
30
+ echo " + Setup config/database.yml"
31
+ cp config/database.example.yml config/database.yml
32
+
33
+ #
34
+ # Setting up database
35
+ #
36
+ echo " + Setting up database..."
37
+ rake db:setup
38
+
39
+ echo ""
40
+ echo "Ok, setup complete. Run"
41
+ echo " rails server"
42
+ echo "to start the application."
43
+
data/templates/data ADDED
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ dropdb DB_NAME_dev
6
+ createdb DB_NAME_dev
7
+
8
+ heroku pgbackups:capture --expire --app HEROKU_APP_NAME
9
+ curl -Lo latest.dump `heroku pgbackups:url --app HEROKU_APP_NAME`
10
+ pg_restore --verbose --no-acl --no-owner -d DB_NAME_dev latest.dump
11
+
data/templates/en.yml ADDED
@@ -0,0 +1,31 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # To learn more, please read the Rails Internationalization guide
20
+ # available at http://guides.rubyonrails.org/i18n.html.
21
+
22
+ en:
23
+ date:
24
+ formats:
25
+ nice: "%B %e, %Y"
26
+ year: "%Y"
27
+ year_and_month: "%B of %Y"
28
+ time:
29
+ formats:
30
+ nice: "%B %e, %Y %l:%M%p"
31
+
data/templates/env CHANGED
@@ -1,2 +1,3 @@
1
1
  PORT=3000
2
+ SENTRY_DSN=12345
2
3
 
@@ -1,4 +1,3 @@
1
1
 
2
2
  # Vendor Everything
3
- /bin/
4
3
  /vendor/ruby/
@@ -0,0 +1,5 @@
1
+ require 'raven'
2
+
3
+ Raven.configure do |config|
4
+ config.dsn = ENV.fetch('SENTRY_DSN')
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sparkler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-17 00:00:00.000000000 Z
12
+ date: 2013-07-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.12
21
+ version: 4.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.12
29
+ version: 4.0.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: bundler
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -46,7 +46,7 @@ dependencies:
46
46
  description: Spin up a Rails app using all the tools and frameworks we like at Gaslight.
47
47
  Inspired heavily by thoughtbot's Suspenders.
48
48
  email:
49
- - chrism@gaslightsoftware.com
49
+ - chrism@gaslight.co
50
50
  executables:
51
51
  - sparkler
52
52
  extensions: []
@@ -69,12 +69,15 @@ files:
69
69
  - templates/_flashes.html.haml
70
70
  - templates/application.css.sass
71
71
  - templates/application_layout.html.haml
72
- - templates/cucumber_javascript.rb
72
+ - templates/bootstrap
73
+ - templates/data
73
74
  - templates/database.postgres.yml.erb
74
75
  - templates/database.sqlite.yml.erb
76
+ - templates/en.yml
75
77
  - templates/env
76
78
  - templates/gitignore_additions
77
79
  - templates/home.html.haml
80
+ - templates/raven.rb
78
81
  - templates/time_formats.rb
79
82
  - test/lib/sparkler/version_test.rb
80
83
  - test/test_helper.rb
@@ -1,5 +0,0 @@
1
- Capybara.register_driver :chrome do |app|
2
- Capybara::Selenium::Driver.new(app, :browser => :chrome)
3
- end
4
-
5
- Capybara.javascript_driver = :chrome