app_drone 0.8.6 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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