app_drone 0.8.6 → 0.9.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.
Files changed (104) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +54 -39
  3. data/lib/app_drone/dependency_chain.rb +8 -1
  4. data/lib/app_drone/drone.rb +9 -0
  5. data/lib/app_drone/drones/carrierwave/carrierwave.rb +20 -0
  6. data/lib/app_drone/drones/chronic/chronic.rb +13 -0
  7. data/lib/app_drone/drones/{easy_roles_45/easy_roles_45.rb~ → easy_rolez/easy_rolez.rb} +1 -1
  8. data/lib/app_drone/drones/factory_girl/factory_girl.rb +13 -0
  9. data/lib/app_drone/drones/has_scope/has_scope.rb +13 -0
  10. data/lib/app_drone/drones/nested_form/nested_form.rb +14 -0
  11. data/lib/app_drone/drones/new_relic/new_relic.rb +13 -0
  12. data/lib/app_drone/drones/nifty_generatorz/nifty_config.erb +1 -0
  13. data/lib/app_drone/drones/nifty_generatorz/nifty_generatorz.rb +19 -0
  14. data/lib/app_drone/drones/remotipart/remotipart.rb +14 -0
  15. data/lib/app_drone/drones/responderz/install.erb +1 -0
  16. data/lib/app_drone/drones/responderz/responderz.rb +17 -0
  17. data/lib/app_drone/drones/rspec/install.erb +1 -0
  18. data/lib/app_drone/drones/rspec/rspec.rb +17 -0
  19. data/lib/app_drone/drones/simple_cov/install.erb +5 -0
  20. data/lib/app_drone/drones/simple_cov/rspec_integration.erb +1 -0
  21. data/lib/app_drone/drones/simple_cov/simple_cov.rb +20 -0
  22. data/lib/app_drone/drones/timecop/timecop.rb +13 -0
  23. data/lib/app_drone/drones/will_paginate/will_paginate.rb +15 -0
  24. data/lib/app_drone/template.erb +14 -0
  25. data/lib/app_drone/template.rb +13 -4
  26. data/lib/app_drone/version.rb +1 -1
  27. data/out.rb +28 -3
  28. data/scraps/App admin +7 -0
  29. data/scraps/TODO +32 -0
  30. data/scraps/blank drone +15 -0
  31. data/test/test_app_drone.rb +8 -1
  32. metadata +26 -79
  33. data/Gemfile~ +0 -4
  34. data/README.md~ +0 -342
  35. data/Rakefile~ +0 -11
  36. data/TODO~ +0 -1
  37. data/app_drone.gemspec~ +0 -20
  38. data/lib/app_drone/dependency.rb~ +0 -5
  39. data/lib/app_drone/dependency_chain.rb~ +0 -55
  40. data/lib/app_drone/drone.rb~ +0 -121
  41. data/lib/app_drone/drones/bootstrap/bootstrap.rb~ +0 -46
  42. data/lib/app_drone/drones/bootstrap/flair.html.slim.erb~ +0 -7
  43. data/lib/app_drone/drones/bundle/bundle.rb~ +0 -22
  44. data/lib/app_drone/drones/bundle/gem.rb~ +0 -23
  45. data/lib/app_drone/drones/bundle/gem_entries.erb~ +0 -6
  46. data/lib/app_drone/drones/bundle/gems.rb~ +0 -23
  47. data/lib/app_drone/drones/cancan/ability.erb~ +0 -1
  48. data/lib/app_drone/drones/cancan/cancan.rb~ +0 -19
  49. data/lib/app_drone/drones/chosen/chosen.rb~ +0 -16
  50. data/lib/app_drone/drones/chosen/showcase.html.slim~ +0 -0
  51. data/lib/app_drone/drones/cleanup/cleanup.rb~ +0 -9
  52. data/lib/app_drone/drones/easy_roles_45/easy_roles.rb~ +0 -13
  53. data/lib/app_drone/drones/easy_roles_45/easy_roles_45.rb +0 -13
  54. data/lib/app_drone/drones/easy_roles_45/easy_rolez.rb~ +0 -13
  55. data/lib/app_drone/drones/ember/ember.rb~ +0 -21
  56. data/lib/app_drone/drones/ember/ember_js.rb~ +0 -21
  57. data/lib/app_drone/drones/ember/install.erb~ +0 -3
  58. data/lib/app_drone/drones/flair/flair.rb~ +0 -39
  59. data/lib/app_drone/drones/flair/flair_page.erb~ +0 -8
  60. data/lib/app_drone/drones/flair/showcase.rb~ +0 -27
  61. data/lib/app_drone/drones/flair/showcase_page.erb~ +0 -11
  62. data/lib/app_drone/drones/gritter/flair.html.slim.erb~ +0 -8
  63. data/lib/app_drone/drones/gritter/gritter.rb~ +0 -21
  64. data/lib/app_drone/drones/gritter/install.erb~ +0 -1
  65. data/lib/app_drone/drones/high_voltage/create_pages_directory.erb~ +0 -1
  66. data/lib/app_drone/drones/high_voltage/high_voltage.rb~ +0 -15
  67. data/lib/app_drone/drones/javascript/application_coffee.erb~ +0 -15
  68. data/lib/app_drone/drones/javascript/javascript.rb~ +0 -26
  69. data/lib/app_drone/drones/javascript/javascripts.rb~ +0 -23
  70. data/lib/app_drone/drones/letter_opener/development_delivery_method.erb~ +0 -1
  71. data/lib/app_drone/drones/letter_opener/development_delivery_method.rb~ +0 -1
  72. data/lib/app_drone/drones/letter_opener/letter_opener.rb~ +0 -17
  73. data/lib/app_drone/drones/migrant/migrant.rb~ +0 -13
  74. data/lib/app_drone/drones/ranked_model/ranked_model.rb~ +0 -13
  75. data/lib/app_drone/drones/simple_form/install.erb~ +0 -1
  76. data/lib/app_drone/drones/simple_form/simple_form.rb~ +0 -21
  77. data/lib/app_drone/drones/slim_view/application_slim.erb~ +0 -15
  78. data/lib/app_drone/drones/slim_view/slim_view.rb~ +0 -16
  79. data/lib/app_drone/drones/slim_view/slim_views.rb~ +0 -14
  80. data/lib/app_drone/drones/sorcery/configure.erb~ +0 -1
  81. data/lib/app_drone/drones/sorcery/sorcery.rb~ +0 -18
  82. data/lib/app_drone/drones/squeel/initializer.erb~ +0 -1
  83. data/lib/app_drone/drones/squeel/squeel.rb~ +0 -19
  84. data/lib/app_drone/drones/stylesheet/application_sass.erb~ +0 -11
  85. data/lib/app_drone/drones/stylesheet/stylesheet.rb~ +0 -26
  86. data/lib/app_drone/drones/stylesheet/stylesheets.rb~ +0 -30
  87. data/lib/app_drone/drones/underscore/flair.html.slim.erb~ +0 -25
  88. data/lib/app_drone/drones/underscore/underscore.rb~ +0 -18
  89. data/lib/app_drone/drones/zzz/factory_girl/factory_girl.rb +0 -13
  90. data/lib/app_drone/drones/zzz/factory_girl/factory_girl.rb~ +0 -13
  91. data/lib/app_drone/drones/zzz/git/git.rb~ +0 -8
  92. data/lib/app_drone/drones/zzz/guard/guard.rb~ +0 -15
  93. data/lib/app_drone/drones/zzz/ranked_model/ranked_model.rb +0 -9
  94. data/lib/app_drone/drones/zzz/ranked_model/ranked_model.rb~ +0 -9
  95. data/lib/app_drone/drones/zzz/rspec/rspec.rb~ +0 -13
  96. data/lib/app_drone/integration.rb~ +0 -48
  97. data/lib/app_drone/object_extensions.rb~ +0 -17
  98. data/lib/app_drone/template.erb~ +0 -33
  99. data/lib/app_drone/template.rb~ +0 -54
  100. data/lib/app_drone/version.rb~ +0 -3
  101. data/lib/app_drone.rb~ +0 -16
  102. data/out.rb~ +0 -161
  103. data/test/app_drone_test.rb~ +0 -19
  104. data/test/test_app_drone.rb~ +0 -74
