playmo 0.0.6 → 0.0.10

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 (106) hide show
  1. data/.rspec +2 -0
  2. data/Gemfile +1 -1
  3. data/README.md +9 -45
  4. data/TODO.md +65 -9
  5. data/bin/playmo +6 -0
  6. data/lib/generators/rails/controller_generator.rb +5 -0
  7. data/lib/generators/rails/layout_generator.rb +26 -0
  8. data/lib/generators/rails/scaffold_controller_generator.rb +13 -0
  9. data/lib/generators/rails/templates/controller.rb +11 -0
  10. data/lib/generators/rails/templates/layout.html.erb +46 -0
  11. data/lib/generators/rails/templates/layout.html.haml +26 -0
  12. data/lib/generators/rails/templates/layout.html.slim +26 -0
  13. data/lib/generators/rails/templates/scaffold_controller.rb +56 -0
  14. data/lib/playmo.rb +45 -7
  15. data/lib/playmo/answer.rb +18 -0
  16. data/lib/playmo/choice.rb +52 -0
  17. data/lib/playmo/cli.rb +25 -0
  18. data/lib/playmo/cookbook.rb +83 -0
  19. data/lib/playmo/event.rb +7 -0
  20. data/lib/playmo/options.rb +17 -0
  21. data/lib/playmo/question.rb +59 -0
  22. data/lib/playmo/recipe.rb +50 -0
  23. data/lib/playmo/recipes/_/sample_recipe.rb +46 -0
  24. data/lib/playmo/recipes/application_controller_recipe.rb +24 -0
  25. data/lib/playmo/recipes/application_helper_recipe.rb +18 -0
  26. data/lib/playmo/recipes/assets_recipe.rb +19 -0
  27. data/lib/playmo/recipes/can_can_recipe.rb +0 -0
  28. data/lib/playmo/recipes/capistrano_recipe.rb +25 -0
  29. data/lib/playmo/recipes/compass_recipe.rb +19 -0
  30. data/lib/playmo/recipes/congrats_recipe.rb +20 -0
  31. data/lib/playmo/recipes/devise_recipe.rb +172 -0
  32. data/lib/playmo/recipes/forms_recipe.rb +42 -0
  33. data/lib/playmo/recipes/git_recipe.rb +31 -0
  34. data/lib/playmo/recipes/home_controller_recipe.rb +86 -0
  35. data/lib/playmo/recipes/javascript_framework_recipe.rb +69 -0
  36. data/lib/playmo/recipes/layout_recipe.rb +21 -0
  37. data/lib/playmo/recipes/markup_recipe.rb +34 -0
  38. data/lib/playmo/recipes/rspec_recipe.rb +25 -0
  39. data/lib/playmo/recipes/rvm_recipe.rb +17 -0
  40. data/lib/playmo/recipes/setup_database_recipe.rb +21 -0
  41. data/lib/playmo/recipes/templates/application_controller_recipe/application_controller.rb +54 -0
  42. data/lib/playmo/recipes/templates/application_controller_recipe/internal_error.html.erb +5 -0
  43. data/lib/playmo/recipes/templates/application_controller_recipe/not_found.html.erb +5 -0
  44. data/lib/playmo/recipes/templates/application_helper_recipe/application_helper.rb +118 -0
  45. data/lib/playmo/recipes/templates/assets_recipe/images/bg.jpg +0 -0
  46. data/lib/playmo/recipes/templates/assets_recipe/images/input-bg.gif +0 -0
  47. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/application.css.scss +29 -0
  48. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/media.css.scss +0 -0
  49. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_constants.css.scss +11 -0
  50. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_forms.css.scss +134 -0
  51. data/{stylesheets/_playmo_rails.sass → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_html5-boilerplate.css.scss} +1 -1
  52. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_layout.css.scss +264 -0
  53. data/{templates/project/playmo/playmo.scss → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_overrides.css.scss} +14 -23
  54. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/_simple_form.css.scss +7 -0
  55. data/{stylesheets/playmo-rails/_fonts.scss → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/html5-boilerplate/_fonts.css.scss} +5 -6
  56. data/{stylesheets/playmo-rails/_helpers.scss → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/html5-boilerplate/_helpers.css.scss} +6 -1
  57. data/{stylesheets/playmo-rails/_media.scss → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/html5-boilerplate/_media.css.scss} +10 -9
  58. data/lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/html5-boilerplate/_reset.css.scss +47 -0
  59. data/{stylesheets/playmo-rails/_styles.scss → lib/playmo/recipes/templates/assets_recipe/stylesheets/partials/html5-boilerplate/_styles.css.scss} +24 -24
  60. data/lib/playmo/recipes/templates/capistrano_recipe/.gitkeep +0 -0
  61. data/lib/playmo/recipes/templates/devise_recipe/.gitkeep +0 -0
  62. data/lib/playmo/recipes/templates/forms_recipe/.gitkeep +0 -0
  63. data/lib/playmo/recipes/templates/home_controller_recipe/_sidebar.html.erb +3 -0
  64. data/lib/playmo/recipes/templates/layout_recipe/application.html.erb +40 -0
  65. data/lib/playmo/recipes/templates/rspec_recipe/.gitkeep +0 -0
  66. data/lib/playmo/recipes/templates/rvm_recipe/.gitkeep +0 -0
  67. data/lib/playmo/silent.rb +17 -0
  68. data/playmo.gemspec +6 -2
  69. data/spec/cookbook_spec.rb +23 -0
  70. data/spec/recipes/home_controller_recipe_spec.rb +13 -0
  71. data/spec/spec_helper.rb +16 -0
  72. data/spec/support/.gitkeep +0 -0
  73. metadata +144 -79
  74. data/lib/app/helpers/playmo_helper.rb +0 -54
  75. data/lib/generators/playmo/USAGE +0 -8
  76. data/lib/generators/playmo/install_generator.rb +0 -166
  77. data/lib/generators/playmo/templates/application.html.erb +0 -56
  78. data/lib/generators/playmo/templates/application_controller.rb +0 -9
  79. data/lib/generators/playmo/templates/application_helper.rb +0 -21
  80. data/lib/generators/playmo/templates/assets.yml +0 -32
  81. data/lib/generators/playmo/templates/deploy.rb +0 -50
  82. data/lib/generators/playmo/templates/jquery/jquery-1.5.2.min.js +0 -16
  83. data/lib/generators/playmo/templates/jquery/rails.js +0 -157
  84. data/lib/generators/playmo/templates/mootools/mootools-core-1.3.1.js +0 -485
  85. data/lib/generators/playmo/templates/mootools/mootools-more-1.3.1.1.js +0 -741
  86. data/lib/generators/playmo/templates/mootools/rails.js +0 -161
  87. data/lib/generators/playmo/templates/tasks/assets.rake +0 -10
  88. data/lib/generators/playmo/templates/tasks/sass.rake +0 -8
  89. data/stylesheets/playmo-rails/_handheld.scss +0 -8
  90. data/stylesheets/playmo-rails/_reset.scss +0 -56
  91. data/templates/project/boilerplate/css/handheld.scss +0 -7
  92. data/templates/project/boilerplate/css/style.scss +0 -141
  93. data/templates/project/boilerplate/files/apple-touch-icon.png +0 -0
  94. data/templates/project/boilerplate/files/crossdomain.xml +0 -25
  95. data/templates/project/boilerplate/files/favicon.ico +0 -0
  96. data/templates/project/boilerplate/files/robots.txt +0 -5
  97. data/templates/project/boilerplate/js/libs/dd_belatedpng.js +0 -13
  98. data/templates/project/boilerplate/js/libs/modernizr-1.7.min.js +0 -2
  99. data/templates/project/google/google.yml +0 -22
  100. data/templates/project/manifest.rb +0 -34
  101. data/templates/project/playmo/article.scss +0 -69
  102. data/templates/project/playmo/icons/outgoing.png +0 -0
  103. data/templates/project/rails/public/stylesheets/layout.scss +0 -20
  104. data/templates/project/rails/public/stylesheets/print.scss +0 -11
  105. data/templates/project/rails/public/stylesheets/screen.scss +0 -14
  106. data/templates/project/rails/public/stylesheets/wysiwyg.scss +0 -19
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format=progress
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in playmo.gemspec
4
- gemspec
4
+ gemspec
data/README.md CHANGED
@@ -1,55 +1,19 @@
1
- # Playmo
2
- This is the special kit that allows you create html5-ready Rails 3 apps quick with pre-included few useful libs in your app.
3
- It includes:
4
-
5
- * [Compass](http://compass-style.org/)
6
- * [Jammit](https://github.com/documentcloud/jammit) - industrial strength asset packaging for Rails
7
- * [HTML5 Boilerplate](http://html5boilerplate.com/)
8
- * [Mootools](http://mootools.net)
9
- * [Jquery](http://jquery.com)
10
- * [Devise](https://github.com/plataformatec/devise) - flexible authentication solution for Rails
11
- * [Cancan](https://github.com/ryanb/cancan) - authorization gem for Rails
12
- * [Capistrano](https://github.com/capistrano/capistrano) - remote multi-server automation tool
13
- * Set of useful rails helpers
14
-
15
- *Don't forget that playmo supports only Rails 3 apps*
1
+ # Playmo (under development)
2
+ This is the special kit that allows you create html5-ready Rails 3.1 apps quick with pre-included few widely used libs in your app.
16
3
 
17
- ## How to install
18
- First, create new Rails 3 application
19
-
20
- $ rails new appname
21
- $ cd ./appname
22
-
23
- Then add to your Gemfile these lines
24
-
25
- group :development do
26
- gem 'playmo', :git => 'git://github.com/tanraya/playmo.git'
27
- end
4
+ __Currently under development, so do not use it in production. Please wait for release.__
28
5
 
29
- After that, run bundle to install necessary gems
6
+ ## How to install
7
+ First, install the gem:
30
8
 
31
- $ bundle
9
+ gem install playmo
32
10
 
33
- After installing the files we need to generate playmo files in our application
11
+ After that, run playmo to generate new rails app:
34
12
 
35
- $ rails g playmo:install
13
+ $ playmo myappname
36
14
 
37
- That's all. Now you can run your app:
15
+ Then just answer a questions. That's all. Now you can run your app:
38
16
 
39
17
  $ rails s
40
18
 
41
19
  ***
42
-
43
- ## What it does (details)
44
-
45
- * Installs JQuery or Mootools depending on your preference
46
- * Replaces default layout with HTML5-Boilerplate
47
- * Generates HomeController with index action and view
48
- * Generates a set of useful helpers in ApplicationHelper
49
- * Removes default rails javascripts
50
- * Replaces prototype-ujs with jquery-ujs or mootools-ujs
51
- * Installs devise, cancan and compass (and their dependencies)
52
- * Adds _User.current_ class method as alias for devise _current_user_ helper, thus you access to current user object from other models.
53
-
54
- ## Limitations
55
- Install the gem *only* into new empty app. Installation into ready apps is *only on your risk* because you may accidentally damage the files in your app.
data/TODO.md CHANGED
@@ -1,16 +1,72 @@
1
1
  # TODO
2
2
  - Integrates with jammit
3
- * Add content for sidebar
4
- * Add footer content
5
- * Modify default layout styles
6
- * Add styles for formtastic
7
- * Transform boilerplate & other styles to scss
8
- * Templates customizing (http://zigzag.github.com/2010/01/18/customizing-your-scaffold-template-become-easier-in-rails3.html)
3
+ - Add content for sidebar
4
+ - Add links to devise controllers into layout
5
+ - Add name column to users table
6
+ - Add scoped_link_to helper
7
+ - Add footer content
8
+ - Modify default layout styles
9
+ * Add styles for formtastic if formtastic installed
10
+ - Transform boilerplate & other styles to scss
11
+ - Templates customizing (http://zigzag.github.com/2010/01/18/customizing-your-scaffold-template-become-easier-in-rails3.html)
9
12
  - Create an html5 simple template and rails application to develop playmo gem
10
- - Add link to homepage into "Welcome to abroad!"
11
- * Add default users into seeds
13
+ - Add link to homepage into "Welcome to aboard!"
14
+ - Add default users into seeds
12
15
  - Generate assets.yml
13
16
  - Modify compass.rb
14
17
  - initialize git repository
15
18
  - add capistrano and capify!
16
- * https://gist.github.com/280196/5c075f4a3d3a4118d1d706fce07e40572a3873c7
19
+ - https://gist.github.com/280196/5c075f4a3d3a4118d1d706fce07e40572a3873c7
20
+ - Remove scss files from public after deploy. Create special task for it.
21
+ * Add dynamic processing for 500, 404, 422 errors
22
+ * Generate models with useful comments that define code order (like: associations, validations, constants, etc.)
23
+ - That's what I need to customize generators templates: http://www.railsdispatch.com/posts/building-or-updating-a-rails-3-plugin
24
+ * Replace default forms by formtastic or simple_form
25
+ * Generate HomesController in rails3 style
26
+ - Do not copy playmo & boilerplate css styles into app - keep its inside gem
27
+ * Include google code into layout and copy google.yml into config dir
28
+ - Make styles for rails flashes
29
+ - It seems override styles are not OK
30
+ - Do not copy helpers into app!
31
+ - Asks for most popular gems installation (Do you Want to install some popular gems right now?)
32
+ * Add js and close button for flash notices
33
+ * Add color coding for flash notices (maybe with icons)
34
+ * Own layout generator; generate default application layout with generator.
35
+ * Use rails3-generators to generate scaffolding & stuff
36
+
37
+ ## What a gems
38
+ * will_paginate or kaminari
39
+ * dragonfly or paperclip
40
+ * simple_form or formtastic
41
+ * cancan or (?)
42
+ * devise or authlogic
43
+ * meta_where
44
+ * carrierwave or (?)
45
+ * nifty_generators or rails3-generators (?)
46
+
47
+ ## What next
48
+ * Add default user when install devise or authlogic.
49
+ * Replace default form generator with simple_form or formtastic generator
50
+ * Configure dragonfly (like in lowjob). Also we can create polymorphic Image model
51
+ * CSS styles for will_paginate or kaminari pagination
52
+ * CSS styles for devise templates
53
+ * Configure generators in application.rb
54
+
55
+ === Forms
56
+
57
+ 1. simple_form
58
+ 2. formtastic
59
+
60
+ Enter number you choice (or press 'n' to skip):
61
+
62
+ === Pagination
63
+
64
+ 1. will_paginate
65
+ 2. kaminari
66
+
67
+ === Generators
68
+ === Authentification
69
+ === Authorization
70
+ === Image processing
71
+ === Uploads
72
+
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path("../../lib", __FILE__)
3
+
4
+ require 'playmo'
5
+
6
+ Playmo::Cli.start(ARGV)
@@ -0,0 +1,5 @@
1
+ require 'rails/generators/rails/controller/controller_generator'
2
+
3
+ class Rails::Generators::ControllerGenerator
4
+ (class << self; self; end).class_eval { source_root File.expand_path("../templates", __FILE__) }
5
+ end
@@ -0,0 +1,26 @@
1
+ module Rails
2
+ module Generators
3
+ class LayoutGenerator < Base
4
+ desc "Generates layouts for your application."
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ argument :layout_name, :type => :string, :default => 'application'
7
+ argument :markup, :type => :string, :default => 'erb'
8
+
9
+ def generate_layout
10
+ template "layout.html.#{extension}", "app/views/layouts/#{file_name}.html.#{extension}"
11
+ end
12
+
13
+ private
14
+
15
+ def file_name
16
+ layout_name.underscore
17
+ end
18
+
19
+ def extension
20
+ extension = markup.downcase
21
+ extension = 'erb' unless ['erb', 'haml', 'slim'].include?(extension)
22
+ extension
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,13 @@
1
+ require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
2
+
3
+ module Rails
4
+ module Generators
5
+ class ScaffoldControllerGenerator < ScaffoldControllerGenerator
6
+ source_root File.expand_path("../templates", __FILE__)
7
+
8
+ def create_controller_files
9
+ template 'scaffold_controller.rb', File.join('app/controllers', class_path, "#{controller_file_name}_controller.rb")
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ class <%= class_name %>Controller < ApplicationController
2
+ respond_to :html, :json
3
+
4
+ <% for action in actions -%>
5
+ def <%= action %>
6
+ # ...
7
+ end
8
+
9
+ <% end -%>
10
+ end
11
+
@@ -0,0 +1,46 @@
1
+ <!DOCTYPE html>
2
+ <%%= ie_html :class => 'no-js', :lang => :en do %>
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7
+ <%%= csrf_meta_tag %>
8
+
9
+ <title><%%= page_title "Default title" %></title>
10
+ <meta name="description" content="<%%= yield :description %>">
11
+ <meta name="author" content="<%%= yield :author %>">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
+
14
+ <link rel="shortcut icon" href="/favicon.ico">
15
+
16
+ <%%= stylesheet_link_tag "application" %>
17
+ <%%= javascript_include_tag "application" %>
18
+ </head>
19
+ <body id="<%%= page_id %>">
20
+ <%%= flash_messages %>
21
+
22
+ <div id="main-wrapper">
23
+ <header>
24
+ <h1><%%= link_to_unless_current 'Welcome aboard!', root_path %></h1>
25
+ </header>
26
+
27
+ <div id="body">
28
+
29
+ <section id="content">
30
+ <%%= yield %>
31
+ </section>
32
+
33
+ <aside>
34
+ <%%= content_for?(:sidebar) ? yield(:sidebar) : render("shared/sidebar") %>
35
+ </aside>
36
+
37
+ </div>
38
+ </div>
39
+
40
+ <footer>
41
+ <p>
42
+ This application was generated with <%%= link_to 'Playmo', 'http://github.com/tanraya/playmo' %> gem
43
+ </p>
44
+ </footer>
45
+ </body>
46
+ <%% end %>
@@ -0,0 +1,26 @@
1
+ !!!
2
+ = ie_html :class => 'no-js', :lang => :en do
3
+ %head
4
+ %meta{:charset => "utf-8"}
5
+ %meta{:content => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible"}
6
+ = csrf_meta_tag
7
+ %title= page_title "Default title"
8
+ %meta{:content => yield(:description), :name => "description"}
9
+ %meta{:content => yield(:author), :name => "author"}
10
+ %meta{:content => "width=device-width, initial-scale=1.0", :name => "viewport"}
11
+ %link{:href => "/favicon.ico", :rel => "shortcut icon"}
12
+ = stylesheet_link_tag "application"
13
+ = javascript_include_tag "application"
14
+ %body{:id => page_id}
15
+ = flash_messages
16
+ #main-wrapper
17
+ %header
18
+ %h1= link_to_unless_current 'Welcome aboard!', root_path
19
+ #body
20
+ %section#content
21
+ = yield
22
+ %aside
23
+ = content_for?(:sidebar) ? yield(:sidebar) : render("shared/sidebar")
24
+ %footer
25
+ %p
26
+ This application was generated with #{link_to 'Playmo', 'http://github.com/tanraya/playmo'} gem
@@ -0,0 +1,26 @@
1
+ doctype
2
+ = ie_html :class => 'no-js', :lang => :en do
3
+ head
4
+ meta charset="utf-8"
5
+ meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"
6
+ = csrf_meta_tag
7
+ title= page_title "Default title"
8
+ meta content=(yield(:description)) name="description"
9
+ meta content=(yield(:author)) name="author"
10
+ meta content="width=(device-width,)initial-scale=1.0" name="viewport"
11
+ link href="/favicon.ico" rel="shortcut icon"
12
+ = stylesheet_link_tag "application"
13
+ = javascript_include_tag "application"
14
+ body id=(page_id)
15
+ = flash_messages
16
+ #main-wrapper
17
+ header
18
+ h1= link_to_unless_current 'Welcome aboard!', root_path
19
+ #body
20
+ section#content
21
+ = yield
22
+ aside
23
+ = content_for?(:sidebar) ? yield(:sidebar) : render("shared/sidebar")
24
+ footer
25
+ p
26
+ | This application was generated with #{link_to 'Playmo', 'http://github.com/tanraya/playmo'} gem
@@ -0,0 +1,56 @@
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+ respond_to :html, :json
3
+
4
+ <% unless options[:singleton] -%>
5
+ # GET /<%= table_name %>
6
+ # GET /<%= table_name %>.xml
7
+ def index
8
+ @<%= table_name %> = <%= orm_class.all(class_name) %>
9
+ respond_with(@<%= table_name %>)
10
+ end
11
+ <% end -%>
12
+
13
+ # GET /<%= table_name %>/1
14
+ # GET /<%= table_name %>/1.xml
15
+ def show
16
+ @<%= file_name %> = <%= orm_class.find(class_name, "params[:id]") %>
17
+ respond_with(@<%= file_name %>)
18
+ end
19
+
20
+ # GET /<%= table_name %>/new
21
+ # GET /<%= table_name %>/new.xml
22
+ def new
23
+ @<%= file_name %> = <%= orm_class.build(class_name) %>
24
+ respond_with(@<%= file_name %>)
25
+ end
26
+
27
+ # GET /<%= table_name %>/1/edit
28
+ def edit
29
+ @<%= file_name %> = <%= orm_class.find(class_name, "params[:id]") %>
30
+ end
31
+
32
+ # POST /<%= table_name %>
33
+ # POST /<%= table_name %>.xml
34
+ def create
35
+ @<%= file_name %> = <%= orm_class.build(class_name, "params[:#{file_name}]") %>
36
+ flash[:notice] = '<%= class_name %> was successfully created.' if @<%= orm_instance.save %>
37
+ respond_with(@<%= file_name %>)
38
+ end
39
+
40
+ # PUT /<%= table_name %>/1
41
+ # PUT /<%= table_name %>/1.xml
42
+ def update
43
+ @<%= file_name %> = <%= orm_class.find(class_name, "params[:id]") %>
44
+ flash[:notice] = '<%= class_name %> was successfully updated.' if @<%= orm_instance.update_attributes("params[:#{file_name}]") %>
45
+ respond_with(@<%= file_name %>)
46
+ end
47
+
48
+ # DELETE /<%= table_name %>/1
49
+ # DELETE /<%= table_name %>/1.xml
50
+ def destroy
51
+ @<%= file_name %> = <%= orm_class.find(class_name, "params[:id]") %>
52
+ @<%= orm_instance.destroy %>
53
+ respond_with(@<%= file_name %>)
54
+ end
55
+ end
56
+
@@ -1,12 +1,50 @@
1
1
  # encoding: utf-8
2
- require 'compass'
3
- Compass::Frameworks.register("playmo", :path => "#{File.dirname(__FILE__)}/..")
4
2
 
5
- if defined?(ActionController)
6
- require File.join(File.dirname(__FILE__), 'app', 'helpers', 'playmo_helper')
7
- ActionController::Base.helper(PlaymoHelper)
8
- end
3
+ require 'rails/all'
4
+
5
+ #require 'compass'
6
+ #Compass::Frameworks.register("playmo", :path => "#{File.dirname(__FILE__)}/..")
7
+
8
+ #if defined?(ActionController)
9
+ # require File.join(File.dirname(__FILE__), 'app', 'helpers', 'playmo_helper')
10
+ # ActionController::Base.helper(PlaymoHelper)
11
+ #end
12
+
13
+ # Recipes order:
14
+ # MarkupRecipe
15
+ # AssetsRecipe
16
+ # ApplicationControllerRecipe
17
+ # CompassRecipe
18
+ # FormsRecipe
19
+ # JavascriptFrameworkRecipe
20
+ # DeviseRecipe
21
+ # LayoutRecipe
22
+ # HomeControllerRecipe
23
+ # ApplicationHelperRecipe
24
+ # RspecRecipe
25
+ # CapistranoRecipe
26
+ # RvmRecipe
27
+ # SetupDatabaseRecipe
28
+ # GitRecipe
29
+ # CongratsRecipe
9
30
 
10
31
  module Playmo
32
+ extend ActiveSupport::Autoload
33
+
34
+ autoload :Cli
35
+ autoload :Event
36
+ autoload :Options
37
+ autoload :Question
38
+ autoload :Answer
39
+ autoload :Silent
40
+ autoload :Choice
41
+ autoload :Cookbook
42
+ autoload :Recipe
43
+
44
+ Dir["#{File.dirname(__FILE__)}/playmo/recipes/*_recipe.rb"].each { |file| require file }
45
+
11
46
  #autoload :Generators, 'playmo/generators/base'
12
- end
47
+ #class Railtie < ::Rails::Railtie
48
+ # config.app_generators.scaffold_controller = :playmo_controller
49
+ #end
50
+ end
@@ -0,0 +1,18 @@
1
+ module Playmo
2
+ class Answer < Thor::Shell::Basic
3
+ attr_accessor :answer_text, :method_name, :num
4
+
5
+ def initialize(answer_text, method_name, num)
6
+ @answer_text = answer_text
7
+ @method_name = method_name
8
+ @num = num
9
+ @padding = 0
10
+ end
11
+
12
+ def render
13
+ "#{@num}. #{@answer_text}\n" if @answer_text
14
+ end
15
+
16
+ alias :to_s :render
17
+ end
18
+ end