gimbal 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c9bec73840acda47571b6eb7d1391c7d1c9b260
4
- data.tar.gz: 8894555a3a221376fe8a9096903470d72ac836aa
3
+ metadata.gz: 03f55873c2f2a8082257070620282cb6c028a752
4
+ data.tar.gz: c41cf3ce49c838e10317a5c6abd0b3b9b06382af
5
5
  SHA512:
6
- metadata.gz: 995d3ecfa9e1d058d3e42ad793129582c86742ce0dd9b3ea7a94230d70ebcf03aa3ca5f77f706aaf49288843afc47a518a2c189fdc54752a7c6f5e5979d2fbad
7
- data.tar.gz: 624476dea16243d2084d0482474f4bfbb84ff1e372d948178240b68cf08be38dcc057e56f6f6b9d7ff08570af9a41acde75bf9ac056b181d7daa282f509c1610
6
+ metadata.gz: 46179e670dee4588a816dc4118cb00989e0d8de815faf47a7045bc1fa69ff0a0bb82eb65594e4b486735b8cd0d6e7c1a3990a979548eb0682aef1172939ac843
7
+ data.tar.gz: f6f80c232c70650790d2a3c8d90fcd531b4527fe71813a9b2f2f678b01a2a9287c2b387765374bb6a0108d7fed237ff38798310e2dea768cbe5baf4b002ab278
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  Gemfile.lock
4
4
  /.bundle
5
5
  /tmp
6
+ /.idea
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.2.4
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  language: ruby
2
- rvm: 2.2.3
2
+ rvm: 2.2.4
3
3
  cache: bundler
4
4
  sudo: false
5
5
  before_install:
@@ -158,18 +158,23 @@ module Gimbal
158
158
  end
159
159
 
160
160
  def create_shared_flashes
161
- copy_file "_flashes.html.erb", "app/views/application/_flashes.html.erb"
161
+ copy_file "_flashes.html.haml", "app/views/application/_flashes.html.haml"
162
162
  copy_file "flashes_helper.rb", "app/helpers/flashes_helper.rb"
163
163
  end
164
164
 
165
165
  def create_shared_javascripts
166
- copy_file '_javascript.html.erb', 'app/views/application/_javascript.html.erb'
166
+ copy_file '_javascript.html.haml', 'app/views/application/_javascript.html.haml'
167
+ end
168
+
169
+ def create_analytics_partial
170
+ copy_file '_analytics.html.haml',
171
+ 'app/views/application/_analytics.html.haml'
167
172
  end
168
173
 
169
174
  def create_application_layout
170
- template 'gimbal_layout.html.erb.erb',
171
- 'app/views/layouts/application.html.erb',
172
- force: true
175
+ remove_file 'app/views/layouts/application.html.erb'
176
+ template 'gimbal_layout.html.haml.erb',
177
+ 'app/views/layouts/application.html.haml'
173
178
  end
174
179
 
175
180
  def create_database
@@ -35,6 +35,7 @@ module Gimbal
35
35
  invoke :setup_git
36
36
  invoke :setup_database
37
37
  invoke :create_github_repo
38
+ invoke :setup_analytics
38
39
  invoke :setup_bundler_audit
39
40
  invoke :setup_spring
40
41
  end
@@ -94,6 +95,11 @@ module Gimbal
94
95
  build :create_application_layout
95
96
  end
96
97
 
98
+ def setup_analytics
99
+ say 'Configure Analytics'
100
+ build :create_analytics_partial
101
+ end
102
+
97
103
  def configure_app
98
104
  say 'Configuring app'
99
105
  build :configure_time_formats
@@ -1,5 +1,5 @@
1
1
  module Gimbal
2
- RAILS_VERSION = '~> 4.2.0'
2
+ RAILS_VERSION = '~> 4.2'
3
3
  RUBY_VERSION = IO.read("#{File.dirname(__FILE__)}/../../.ruby-version").strip
4
- VERSION = '0.0.3'
4
+ VERSION = '0.0.4'
5
5
  end
data/spec/fakes/bin/hub CHANGED
File without changes
@@ -1,15 +1,16 @@
1
1
  require 'spec_helper'
2
2
 
3
- # RSpec.describe "GitHub" do
4
- # before do
5
- # drop_dummy_database
6
- # remove_project_directory
7
- # end
8
- #
9
- # it "creates a project with --github option" do
10
- # repo_name = 'test'
11
- # run_gimbal("--github=#{repo_name}")
12
- #
13
- # expect(FakeGithub).to have_created_repo(repo_name)
14
- # end
15
- # end
3
+ RSpec.describe "GitHub" do
4
+ before do
5
+ drop_dummy_database
6
+ remove_project_directory
7
+ end
8
+
9
+ it "creates a project with --github option" do
10
+ repo_name = 'test'
11
+ run_gimbal("--github=#{repo_name}")
12
+ setup_app_dependencies
13
+
14
+ expect(FakeGithub).to have_created_repo(repo_name)
15
+ end
16
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec.describe "Create a new project with default config" do
3
+ RSpec.describe 'Create a new project with default config' do
4
4
  before(:all) do