@@ -1,21 +0,0 @@
1
- # Complete
2
- module AppDrone
3
- class SimpleForm < Drone
4
- desc "Installs SimpleForm, with optional Country Select and automatic Twitter Bootstrap integration"
5
- category :pages
6
-
7
- depends_on :bundle
8
- pairs_with :bootstrap
9
-
10
- param :add_country_select, :boolean, info: 'Add country_select for listing countries', default: true
11
-
12
- def align
13
- bundle.add 'simple_form'
14
- bundle.add 'country_select' if param(:add_country_select)
15
- end
16
-
17
- def execute
18
- do! :install
19
- end
20
- end
21
- end
@@ -1,15 +0,0 @@
1
- erb_index_path = File.join %w(app views layouts application.html.erb)
2
- @generator.remove_file(erb_index_path)
3
- slim_index_path = File.join %w(app views layouts application.html.slim)
4
- @generator.create_file slim_index_path, <<-SLIM
5
- doctype 5
6
- html
7
- head
8
- title #{app_name}
9
- = stylesheet_link_tag 'application', media: 'all'
10
- = javascript_include_tag 'application'
11
- = csrf_meta_tags
12
-
13
- body class=controller_name
14
- = yield
15
- SLIM
@@ -1,16 +0,0 @@
1
- module AppDrone
2
- class SlimView < Drone
3
- desc "Sets up application.html.slim with shiny goodness"
4
- # TODO integration with rack useragent for browser-detection
5
-
6
- depends_on :bundle
7
-
8
- def align
9
- bundle.add 'slim-rails'
10
- end
11
-
12
- def execute
13
- do! :application_slim
14
- end
15
- end
16
- end
@@ -1,14 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class SlimViews < Drone
4
- # TODO accepts :options # header etc.
5
-
6
- def align
7
- (self >> Gems).add 'slim-rails'
8
- end
9
-
10
- def execute
11
- do! :application_slim
12
- end
13
- end
14
- end
@@ -1 +0,0 @@
1
- generate sorcery:install
@@ -1,18 +0,0 @@
1
- module AppDrone
2
- class Sorcery < Drone
3
- desc "No-frills user authentication"
4
- category :auth
5
-
6
- depends_on :bundle
7
-
8
- param :configure, :boolean, info: 'generate core migration and User model'
9
-
10
- def align
11
- bundle.add 'sorcery'
12
- end
13
-
14
- def execute
15
- do! :configure if param(:configure)
16
- end
17
- end
18
- end
@@ -1 +0,0 @@
1
- generate 'squeel:initializer'
@@ -1,19 +0,0 @@
1
- module AppDrone
2
- class Squeel < Drone
3
- desc "Better ActiveRecord queries and relations"
4
- category :model
5
-
6
- param :generate_initializer, :boolean, info: 'customize Squeel functionality'
7
-
8
- depends_on :bundle
9
-
10
- def align
11
- bundle.add 'squeel'
12
- end
13
-
14
- def execute
15
- do! :initializer if param(:generate_initializer)
16
- end
17
-
18
- end
19
- end
@@ -1,11 +0,0 @@
1
- @css_asset_path = File.join %w(app assets stylesheets application.css)
2
- @generator.remove_file(@css_asset_path)
3
- @sass_asset_path = File.join %w(app assets stylesheets application.css.sass)
4
-
5
- @generator.create_file @sass_asset_path, <<-SASS
6
- <% pipeline_requires.each { |r| %>/*= require <%= r %> */<% } %><% unless pipeline_requires.empty? %>
7
- <% end%>/*= require_self */
8
-
9
- <% imports.each { |i| %>@import '<%= i %>'
10
- <% } %>
11
- SASS
@@ -1,26 +0,0 @@
1
- module AppDrone
2
- class Stylesheet < Drone
3
- desc "Generates application.css.sass with manifest options and imports"
4
- depends_on :bundle
5
-
6
- attr_accessor :pipeline_requires, :imports
7
- def pipeline(r); self.pipeline_requires << r end
8
- def import(i); self.imports << i end
9
-
10
- def setup
11
- self.pipeline_requires = []
12
- self.imports = []
13
- end
14
-
15
- def align
16
- bundle.add 'therubyracer'
17
- bundle.add 'compass-rails'
18
- self.import 'compass'
19
- end
20
-
21
- def execute
22
- do! :application_sass
23
- end
24
-
25
- end
26
- end
@@ -1,30 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class Stylesheet < Drone
4
- desc "Generates application.css.sass with manifest options and imports"
5
- # TODO are manifests necessary? Favor @import
6
-
7
- attr_accessor :requires, :imports
8
-
9
- def setup
10
- self.requires = []
11
- self.imports = []
12
- (self >> Gems).add 'compass-rails'
13
- self.add_import 'compass'
14
- end
15
-
16
- def add_require(r); self.requires << r end
17
- def add_import(i); self.imports << i end
18
-
19
- def align
20
- (self >> Gems).add 'therubyracer'
21
- end
22
-
23
- def execute
24
- do! :application_sass
25
- # TODO currently using .scss and not .sass, switch to the cleaner syntax
26
- # TODO render css utils (or make this a separate integration)
27
- end
28
-
29
- end
30
- end
@@ -1,25 +0,0 @@
1
- button#underscoreTrigger Count to 10
2
- span#underscoreFeedback style="color: green"
3
-
4
- javascript:
5
- $(function() {
6
- $('#underscoreTrigger').click(function() {
7
- var numbers = [1,2,3,4,5,6,7,8,9,10];
8
- var delay = 300;
9
- var last = _.last(numbers);
10
- var feedback = $('#underscoreFeedback');
11
-
12
- feedback.empty();
13
-
14
- _.forEach(numbers, function(i) {
15
- setTimeout(function() {
16
- feedback.append(i);
17
- feedback.append(i == last ? '!' : ' ');
18
- },delay*(i-1));
19
- });
20
-
21
- setTimeout(function() { feedback.fadeOut(); }, delay*last);
22
-
23
- });
24
- });
25
-
@@ -1,18 +0,0 @@
1
- module AppDrone
2
- class Underscore < Drone
3
- desc "Adds the underscore.js library to your app"
4
- category :ui
5
-
6
- depends_on :bundle
7
-
8
- def align
9
- bundle.add 'underscore-rails'
10
- javascript.pipeline 'underscore'
11
- flair!
12
- end
13
-
14
- def execute
15
- end
16
-
17
- end
18
- end
@@ -1,13 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class FactoryGirl < Drone
4
- desc "Installs Factory Girl for test fixtures"
5
- def align
6
- bundle.add 'factory_girl_rails', group: :test
7
- end
8
-
9
- def execute
10
- #TODO insert hook into rspec
11
- end
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class FactoryGirl < Drone
4
- desc "Installs Factory Girl for test fixtures"
5
- def align
6
- gem.add 'factory_girl_rails', group: :test
7
- end
8
-
9
- def execute
10
- #TODO insert hook into rspec
11
- end
12
- end
13
- end
@@ -1,8 +0,0 @@
1
- module AppDrone
2
- class Git < Drone
3
- desc "Sets up a fresh git repo"
4
- def execute
5
- do! :install
6
- end
7
- end
8
- end
@@ -1,15 +0,0 @@
1
- module AppDrone
2
- class Guard < Drone
3
- desc "Installs Guard & watcher scripts"
4
- # TODO accepts :guard_ties
5
-
6
- def align
7
- #
8
- end
9
-
10
- def execute
11
- # set up guardfile etc.
12
- # set up files for dependencies
13
- end
14
- end
15
- end
@@ -1,9 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class RankedModel < Drone
4
- desc "Installs RankedModel"
5
- def align
6
- bundle.add 'ranked_model'
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- # Incomplete
2
- module AppDrone
3
- class RankedModel < Drone
4
- desc "Installs RankedModel"
5
- def align
6
- gem.add 'ranked_model'
7
- end
8
- end
9
- end
@@ -1,13 +0,0 @@
1
- # Complete?
2
- module AppDrone
3
- class Rspec < Drone
4
- desc "Installs RSpec for testing"
5
- def align
6
- gem.add 'rspec-rails', group: :test
7
- end
8
-
9
- def execute
10
- do! :install
11
- end
12
- end
13
- end
@@ -1,48 +0,0 @@
1
- AppDrone::Param = Struct.new('Param',:name,:type,:options)
2
-
3
- class AppDrone::Integration
4
- # align: set up variables, pass off to other scripts
5
- # execute: actual install process
6
-
7
- # New
8
- def initialize(template,*params)
9
- @template = template
10
- @params = params.first # weird.. no idea why
11
- setup
12
- end
13
-
14
- # DSL
15
- def ^; @template end
16
- def >>(klass); @template.hook(klass); end
17
-
18
- # Expected implementations
19
- def align; end
20
- def execute; end
21
-
22
- # Optional implementations
23
- def setup; end
24
-
25
- def render(partial)
26
- template_path = "./integrations/#{self.class.underscore}/#{partial}.erb"
27
- snippet = ERB.new File.read(template_path)
28
- output = snippet.result(binding)
29
- output = "# --- \n# #{self.class.to_s}\n# ---\n" + output if true
30
- return output
31
- end
32
-
33
- def do!(partial)
34
- @template.do! render(partial)
35
- end
36
-
37
- # DSL: Integration-specific options
38
- attr_accessor :params
39
- class << self
40
- def param(name, type, *options)
41
- (@params ||= []) << Param.new(name, type, options)
42
- end
43
- def params
44
- @params
45
- end
46
- end
47
-
48
- end
@@ -1,17 +0,0 @@
1
- class Class
2
- def descendants
3
- ObjectSpace.each_object(Class).select { |klass| klass < self }
4
- end
5
- end
6
-
7
- class String
8
- def blank?
9
- self == ''
10
- end
11
- end
12
-
13
- class Symbol
14
- def to_app_drone_class
15
- ('AppDrone::' + self.to_s.classify).constantize
16
- end
17
- end
@@ -1,33 +0,0 @@
1
- class AppBuilder < Rails::AppBuilder
2
- include Thor::Actions
3
- include Thor::Shell
4
-
5
- # Express app templating for Rails
6
- # ------------------------------------
7
- # USAGE:
8
- # 1. run: `rails new app_name --builder=path/to/builder.rb` (URI's work here too)
9
- # 2. ???
10
- # 3. PROFIT!
11
-
12
- def test
13
- return
14
- # TODO
15
- # skips test framework, but we can probably just bastardize the options in the same way as with :skip_bundle
16
- # either make `test` build the actual directories etc., or use a script
17
- # either way, this method is stupid.
18
- end
19
-
20
- <% overridden_generator_methods.each do |m| %>
21
- def <%= m %>
22
- super
23
- <%= @directives[m].join("\n") %>
24
- end
25
- <% end %>
26
-
27
- def leftovers
28
- <%= leftover_directives.join("\n") %>
29
- rake 'db:migrate'
30
- say "She's all yours, sparky!\n\n", :green
31
- end
32
-
33
- end
@@ -1,54 +0,0 @@
1
- module AppDrone
2
- class Template
3
- def initialize; @drones = {}; @directives = {} end
4
-
5
- def add(ref,*params)
6
- klass = ref.is_a?(Class)? ref : ('AppDrone::' + ref.to_s.classify).constantize
7
- @drones[klass] = klass.new(self, params.first) # no idea why `.first` is required..
8
- end
9
-
10
- def drone_objects; @drones.values end
11
- def drone_classes; @drones.keys end
12
- def hook?(klass); !@drones[klass].nil? end
13
- def hook(klass)
14
- raise "No such drone: #{klass}" unless i_klass = @drones[klass]
15
- return i_klass
16
- end
17
-
18
- def leftover_directives; @directives[:leftovers] || [] end
19
- def overridden_generator_methods; @directives.keys - [:leftovers] end
20
-
21
- def do!(d,drone);
22
- generator_method = drone.class.generator_method || :leftovers
23
- (@directives[generator_method] ||= []) << d
24
- end
25
-
26
- def render!
27
- return if @rendered
28
- DependencyChain.check_dependencies!(drone_classes)
29
- drone_objects.map(&:align)
30
- drone_objects.map(&:execute)
31
- @rendered = true
32
- end
33
-
34
- def render_with_wrapper
35
- render!
36
- template_path = '/template.erb'
37
- full_path = File.dirname(__FILE__) + template_path
38
- snippet = ERB.new File.read(full_path)
39
- return snippet.result(binding)
40
- end
41
-
42
- def render_to_screen
43
- render!
44
- puts render_with_wrapper
45
- end
46
-
47
- def render_to_file
48
- render!
49
- File.open('out.rb','w+') do |f|
50
- f.write(render_with_wrapper)
51
- end
52
- end
53
- end
54
- end
@@ -1,3 +0,0 @@
1
- module AppDrone
2
- VERSION = "0.8.5"
3
- end
data/lib/app_drone.rb~ DELETED
@@ -1,16 +0,0 @@
1
- require 'pathname'
2
- require 'erb'
3
- require 'active_support/inflector'
4
-
5
- # require lib files
6
- lib_files = %w(version dependency_chain template drone object_extensions)
7
- lib_files.each { |f| require "app_drone/#{f}" }
8
-
9
- # require all drones in app_drone/drones, exclude 'zzz' folder
10
- drone_paths = Pathname.new(File.dirname(__FILE__) + '/app_drone/drones')
11
- drones = drone_paths.children.select(&:directory?).map { |path| path.split.last.to_s }
12
- drones -= ['zzz']
13
- drones.each { |d| require "app_drone/drones/#{d}/#{d}" }
14
-
15
- module AppDrone
16
- end
data/out.rb~ DELETED
@@ -1,161 +0,0 @@
1
- class AppBuilder < Rails::AppBuilder
2
- include Thor::Actions
3
- include Thor::Shell
4
-
5
- # Express app templating for Rails
6
- # ------------------------------------
7
- # USAGE:
8
- # 1. run: `rails new app_name --builder=path/to/builder.rb` (URI's work here too)
9
- # 2. ???
10
- # 3. PROFIT!
11
-
12
- def test
13
- return
14
- # TODO
15
- # skips test framework, but we can probably just bastardize the options in the same way as with :skip_bundle
16
- # either make `test` build the actual directories etc., or use a script
17
- # either way, this method is stupid.
18
- end
19
-
20
-
21
- def gemfile
22
- super
23
- # ---
24
- # AppDrone::Bundle
25
- # ---
26
- @generator.gem 'therubyracer'
27
- @generator.gem 'compass-rails'
28
- @generator.gem 'slim-rails'
29
- @generator.gem 'high_voltage'
30
- @generator.gem 'simple_form'
31
- @generator.gem 'country_select'
32
- @generator.gem 'compass_twitter_bootstrap', :git=>"git://github.com/vwall/compass-twitter-bootstrap.git", :group=>:assets
33
- @generator.gem 'chosen-rails'
34
- @generator.gem 'ember-rails'
35
-
36
- run_bundle
37
- @generator.options = @generator.options.dup
38
- @generator.options[:skip_bundle] = true
39
- @generator.options.freeze
40
-
41
- end
42
-
43
-
44
- def leftovers
45
- # ---
46
- # AppDrone::Javascript
47
- # ---
48
- js_asset_path = File.join %w(app assets javascripts application.js)
49
- @generator.remove_file(js_asset_path)
50
- @coffee_asset_path = File.join %w(app assets javascripts application.js.coffee)
51
- @generator.create_file @coffee_asset_path, <<-COFFEE
52
- //= require jquery
53
- //= require jquery_ujs
54
- //= require init
55
- //= require bootstrap-modal
56
- //= require bootstrap-transition
57
- //= require chosen-jquery
58
- //= require ember
59
- //= require ember/#{app_name}.js
60
-
61
- COFFEE
62
-
63
- @coffee_init_path = File.join %w(app assets javascripts init.js.coffee)
64
- @generator.create_file @coffee_init_path, <<-COFFEE
65
- $(document).ready ->
66
- $('.chzn-select').chosen();
67
-
68
-
69
- COFFEE
70
-
71
- # ---
72
- # AppDrone::Stylesheet
73
- # ---
74
- @css_asset_path = File.join %w(app assets stylesheets application.css)
75
- @generator.remove_file(@css_asset_path)
76
- @sass_asset_path = File.join %w(app assets stylesheets application.css.sass)
77
-
78
- @generator.create_file @sass_asset_path, <<-SASS
79
- /*= require chosen */
80
- /*= require_self */
81
-
82
- @import 'compass'
83
- @import 'compass_twitter_bootstrap_awesome'
84
- @import 'compass_twitter_bootstrap_responsive'
85
-
86
- SASS
87
-
88
- # ---
89
- # AppDrone::SlimView
90
- # ---
91
- erb_index_path = File.join %w(app views layouts application.html.erb)
92
- @generator.remove_file(erb_index_path)
93
- slim_index_path = File.join %w(app views layouts application.html.slim)
94
- @generator.create_file slim_index_path, <<-SLIM
95
- doctype 5
96
- html
97
- head
98
- title #{app_name}
99
- = stylesheet_link_tag 'application', media: 'all'
100
- = javascript_include_tag 'application'
101
- = csrf_meta_tags
102
-
103
- body class=controller_name
104
- = yield
105
- SLIM
106
-
107
- # ---
108
- # AppDrone::HighVoltage
109
- # ---
110
- FileUtils.mkpath 'app/views/pages'
111
-
112
- # ---
113
- # AppDrone::Flair
114
- # ---
115
- @generator.create_file 'app/views/pages/flair.html.slim', <<-FLAIR
116
- h1 Flair!
117
-
118
-
119
- h3 Bootstrap
120
-
121
- .btn-group
122
- a.btn.btn-primary.btn-large Shiny!
123
-
124
- a.btn.btn-large
125
- i.icon-heart
126
- | with Font Awesome!
127
-
128
-
129
- h3 Chosen
130
-
131
- select.chzn-select
132
- option One
133
- option Two
134
- option Three
135
-
136
- FLAIR
137
-
138
- # ---
139
- # AppDrone::Cleanup
140
- # ---
141
- @generator.remove_file File.join %w(public index.html)
142
- @generator.remove_file File.join %w(app assets images rails.png)
143
- @generator.remove_file File.join %w(README.rdoc)
144
-
145
- # ---
146
- # AppDrone::SimpleForm
147
- # ---
148
- generate "simple_form:install --bootstrap"
149
-
150
- # ---
151
- # AppDrone::Ember
152
- # ---
153
-
154
- generate "ember:bootstrap"
155
-
156
-
157
- rake 'db:migrate'
158
- say "She's all yours, sparky!\n\n", :green
159
- end
160
-
161
- end
@@ -1,19 +0,0 @@
1
- require 'test/unit'
2
- require 'app_drone'
3
-
4
- class AppDroneTest < Test::Unit::TestCase
5
- def test_english_hello
6
- assert_equal "hello world",
7
- Hola.hi("english")
8
- end
9
-
10
- def test_any_hello
11
- assert_equal "hello world",
12
- Hola.hi("ruby")
13
- end
14
-
15
- def test_spanish_hello
16
- assert_equal "hola mundo",
17
- Hola.hi("spanish")
18
- end
19
- end