rails-eos 0.2.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2294dbb6c05bda5596f7f29b496a9eb340a412f1
4
+ data.tar.gz: 46ebd9345e642829ac10aa4bc9c84c8fa8cd21c4
5
+ SHA512:
6
+ metadata.gz: 4d88c6422d763bf96014a33e5e21cdfa6fd1c6b7a0cbb5285414844d7aaed3e686628c524b06b88c84cff4fd61ebeead94bbe2199d7f72001936334f62864561
7
+ data.tar.gz: a308809e9ae73162990b14a2a712a59b63429123cdcfe4d5dbecc1329dc74731b732eda78e6226cae643d7d27d4cc82e2466b7ad04fa62d10424be4763bc1d21
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+ ruby '2.1.0'
3
+ # Add dependencies required to use your gem here.
4
+ # Example:
5
+ # gem "activesupport", ">= 2.3.5"
6
+
7
+ # Add dependencies to develop your gem here.
8
+ # Include everything needed to run rake, tests, features, etc.
9
+ group :development do
10
+ gem "shoulda", ">= 0"
11
+ gem "rdoc", "~> 3.12"
12
+ gem "bundler", "~> 1.0"
13
+ gem "jeweler", "~> 2.0.1"
14
+ gem "simplecov", ">= 0"
15
+ end
@@ -0,0 +1,82 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (4.0.4)
5
+ i18n (~> 0.6, >= 0.6.9)
6
+ minitest (~> 4.2)
7
+ multi_json (~> 1.3)
8
+ thread_safe (~> 0.1)
9
+ tzinfo (~> 0.3.37)
10
+ addressable (2.3.6)
11
+ atomic (1.1.16)
12
+ builder (3.2.2)
13
+ descendants_tracker (0.0.4)
14
+ thread_safe (~> 0.3, >= 0.3.1)
15
+ docile (1.1.3)
16
+ faraday (0.9.0)
17
+ multipart-post (>= 1.2, < 3)
18
+ git (1.2.6)
19
+ github_api (0.11.3)
20
+ addressable (~> 2.3)
21
+ descendants_tracker (~> 0.0.1)
22
+ faraday (~> 0.8, < 0.10)
23
+ hashie (>= 1.2)
24
+ multi_json (>= 1.7.5, < 2.0)
25
+ nokogiri (~> 1.6.0)
26
+ oauth2
27
+ hashie (2.0.5)
28
+ highline (1.6.21)
29
+ i18n (0.6.9)
30
+ jeweler (2.0.1)
31
+ builder
32
+ bundler (>= 1.0)
33
+ git (>= 1.2.5)
34
+ github_api
35
+ highline (>= 1.6.15)
36
+ nokogiri (>= 1.5.10)
37
+ rake
38
+ rdoc
39
+ json (1.8.1)
40
+ jwt (0.1.11)
41
+ multi_json (>= 1.5)
42
+ mini_portile (0.5.3)
43
+ minitest (4.7.5)
44
+ multi_json (1.9.2)
45
+ multi_xml (0.5.5)
46
+ multipart-post (2.0.0)
47
+ nokogiri (1.6.1)
48
+ mini_portile (~> 0.5.0)
49
+ oauth2 (0.9.3)
50
+ faraday (>= 0.8, < 0.10)
51
+ jwt (~> 0.1.8)
52
+ multi_json (~> 1.3)
53
+ multi_xml (~> 0.5)
54
+ rack (~> 1.2)
55
+ rack (1.5.2)
56
+ rake (10.2.2)
57
+ rdoc (3.12.2)
58
+ json (~> 1.4)
59
+ shoulda (3.5.0)
60
+ shoulda-context (~> 1.0, >= 1.0.1)
61
+ shoulda-matchers (>= 1.4.1, < 3.0)
62
+ shoulda-context (1.2.1)
63
+ shoulda-matchers (2.5.0)
64
+ activesupport (>= 3.0.0)
65
+ simplecov (0.8.2)
66
+ docile (~> 1.1.0)
67
+ multi_json
68
+ simplecov-html (~> 0.8.0)
69
+ simplecov-html (0.8.0)
70
+ thread_safe (0.3.1)
71
+ atomic (>= 1.1.7, < 2)
72
+ tzinfo (0.3.39)
73
+
74
+ PLATFORMS
75
+ ruby
76
+
77
+ DEPENDENCIES
78
+ bundler (~> 1.0)
79
+ jeweler (~> 2.0.1)
80
+ rdoc (~> 3.12)
81
+ shoulda
82
+ simplecov
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2014 Sodafight
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,74 @@
1
+ # rails-eos
2
+
3
+
4
+
5
+ ## Installing
6
+
7
+ <hr>
8
+
9
+ Install the gem with:
10
+
11
+ ```console
12
+ $ gem install rails-eos
13
+ ```
14
+
15
+ <br>
16
+ ## Getting Started
17
+
18
+ <hr>
19
+
20
+ Generate a new rails project:
21
+
22
+ ```console
23
+ $ eos start newapp
24
+ ```
25
+
26
+ then:
27
+
28
+ ```console
29
+ $ cd newapp
30
+ ```
31
+
32
+ finally:
33
+
34
+ ```console
35
+ $ eos convert
36
+ ```
37
+
38
+ and you're done!
39
+
40
+ <br>
41
+
42
+ ## What it does
43
+ <hr>
44
+
45
+ Here's what Eos will change in your project:
46
+
47
+ - Replaces Gemfile.
48
+ - Views converted to HAML
49
+ - Creates Home Controller.
50
+ - Creates first Route.
51
+ - Creates Guardfile.
52
+ - Installs Simple Form.
53
+ - Installs Rspec.
54
+ - installs Cucumber.
55
+ - Installs LiveReload.
56
+ - Installs Bower.
57
+
58
+ Other Notes:
59
+
60
+ - Devise has been included but not installed.
61
+ - Bower assets are installed into vendor/assets/components.
62
+ - Bower components have been added to gitignore - you may want to change this for production.
63
+ - Check out https://coderwall.com/p/6bmygq or https://gist.github.com/afeld/5704079 for getting bower into production.
64
+ - You can start the server with `bundle exec guard` and find your app at localhost:5878
65
+
66
+
67
+ ## Roadmap
68
+
69
+ By 1.0 eos-rails will most likely have:
70
+
71
+ - Bower integration ready for production out of the box
72
+ - A devise booster
73
+ - A new asset pack just for rails. incl (agnostic styles, simple alerts and some js starter files)
74
+
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
+ gem.name = "rails-eos"
18
+ gem.homepage = "http://github.com/louisrudner/rails-eos"
19
+ gem.license = "MIT"
20
+ gem.summary = "An even more opinionated Rails setup."
21
+ gem.description = "Eos is a power-pack for your Rails apps. Speed through your project setup and enjoy agnostic styling, handy utilities and a good slathering of magic sauce."
22
+ gem.email = "louis@cosmiclabs.com.au"
23
+ gem.authors = ["CosmicLabs"]
24
+ gem.executables = ["eos"]
25
+ gem.files.include ['bin/files/Gemfile', 'bin/files/routes.rb', 'bin/files/home_controller.rb', 'bin/files/index.html.haml', 'bin/files/Guardfile', 'bin/files/development.rb', 'bin/files/bower.rb', 'bin/files/.gitignore', 'bin/files/.bowerrc']
26
+ # dependencies defined in Gemfile
27
+ end
28
+ Jeweler::RubygemsDotOrgTasks.new
29
+
30
+ require 'rake/testtask'
31
+ Rake::TestTask.new(:test) do |test|
32
+ test.libs << 'lib' << 'test'
33
+ test.pattern = 'test/**/test_*.rb'
34
+ test.verbose = true
35
+ end
36
+
37
+ desc "Code coverage detail"
38
+ task :simplecov do
39
+ ENV['COVERAGE'] = "true"
40
+ Rake::Task['test'].execute
41
+ end
42
+
43
+ task :default => :test
44
+
45
+ require 'rdoc/task'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "rails-eos #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.0
data/bin/eos ADDED
@@ -0,0 +1,217 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "thor"
4
+
5
+ class Eos < Thor
6
+ include Thor::Actions
7
+
8
+ default_task :hello
9
+
10
+ def self.source_root
11
+ File.dirname(__FILE__)
12
+ end
13
+ #
14
+ # desc "generate NUMBER APPNAME", "Generates the specified application with your choice of name. App numbers are in the list."
15
+ # def generate(number, appname)
16
+ # gen = GENERATORS.find { |g| g["number"] == number}
17
+ # puts set_color "Running #{gen["source"]} #{appname}", :green, :bold
18
+ # system("#{gen["source"]} #{appname}")
19
+ # puts set_color "Project generation complete", :green, :bold
20
+ # puts set_color "Now you can use the renamer to customize your application's name.", :white, :bold
21
+ # system("rake secret")
22
+ # puts set_color "You can use the above string as your new secret in initilizers/secret_token.rb.", :white, :bold
23
+ # end
24
+
25
+ desc "hello", "The rundown of how Eos works."
26
+ def hello
27
+ puts '- - - - - - - - - -'
28
+ puts set_color 'Hey there and welcome to the Eos gem - a sweet powerpack for Ruby on Rails', :white, :bold
29
+ puts '- - - - - - - - - -'
30
+ puts set_color '1. Type: \'eos start APP_NAME\' or \'rails new APP_NAME\' to generate a regular rails app.', :white, :bold
31
+ puts set_color '2. Type: \'cd APP_NAME\' then \'eos convert\' to turn your new app into a totally rhombus Eos app.', :white, :bold
32
+ puts '- - - - - - - - - -'
33
+ end
34
+
35
+ desc "start APP_NAME", "Generate a regular Rails app."
36
+ def start(app_name)
37
+ system("rails new #{app_name}")
38
+ puts '- - - - - - - - - -'
39
+ puts set_color "Successfully generated the project named #{app_name} in the current directory.", :white, :bold
40
+ puts '- - - - - - - - - -'
41
+ end
42
+
43
+ desc "convert", "Eos basic setup."
44
+ def convert
45
+ convert_gemfile
46
+ run_bundle
47
+ convert_haml
48
+ setup_home
49
+ init_guard
50
+ install_simpleform
51
+ install_rspec
52
+ install_cucumber
53
+ add_livereload
54
+ install_bower
55
+ finished_message
56
+ end
57
+
58
+ private
59
+
60
+ def convert_gemfile
61
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/Gemfile"
62
+ source_paths << path
63
+ destination = Dir.pwd + "/Gemfile"
64
+ remove_file destination
65
+ copy_file path, destination
66
+ puts set_color "Gemfile setup complete.", :white, :bold
67
+ end
68
+
69
+ def run_bundle
70
+ system("bundle install")
71
+ puts set_color "Bundle install complete.", :white, :bold
72
+ end
73
+
74
+ def convert_haml
75
+ system("html2haml app/views/layouts/application.html.erb > app/views/layouts/application.html.haml")
76
+ system("rm app/views/layouts/application.html.erb")
77
+ puts set_color "Haml setup complete.", :white, :bold
78
+ end
79
+
80
+ # First Route and Home
81
+
82
+ def setup_home
83
+ add_home_controller
84
+ add_first_route
85
+ add_home_index_view
86
+
87
+ end
88
+
89
+ def add_home_controller
90
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/home_controller.rb"
91
+ source_paths << path
92
+ destination = Dir.pwd + "/app/controllers/home_controller.rb"
93
+ remove_file destination
94
+ copy_file path, destination
95
+ puts set_color "Home controller setup complete.", :white, :bold
96
+ end
97
+
98
+ def add_first_route
99
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/routes.rb"
100
+ source_paths << path
101
+ destination = Dir.pwd + "/config/routes.rb"
102
+ remove_file destination
103
+ copy_file path, destination
104
+ puts set_color "First Route setup complete.", :white, :bold
105
+ end
106
+
107
+ def add_home_index_view
108
+ system("bundle exec guard init")
109
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/index.html.haml"
110
+ source_paths << path
111
+ destination = Dir.pwd + "/app/views/home/index.html.haml"
112
+ remove_file destination
113
+ copy_file path, destination
114
+ puts set_color "Home/Index View setup complete.", :white, :bold
115
+ end
116
+
117
+ # Installs
118
+
119
+ def init_guard
120
+ system("bundle exec guard init")
121
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/Guardfile"
122
+ source_paths << path
123
+ destination = Dir.pwd + "/Guardfile"
124
+ remove_file destination
125
+ copy_file path, destination
126
+ puts set_color "Guardfile setup complete.", :white, :bold
127
+ end
128
+
129
+ def install_simpleform
130
+ system("rails g simple_form:install")
131
+ puts set_color "Simple Form setup complete.", :white, :bold
132
+ end
133
+
134
+ def install_rspec
135
+ system("rails g rspec:install")
136
+ puts set_color "Rspec setup complete.", :white, :bold
137
+ end
138
+
139
+ def install_cucumber
140
+ system("rails g cucumber:install")
141
+ puts set_color "Cucumber setup complete.", :white, :bold
142
+ end
143
+
144
+ def add_livereload
145
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/development.rb"
146
+ source_paths << path
147
+ destination = Dir.pwd + "/config/environments/development.rb"
148
+ remove_file destination
149
+ copy_file path, destination
150
+ puts set_color "LiveReload setup complete.", :white, :bold
151
+ end
152
+
153
+ # Bower
154
+
155
+ def install_bower
156
+ add_bower_rb
157
+ add_gitignore
158
+ add_bower_rc
159
+ puts set_color "Bower setup complete.", :white, :bold
160
+ end
161
+
162
+ def add_bower_rb
163
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/bower.rb"
164
+ source_paths << path
165
+ destination = Dir.pwd + "/config/initializers/bower.rb"
166
+ remove_file destination
167
+ copy_file path, destination
168
+ puts set_color "Added Bower Initializer.", :green, :bold
169
+ end
170
+
171
+ def add_gitignore
172
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/.gitignore"
173
+ source_paths << path
174
+ destination = Dir.pwd + "/.gitignore"
175
+ remove_file destination
176
+ copy_file path, destination
177
+ puts set_color "Added Bower to the .gitignore file.", :green, :bold
178
+ end
179
+
180
+ def add_bower_rc
181
+ path = File.expand_path(File.dirname(__FILE__)) + "/files/.bowerrc"
182
+ source_paths << path
183
+ destination = Dir.pwd + "/.bowerrc"
184
+ remove_file destination
185
+ copy_file path, destination
186
+ puts set_color "Added Bowerrc.", :green, :bold
187
+ end
188
+
189
+ def finished_message
190
+ puts '- - - - - - - - - -'
191
+ puts set_color 'Your Eos Conversion Is Complete!', :white, :bold
192
+ puts '- - - - - - - - - -'
193
+ puts set_color 'Here\'s what\'s changed in your project:', :white, :bold
194
+ puts set_color '- New Gemfile added.', :cyan, :bold
195
+ puts set_color '- Views converted to HAML', :cyan, :bold
196
+ puts set_color '- Home Controller added.', :cyan, :bold
197
+ puts set_color '- First Route added.', :cyan, :bold
198
+ puts set_color '- Guardfile added.', :cyan, :bold
199
+ puts set_color '- Simple Form installed.', :cyan, :bold
200
+ puts set_color '- Rspec installed.', :cyan, :bold
201
+ puts set_color '- Cucumber installed.', :cyan, :bold
202
+ puts set_color '- LiveReload added.', :cyan, :bold
203
+ puts set_color '- Bower installed.', :cyan, :bold
204
+ puts '- - - - - - - - - -'
205
+ puts set_color 'Other Notes:', :white, :bold
206
+ puts set_color '- Devise has been included but not installed.', :cyan, :bold
207
+ puts set_color '- Bower assets are installed into vendor/assets/components.', :cyan, :bold
208
+ puts set_color '- Bower components have been added to gitignore - you may want to change this for production.', :cyan, :bold
209
+ puts set_color '- Check out https://coderwall.com/p/6bmygq or https://gist.github.com/afeld/5704079 for getting bower into production.', :cyan, :bold
210
+ puts set_color '- You can start the server with \'bundle exec guard\' and find your app at localhost:5878', :cyan, :bold
211
+
212
+ puts '- - - - - - - - - -'
213
+ end
214
+
215
+ end
216
+
217
+ Eos.start(ARGV)
@@ -0,0 +1,3 @@
1
+ {
2
+ "directory": "vendor/assets/components"
3
+ }
@@ -0,0 +1,2 @@
1
+ https://github.com/heroku/heroku-buildpack-nodejs
2
+ https://github.com/heroku/heroku-buildpack-ruby
@@ -0,0 +1,19 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*.log
16
+ /tmp
17
+
18
+ # Ignore bower originals
19
+ /vendor/assets/components
@@ -0,0 +1,56 @@
1
+ source 'https://rubygems.org'
2
+ ruby '2.1.0'
3
+ gem 'rails', '4.1.0.beta1'
4
+ gem 'sass-rails', '~> 4.0.0'
5
+ gem 'uglifier', '>= 1.3.0'
6
+ gem 'coffee-rails', '~> 4.0.0'
7
+ gem 'jquery-rails'
8
+ gem 'turbolinks'
9
+ gem 'jbuilder', '~> 1.2'
10
+ gem 'devise'
11
+ gem 'haml-rails'
12
+ gem 'puma'
13
+ gem 'simple_form'
14
+ gem 'rails_12factor'
15
+ gem 'spring', group: :development
16
+ gem "mini_magick"
17
+ gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"
18
+ gem 'jquery-ui-rails'
19
+ gem 'jquery-modal-rails'
20
+ gem 'aws-sdk'
21
+ gem 'jquery-validation-rails'
22
+
23
+ group :production do
24
+ gem 'pg'
25
+ end
26
+ group :development do
27
+ gem 'better_errors'
28
+ gem 'binding_of_caller', :platforms=>[:mri_19, :mri_20, :rbx]
29
+ gem 'guard-bundler'
30
+ gem 'guard-cucumber'
31
+ gem 'guard-puma'
32
+ gem 'guard-rails'
33
+ gem 'guard-rspec'
34
+ gem 'guard-livereload'
35
+ gem "rack-livereload"
36
+ gem "letter_opener"
37
+ gem 'html2haml'
38
+ gem 'meta_request'
39
+ gem 'quiet_assets'
40
+ gem 'rails_layout'
41
+ gem 'rb-fchange', :require=>false
42
+ gem 'rb-fsevent', :require=>false
43
+ gem 'rb-inotify', :require=>false
44
+ end
45
+ group :development, :test do
46
+ gem 'factory_girl_rails'
47
+ gem 'rspec-rails'
48
+ gem 'sqlite3'
49
+ end
50
+ group :test do
51
+ gem 'capybara'
52
+ gem 'cucumber-rails', :require=>false
53
+ gem 'database_cleaner', '1.0.1'
54
+ gem 'email_spec'
55
+ gem 'launchy'
56
+ end
@@ -0,0 +1,47 @@
1
+ guard :bundler do
2
+ watch('Gemfile')
3
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
4
+ # watch(/^.+\.gemspec/)
5
+ end
6
+
7
+ guard 'cucumber' do
8
+ watch(%r{^features/.+\.feature$})
9
+ watch(%r{^features/support/.+$}) { 'features' }
10
+ watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
11
+ end
12
+
13
+ guard 'livereload' do
14
+ watch(%r{app/views/.+\.(erb|haml|slim)$})
15
+ watch(%r{app/helpers/.+\.rb})
16
+ watch(%r{public/.+\.(css|js|html)})
17
+ watch(%r{config/locales/.+\.yml})
18
+ # Rails Assets Pipeline
19
+ watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
20
+ end
21
+
22
+ guard 'puma', :port => 5878 do
23
+ watch('Gemfile.lock')
24
+ watch(%r{^config|lib/.*})
25
+ end
26
+
27
+ guard :rspec do
28
+ watch(%r{^spec/.+_spec\.rb$})
29
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
30
+ watch('spec/spec_helper.rb') { "spec" }
31
+
32
+ # Rails example
33
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
34
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
35
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
36
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
37
+ watch('config/routes.rb') { "spec/routing" }
38
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
39
+
40
+ # Capybara features specs
41
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
42
+
43
+ # Turnip features and steps
44
+ watch(%r{^spec/acceptance/(.+)\.feature$})
45
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
46
+ end
47
+
@@ -0,0 +1,16 @@
1
+ Rails.application.configure do
2
+ config.assets.paths << Rails.root.join('vendor', 'assets', 'components')
3
+
4
+ # via https://gist.github.com/afeld/5704079
5
+
6
+ # We don't want the default of everything that isn't js or css, because it pulls too many things in
7
+ config.assets.precompile.shift
8
+
9
+ # Explicitly register the extensions we are interested in compiling
10
+ config.assets.precompile.push(Proc.new do |path|
11
+ File.extname(path).in? [
12
+ '.png', '.gif', '.jpg', '.jpeg', '.svg', # Images
13
+ '.eot', '.otf', '.svc', '.woff', '.ttf', # Fonts
14
+ ]
15
+ end)
16
+ end
@@ -0,0 +1,32 @@
1
+ Rails.application.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
+ # Do not eager load code on boot.
10
+ config.eager_load = false
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 = false
18
+
19
+ # Print deprecation notices to the Rails logger.
20
+ config.active_support.deprecation = :log
21
+
22
+ # Raise an error on page load if there are pending migrations.
23
+ config.active_record.migration_error = :page_load
24
+
25
+ # LiveReload
26
+ config.middleware.use Rack::LiveReload
27
+
28
+ # Debug mode disables concatenation and preprocessing of assets.
29
+ # This option may cause significant delays in view rendering with a large
30
+ # number of complex assets.
31
+ config.assets.debug = true
32
+ end
@@ -0,0 +1,5 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ @text = "Welcome to your new Rails-Eos App"
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ = @text
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ root to: "home#index"
3
+ end
File without changes
@@ -0,0 +1,75 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: rails-eos 0.2.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "rails-eos"
9
+ s.version = "0.2.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["CosmicLabs"]
14
+ s.date = "2014-04-12"
15
+ s.description = "Eos is a power-pack for your Rails apps. Speed through your project setup and enjoy agnostic styling, handy utilities and a good slathering of magic sauce."
16
+ s.email = "louis@cosmiclabs.com.au"
17
+ s.executables = ["eos"]
18
+ s.extra_rdoc_files = [
19
+ "LICENSE.txt",
20
+ "README.md"
21
+ ]
22
+ s.files = [
23
+ ".document",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.md",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "bin/eos",
31
+ "bin/files/.bowerrc",
32
+ "bin/files/.buildpacks",
33
+ "bin/files/.gitignore",
34
+ "bin/files/Gemfile",
35
+ "bin/files/Guardfile",
36
+ "bin/files/bower.rb",
37
+ "bin/files/development.rb",
38
+ "bin/files/home_controller.rb",
39
+ "bin/files/index.html.haml",
40
+ "bin/files/routes.rb",
41
+ "lib/rails-eos.rb",
42
+ "rails-eos.gemspec",
43
+ "test/helper.rb",
44
+ "test/test_rails-eos.rb"
45
+ ]
46
+ s.homepage = "http://github.com/louisrudner/rails-eos"
47
+ s.licenses = ["MIT"]
48
+ s.rubygems_version = "2.2.0"
49
+ s.summary = "An even more opinionated Rails setup."
50
+
51
+ if s.respond_to? :specification_version then
52
+ s.specification_version = 4
53
+
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
56
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
57
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
58
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
59
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
60
+ else
61
+ s.add_dependency(%q<shoulda>, [">= 0"])
62
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
63
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
64
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
65
+ s.add_dependency(%q<simplecov>, [">= 0"])
66
+ end
67
+ else
68
+ s.add_dependency(%q<shoulda>, [">= 0"])
69
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
70
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
71
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
72
+ s.add_dependency(%q<simplecov>, [">= 0"])
73
+ end
74
+ end
75
+
@@ -0,0 +1,34 @@
1
+ require 'simplecov'
2
+
3
+ module SimpleCov::Configuration
4
+ def clean_filters
5
+ @filters = []
6
+ end
7
+ end
8
+
9
+ SimpleCov.configure do
10
+ clean_filters
11
+ load_adapter 'test_frameworks'
12
+ end
13
+
14
+ ENV["COVERAGE"] && SimpleCov.start do
15
+ add_filter "/.rvm/"
16
+ end
17
+ require 'rubygems'
18
+ require 'bundler'
19
+ begin
20
+ Bundler.setup(:default, :development)
21
+ rescue Bundler::BundlerError => e
22
+ $stderr.puts e.message
23
+ $stderr.puts "Run `bundle install` to install missing gems"
24
+ exit e.status_code
25
+ end
26
+ require 'test/unit'
27
+ require 'shoulda'
28
+
29
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
30
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
31
+ require 'rails-eos'
32
+
33
+ class Test::Unit::TestCase
34
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestRailsEos < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-eos
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - CosmicLabs
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: shoulda
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.12'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: jeweler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Eos is a power-pack for your Rails apps. Speed through your project setup
84
+ and enjoy agnostic styling, handy utilities and a good slathering of magic sauce.
85
+ email: louis@cosmiclabs.com.au
86
+ executables:
87
+ - eos
88
+ extensions: []
89
+ extra_rdoc_files:
90
+ - LICENSE.txt
91
+ - README.md
92
+ files:
93
+ - ".document"
94
+ - Gemfile
95
+ - Gemfile.lock
96
+ - LICENSE.txt
97
+ - README.md
98
+ - Rakefile
99
+ - VERSION
100
+ - bin/eos
101
+ - bin/files/.bowerrc
102
+ - bin/files/.buildpacks
103
+ - bin/files/.gitignore
104
+ - bin/files/Gemfile
105
+ - bin/files/Guardfile
106
+ - bin/files/bower.rb
107
+ - bin/files/development.rb
108
+ - bin/files/home_controller.rb
109
+ - bin/files/index.html.haml
110
+ - bin/files/routes.rb
111
+ - lib/rails-eos.rb
112
+ - rails-eos.gemspec
113
+ - test/helper.rb
114
+ - test/test_rails-eos.rb
115
+ homepage: http://github.com/louisrudner/rails-eos
116
+ licenses:
117
+ - MIT
118
+ metadata: {}
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ requirements: []
134
+ rubyforge_project:
135
+ rubygems_version: 2.2.0
136
+ signing_key:
137
+ specification_version: 4
138
+ summary: An even more opinionated Rails setup.
139
+ test_files: []