5
5
  drop_dummy_database
6
6
  remove_project_directory
@@ -10,12 +10,12 @@ RSpec.describe "Create a new project with default config" do
10
10
  it 'ensures project specs pass' do
11
11
  Dir.chdir(project_path) do
12
12
  Bundler.with_clean_env do
13
- expect(`rake`).to include('0 failures')
13
+ expect(`rake`).to match(/0 failures/)
14
14
  end
15
15
  end
16
16
  end
17
17
 
18
- it "configs missing assets to raise in test" do
18
+ it 'configs missing assets to raise in test' do
19
19
  test_config = IO.read("#{project_path}/config/environments/test.rb")
20
20
 
21
21
  expect(test_config).to match(
@@ -23,7 +23,7 @@ RSpec.describe "Create a new project with default config" do
23
23
  )
24
24
  end
25
25
 
26
- it "configs raise_on_delivery errors in development" do
26
+ it 'configs raise_on_delivery errors in development' do
27
27
  dev_config = IO.read("#{project_path}/config/environments/development.rb")
28
28
 
29
29
  expect(dev_config).to match(
@@ -31,7 +31,7 @@ RSpec.describe "Create a new project with default config" do
31
31
  )
32
32
  end
33
33
 
34
- it "configs development to send mail using letter_opener" do
34
+ it 'configs development to send mail using letter_opener' do
35
35
  dev_config = IO.read("#{project_path}/config/environments/development.rb")
36
36
 
37
37
  expect(dev_config).to match(
@@ -39,7 +39,7 @@ RSpec.describe "Create a new project with default config" do
39
39
  )
40
40
  end
41
41
 
42
- it "configs development to raise on missing translations" do
42
+ it 'configs development to raise on missing translations' do
43
43
  dev_config = IO.read("#{project_path}/config/environments/development.rb")
44
44
 
45
45
  expect(dev_config).to match(
@@ -47,7 +47,7 @@ RSpec.describe "Create a new project with default config" do
47
47
  )
48
48
  end
49
49
 
50
- it "configs test to raise on missing translations" do
50
+ it 'configs test to raise on missing translations' do
51
51
  dev_config = IO.read("#{project_path}/config/environments/test.rb")
52
52
 
53
53
  expect(dev_config).to match(
@@ -55,7 +55,7 @@ RSpec.describe "Create a new project with default config" do
55
55
  )
56
56
  end
57
57
 
58
- it "configs bullet gem in development" do
58
+ it 'configs bullet gem in development' do
59
59
  dev_config = IO.read("#{project_path}/config/environments/development.rb")
60
60
 
61
61
  expect(dev_config).to match /^ +Bullet.enable = true$/
@@ -63,7 +63,7 @@ RSpec.describe "Create a new project with default config" do
63
63
  expect(dev_config).to match /^ +Bullet.rails_logger = true$/
64
64
  end
65
65
 
66
- it "raises on unpermitted parameters in all environments" do
66
+ it 'raises on unpermitted parameters in all environments' do
67
67
  result = IO.read("#{project_path}/config/application.rb")
68
68
 
69
69
  expect(result).to match(
@@ -71,7 +71,7 @@ RSpec.describe "Create a new project with default config" do
71
71
  )
72
72
  end
73
73
 
74
- it "configures generators" do
74
+ it 'configures generators' do
75
75
  result = IO.read("#{project_path}/config/application.rb")
76
76
 
77
77
  expect(result).to match(/^ +generate.helper false$/)
@@ -83,48 +83,52 @@ RSpec.describe "Create a new project with default config" do
83
83
  expect(result).to match(/^ +generate.view_specs false/)
84
84
  end
85
85
 
86
- it "configures language in html element" do
87
- layout_path = "/app/views/layouts/application.html.erb"
86
+ it 'removes the default erb layout' do
87
+ expect(File).not_to exist("#{project_path}/app/views/layouts/application.html.erb")
88
+ end
89
+
90
+ it 'configures language in html element' do
91
+ layout_path = '/app/views/layouts/application.html.haml'
88
92
  layout_file = IO.read("#{project_path}#{layout_path}")
89
- expect(layout_file).to match(/<html lang="en">/)
93
+ expect(layout_file).to match(/%html\{lang: 'en'\}/)
90
94
  end
91
95
 
92
- it "evaluates en.yml.erb" do
96
+ it 'evaluates en.yml.erb' do
93
97
  locales_en_file = IO.read("#{project_path}/config/locales/en.yml")
94
98
  app_name = GimbalTestHelpers::APP_NAME
95
99
 
96
100
  expect(locales_en_file).to match(/application: #{app_name.humanize}/)
97
101
  end
98
102
 
99
- it "adds support file for action mailer" do
103
+ it 'adds support file for action mailer' do
100
104
  expect(File).to exist("#{project_path}/spec/support/action_mailer.rb")
101
105
  end
102
106
 
103
- it "adds support file for factory girl" do
107
+ it 'adds support file for factory girl' do
104
108
  expect(File).to exist("#{project_path}/spec/support/factory_girl.rb")
105
109
  end
106
110
 
107
- it "adds support file for database cleaner" do
111
+ it 'adds support file for database cleaner' do
108
112
  expect(File).to exist("#{project_path}/spec/support/database_cleaner.rb")
109
113
  end
110
114
 
111
- it "adds support file for database cleaner" do
115
+ it 'adds support file for database cleaner' do
112
116
  expect(File).to exist("#{project_path}/spec/support/shoulda_matchers.rb")
113
117
  end
114
118
 
115
- it "adds support file for i18n" do
119
+ it 'adds support file for i18n' do
116
120
  expect(File).to exist("#{project_path}/spec/support/i18n.rb")
117
121
  end
118
122
 
119
- it "adds specs for missing or unused translations" do
123
+ it 'adds specs for missing or unused translations' do
120
124
  expect(File).to exist("#{project_path}/spec/i18n_spec.rb")
121
125
  end
122
126
 
123
- it "configs i18n-tasks" do
127
+ it 'configs i18n-tasks' do
124
128
  expect(File).to exist("#{project_path}/config/i18n-tasks.yml")
125
129
  end
126
130
 
127
- it "creates .ruby-version from Gimbal .ruby-version" do
131
+ it 'creates .ruby-version from Gimbal .ruby-version' do
128
132
  ruby_version_file = IO.read("#{project_path}/.ruby-version")
129
133
 
130
134
  expect(ruby_version_file).to eq "#{RUBY_VERSION}\n"
@@ -20,6 +20,16 @@ module GimbalTestHelpers
20
20
  end
21
21
  end
22
22
 
23
+ def setup_app_dependencies
24
+ if File.exist?(project_path)
25
+ Dir.chdir(project_path) do
26
+ Bundler.with_clean_env do
27
+ `bundle check || bundle install`
28
+ end
29
+ end
30
+ end
31
+ end
32
+
23
33
  def drop_dummy_database
24
34
  if File.exist?(project_path)
25
35
  Dir.chdir(project_path) do
@@ -6,7 +6,8 @@ ruby "<%= Gimbal::RUBY_VERSION %>"
6
6
  gem "autoprefixer-rails"
7
7
  gem "coffee-rails", "~> 4.1.0"
8
8
  # gem "delayed_job_active_record"
9
- # gem "flutie"
9
+ gem "flutie"
10
+ gem "haml-rails", "~> 0.9"
10
11
  # gem "high_voltage"
11
12
  gem "jquery-rails"
12
13
  # gem "newrelic_rpm", ">= 3.9.8"
@@ -17,7 +18,7 @@ gem "puma"
17
18
  gem "rails", "<%= Gimbal::RAILS_VERSION %>"
18
19
  # gem "recipient_interceptor"
19
20
  gem "sass-rails", "~> 5.0"
20
- # gem "title"
21
+ gem "title"
21
22
  gem "uglifier"
22
23
 
23
24
  group :development do
@@ -0,0 +1,5 @@
1
+ - if ENV["SEGMENT_KEY"]
2
+ :javascript
3
+ window.analytics=window.analytics||[],window.analytics.methods=["identify","group","track","page","pageview","alias","ready","on","once","off","trackLink","trackForm","trackClick","trackSubmit"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var key=window.analytics.methods[i];window.analytics[key]=window.analytics.factory(key)}window.analytics.load=function(t){if(!document.getElementById("analytics-js")){var a=document.createElement("script");a.type="text/javascript",a.id="analytics-js",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)}},window.analytics.SNIPPET_VERSION="2.0.9",
4
+ window.analytics.load("#{ENV["SEGMENT_KEY"]}");
5
+ window.analytics.page();
@@ -0,0 +1,5 @@
1
+ - if flash.any?
2
+ .flashes
3
+ - user_facing_flashes.each do |key, value|
4
+ %div{class: "flash-#{key}"}
5
+ = value
@@ -0,0 +1,8 @@
1
+ = javascript_include_tag :application
2
+ = yield :javascript
3
+ = render "analytics"
4
+
5
+ - if Rails.env.test?
6
+ = javascript_tag do
7
+ $.fx.off = true;
8
+ $.ajaxSetup({ async: false });
@@ -11,3 +11,4 @@
11
11
  /public/assets
12
12
  /tags
13
13
  /tmp/*
14
+ /.idea
@@ -0,0 +1,17 @@
1
+ !!! 5
2
+ %html{lang: '<%= I18n.locale %>'}
3
+ %head
4
+ %meta{charset: 'utf-8'}
5
+ %meta{name: 'ROBOTS', content: 'NOODP'}
6
+ %meta{name: 'viewport', content: 'initial-scale=1'}
7
+ -#
8
+ Configure default and controller-, and view-specific titles in
9
+ config/locales/en.yml. For more see:
10
+ https://github.com/calebthompson/title#usage
11
+ %title= title
12
+ = stylesheet_link_tag :application, media: 'all'
13
+ = csrf_meta_tags
14
+ %body{class: body_class}
15
+ = render "flashes"
16
+ = yield
17
+ = render "javascript"
@@ -1,4 +1,4 @@
1
- ENV["RAILS_ENV"] = "test"
1
+ ENV["RACK_ENV"] = "test"
2
2
 
3
3
  require File.expand_path("../../config/environment", __FILE__)
4
4
  abort("DATABASE_URL environment variable is set") if ENV["DATABASE_URL"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gimbal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Pascoe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-01 00:00:00.000000000 Z
11
+ date: 2016-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.0
33
+ version: '4.2'
34
34
  type: :runtime
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: 4.2.0
40
+ version: '4.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -96,8 +96,9 @@ files:
96
96
  - spec/support/fake_github.rb
97
97
  - spec/support/gimbal.rb
98
98
  - templates/Gemfile.erb
99
- - templates/_flashes.html.erb
100
- - templates/_javascript.html.erb
99
+ - templates/_analytics.html.haml
100
+ - templates/_flashes.html.haml
101
+ - templates/_javascript.html.haml
101
102
  - templates/action_mailer.rb
102
103
  - templates/bundler_audit.rake
103
104
  - templates/config_i18n_tasks.yml
@@ -106,7 +107,7 @@ files:
106
107
  - templates/factory_girl_rspec.rb
107
108
  - templates/flashes_helper.rb
108
109
  - templates/gimbal_gitignore
109
- - templates/gimbal_layout.html.erb.erb
110
+ - templates/gimbal_layout.html.haml.erb
110
111
  - templates/i18n.rb
111
112
  - templates/mysql_database.yml.erb
112
113
  - templates/puma.rb
@@ -126,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
127
  requirements:
127
128
  - - ">="
128
129
  - !ruby/object:Gem::Version
129
- version: 2.2.3
130
+ version: 2.2.4
130
131
  required_rubygems_version: !ruby/object:Gem::Requirement
131
132
  requirements:
132
133
  - - ">="
@@ -134,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
135
  version: '0'
135
136
  requirements: []
136
137
  rubyforge_project:
137
- rubygems_version: 2.4.5.1
138
+ rubygems_version: 2.4.8
138
139
  signing_key:
139
140
  specification_version: 4
140
141
  summary: A Rails App Generator.
@@ -1,7 +0,0 @@
1
- <% if flash.any? %>
2
- <div class="flashes">
3
- <% user_facing_flashes.each do |key, value| -%>
4
- <div class="flash-<%= key %>"><%= value %></div>
5
- <% end -%>
6
- </div>
7
- <% end %>
@@ -1,12 +0,0 @@
1
- <%= javascript_include_tag :application %>
2
-
3
- <%= yield :javascript %>
4
-
5
- <%= render "analytics" %>
6
-
7
- <% if Rails.env.test? %>
8
- <%= javascript_tag do %>
9
- $.fx.off = true;
10
- $.ajaxSetup({ async: false });
11
- <% end %>
12
- <% end %>
@@ -1,21 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="<%= I18n.locale %>">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="ROBOTS" content="NOODP" />
6
- <meta name="viewport" content="initial-scale=1" />
7
- <%%#
8
- Configure default and controller-, and view-specific titles in
9
- config/locales/en.yml. For more see:
10
- https://github.com/calebthompson/title#usage
11
- %>
12
- <title><%%= title %></title>
13
- <%%= stylesheet_link_tag :application, media: "all" %>
14
- <%%= csrf_meta_tags %>
15
- </head>
16
- <body class="<%%= body_class %>">
17
- <%%= render "flashes" -%>
18
- <%%= yield %>
19
- <%%= render "javascript" %>
20
- </body>
21
- </html>