echo_base 0.1.3 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. data/.document +2 -2
  2. data/.rspec +1 -0
  3. data/Gemfile +15 -0
  4. data/{LICENSE → LICENSE.txt} +1 -1
  5. data/README.rdoc +32 -32
  6. data/Rakefile +51 -40
  7. data/bin/echo_base +7 -0
  8. data/echo_base.gemspec +150 -134
  9. data/lib/echo_base.rb +122 -0
  10. data/lib/{generators/echo_base/templates → templates}/Capfile +0 -0
  11. data/lib/{generators/echo_base/templates → templates}/Gemfile +8 -6
  12. data/lib/{generators/echo_base/templates → templates}/app/controllers/application_controller.rb +0 -0
  13. data/lib/{generators/echo_base/templates → templates}/app/controllers/sessions_controller.rb +0 -0
  14. data/lib/{generators/echo_base/templates → templates}/app/controllers/users_controller.rb +0 -0
  15. data/lib/{generators/echo_base/templates → templates}/app/models/authorization.rb +0 -0
  16. data/lib/{generators/echo_base/templates → templates}/app/models/user.rb +0 -0
  17. data/lib/{generators/echo_base/templates/application.html.erb → templates/app/views/layouts/application.html.erb.tt} +4 -3
  18. data/lib/{generators/echo_base/templates → templates}/app/views/shared/_js.html.erb +2 -3
  19. data/lib/{generators/echo_base/templates → templates}/app/views/users/_form.html.erb +0 -0
  20. data/lib/{generators/echo_base/templates → templates}/app/views/users/_sidebar.html.erb +0 -0
  21. data/lib/{generators/echo_base/templates → templates}/app/views/users/edit.html.erb +0 -0
  22. data/lib/{generators/echo_base/templates → templates}/app/views/users/index.html.erb +0 -0
  23. data/lib/{generators/echo_base/templates → templates}/app/views/users/new.html.erb +0 -0
  24. data/lib/{generators/echo_base/templates → templates}/app/views/users/show.html.erb +0 -0
  25. data/lib/{generators/echo_base/templates → templates}/config/deploy.rb +0 -0
  26. data/lib/{generators/echo_base/templates → templates}/config/initializers/hoptoad.rb +0 -1
  27. data/lib/{generators/echo_base/templates → templates}/config/initializers/omniauth.rb +0 -0
  28. data/lib/{generators/echo_base/templates/public/favicon.ico → templates/config/newrelic.yml.example} +0 -0
  29. data/lib/{generators/echo_base/templates → templates}/config/omniauth.yml +0 -0
  30. data/lib/templates/config/omniauth.yml.example +62 -0
  31. data/lib/{generators/echo_base/templates → templates}/db/migrate/20101008210657_create_authorizations.rb +0 -0
  32. data/lib/{generators/echo_base/templates → templates}/db/migrate/20101009192412_create_users.rb +0 -0
  33. data/lib/templates/gitignore +17 -0
  34. data/lib/{generators/echo_base/templates → templates}/public/404.html +0 -0
  35. data/lib/{generators/echo_base/templates → templates}/public/422.html +0 -0
  36. data/lib/{generators/echo_base/templates → templates}/public/500.html +0 -0
  37. data/lib/{generators/echo_base/templates/public/stylesheets/.gitkeep → templates/public/favicon.ico} +0 -0
  38. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/arrow.png +0 -0
  39. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/avatar.png +0 -0
  40. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/boxbar-background.png +0 -0
  41. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/breadcrumb.png +0 -0
  42. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/button-background-active.png +0 -0
  43. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/button-background.png +0 -0
  44. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/about +0 -0
  45. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/anchor-hover.png +0 -0
  46. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/anchor.png +0 -0
  47. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/cross-hover.png +0 -0
  48. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/cross.png +0 -0
  49. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/download-hover.png +0 -0
  50. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/download.png +0 -0
  51. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/edit-hover.png +0 -0
  52. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/edit.png +0 -0
  53. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/export-hover.png +0 -0
  54. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/export.png +0 -0
  55. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/show-hover.png +0 -0
  56. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/24/show.png +0 -0
  57. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/add.png +0 -0
  58. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/application_edit.png +0 -0
  59. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/calendar-hover.png +0 -0
  60. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/calendar.png +0 -0
  61. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/cross.png +0 -0
  62. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/delete.png +0 -0
  63. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/download.png +0 -0
  64. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/edit.png +0 -0
  65. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/key.png +0 -0
  66. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/pdf.png +0 -0
  67. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/search.png +0 -0
  68. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/see-less.png +0 -0
  69. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/see-more.png +0 -0
  70. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/send-mail.png +0 -0
  71. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/show.png +0 -0
  72. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/source +0 -0
  73. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/tick.png +0 -0
  74. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/icons/upload.png +0 -0
  75. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/logo.png +0 -0
  76. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/menubar-background.png +0 -0
  77. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/search-button.png +0 -0
  78. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/session/account.png +0 -0
  79. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/session/config.png +0 -0
  80. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/session/home.png +0 -0
  81. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/session/logout.png +0 -0
  82. data/lib/{generators/echo_base/templates → templates}/public/images/web-app-theme/tipsy.gif +0 -0
  83. data/lib/{generators/echo_base/templates → templates}/public/javascripts/application.js +0 -0
  84. data/lib/{generators/echo_base/templates → templates}/public/javascripts/dd_belatedpng.js +0 -0
  85. data/lib/{generators/echo_base/templates → templates}/public/javascripts/jquery-1.4.2.min.js +0 -0
  86. data/lib/{generators/echo_base/templates → templates}/public/javascripts/modernizr-1.5.min.js +0 -0
  87. data/lib/{generators/echo_base/templates → templates}/public/javascripts/rails.js +0 -0
  88. data/lib/{generators/echo_base/templates → templates}/public/robots.txt +0 -0
  89. data/lib/templates/public/stylesheets/.gitkeep +0 -0
  90. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/handheld.css +0 -0
  91. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/style.css +0 -0
  92. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/base.css +0 -0
  93. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/override.css +0 -0
  94. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/images/arrow.png +0 -0
  95. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/images/boxbar-background.png +0 -0
  96. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/images/button-background-active.png +0 -0
  97. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/images/button-background.png +0 -0
  98. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/images/menubar-background.png +0 -0
  99. data/lib/{generators/echo_base/templates → templates}/public/stylesheets/web-app-theme/themes/default/style.css +0 -0
  100. data/spec/echo_base_spec.rb +77 -0
  101. data/spec/spec_helper.rb +12 -0
  102. metadata +314 -138
  103. data/.gitignore +0 -21
  104. data/VERSION +0 -1
  105. data/lib/generators/echo_base/USAGE +0 -5
  106. data/lib/generators/echo_base/echo_base_generator.rb +0 -51
  107. data/lib/generators/echo_base/templates/.infinity_test +0 -25
  108. data/lib/generators/echo_base/templates/.rspec +0 -1
  109. data/lib/generators/echo_base/templates/.rvmrc +0 -1
  110. data/lib/generators/echo_base/templates/app/helpers/application_helper.rb +0 -2
  111. data/lib/generators/echo_base/templates/app/helpers/sessions_helper.rb +0 -2
  112. data/lib/generators/echo_base/templates/app/helpers/users_helper.rb +0 -2
  113. data/lib/generators/echo_base/templates/autotest/discover.rb +0 -2
  114. data/lib/generators/echo_base/templates/config/cucumber.yml +0 -8
  115. data/lib/generators/echo_base/templates/config/newrelic.yml +0 -1
  116. data/lib/generators/echo_base/templates/features/manage_authentications.feature +0 -45
  117. data/lib/generators/echo_base/templates/features/manage_users.feature +0 -45
  118. data/lib/generators/echo_base/templates/features/step_definitions/authentication_steps.rb +0 -14
  119. data/lib/generators/echo_base/templates/features/step_definitions/users_steps.rb +0 -14
  120. data/lib/generators/echo_base/templates/features/step_definitions/web_steps.rb +0 -219
  121. data/lib/generators/echo_base/templates/features/support/env.rb +0 -57
  122. data/lib/generators/echo_base/templates/features/support/paths.rb +0 -39
  123. data/lib/generators/echo_base/templates/spec/controllers/sessions_controller_spec.rb +0 -5
  124. data/lib/generators/echo_base/templates/spec/controllers/users_controller_spec.rb +0 -125
  125. data/lib/generators/echo_base/templates/spec/helpers/users_helper_spec.rb +0 -15
  126. data/lib/generators/echo_base/templates/spec/models/authorization_spec.rb +0 -5
  127. data/lib/generators/echo_base/templates/spec/models/user_spec.rb +0 -5
  128. data/lib/generators/echo_base/templates/spec/routing/users_routing_spec.rb +0 -35
  129. data/lib/generators/echo_base/templates/spec/spec_helper.rb +0 -16
  130. data/lib/generators/echo_base/templates/spec/views/users/edit.html.erb_spec.rb +0 -27
  131. data/lib/generators/echo_base/templates/spec/views/users/index.html.erb_spec.rb +0 -36
  132. data/lib/generators/echo_base/templates/spec/views/users/new.html.erb_spec.rb +0 -27
  133. data/lib/generators/echo_base/templates/spec/views/users/show.html.erb_spec.rb +0 -27
  134. data/test/helper.rb +0 -10
  135. data/test/test_echo_base.rb +0 -7
data/lib/echo_base.rb CHANGED
@@ -0,0 +1,122 @@
1
+ require "thor/group"
2
+ require "active_support"
3
+ require "active_support/version"
4
+ require "active_support/core_ext/string"
5
+
6
+ require "rails/generators"
7
+ require "rails/generators/rails/app/app_generator"
8
+
9
+ class EchoBase < Thor::Group
10
+ include Thor::Actions
11
+ argument :name
12
+
13
+ #class_option :heroku, :default => :false
14
+ #class_option :db, :default => 'sqlite', :desc => 'Database to use, options are couchdb, mongo, redis, mysql, postgres'
15
+
16
+ def self.source_root
17
+ @_source_root ||= File.expand_path('../templates/', __FILE__)
18
+ end
19
+
20
+ desc "Creates a Rails 3 base app with some handy defaults"
21
+
22
+ def generate_rails_app
23
+ invoke Rails::Generators::AppGenerator
24
+ inject_into_file "#{app_path}/config/routes.rb", "resources :users\n\tmatch '/auth/:provider/callback', :to => 'sessions#create'\n\troot :to => 'users#index'", :after => "Application.routes.draw do\n"
25
+ end
26
+
27
+ def app_files
28
+ directory 'app', "#{app_path}/app", :force => true
29
+ end
30
+
31
+ def gemfile
32
+ copy_file 'Gemfile', "#{app_path}/Gemfile", :force => true
33
+ end
34
+
35
+ def config
36
+ directory 'config', "#{app_path}/config"
37
+ # application rb stuff:
38
+ # include lib files
39
+ # include generators
40
+ # include js defaults
41
+ end
42
+
43
+ def bundle
44
+ run 'bundle'
45
+ end
46
+
47
+ def migrations
48
+ directory 'db', "#{app_path}/db", :force => true
49
+ run 'rake db:create:all'
50
+ run 'rake db:migrate'
51
+ end
52
+
53
+ def public
54
+ directory 'public', "#{app_path}/public", :force => true
55
+ end
56
+
57
+ def dot_files
58
+ copy_file 'gitignore', "#{app_path}/.gitignore", :force => true
59
+ #rvmrc
60
+ end
61
+
62
+ def devise
63
+ #run devise generator
64
+ #update devise file?
65
+ end
66
+
67
+ def subdomains
68
+
69
+ end
70
+
71
+ def rspec
72
+ run 'rails g rspec:install'
73
+ end
74
+
75
+ def cucumber
76
+ run 'rails g cucumber:install'
77
+ end
78
+
79
+ def heroku
80
+ # heroku create
81
+ # heroku addons add
82
+ #
83
+ end
84
+
85
+ def cleanup
86
+ remove_file "#{app_path}/public/index.html"
87
+ remove_file "#{app_path}/public/images/rails.png"
88
+ end
89
+
90
+ def git
91
+ begin
92
+ run 'git init;git add .;git commit -a -m "Initial Commit"'
93
+ rescue
94
+ say "Git fail"
95
+ end
96
+ end
97
+
98
+ def done
99
+ say "all done"
100
+ end
101
+
102
+
103
+
104
+ protected
105
+
106
+ def app_path
107
+ @app_path ||= "#{self.destination_root}/#{underscored}"
108
+ end
109
+
110
+ def camelized
111
+ @camelized ||= name.camelize
112
+ end
113
+
114
+ def underscored
115
+ @underscored ||= name.underscore
116
+ end
117
+
118
+
119
+ def heroku?
120
+ options[:heroku] == 'true'
121
+ end
122
+ end
@@ -1,31 +1,33 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '3.0.0'
3
+ gem 'rails', '3.0.5'
4
4
 
5
+ gem 'mysql'
6
+ gem 'jquery-rails'
5
7
  gem 'will_paginate', '>= 3.0.pre2'
8
+ gem 'formtastic'
6
9
  gem 'hoptoad_notifier'
7
10
  gem 'newrelic_rpm'
8
11
  gem 'rack-cache'
9
12
  gem 'dalli'
10
13
  gem 'omniauth'
14
+ gem 'sqlite3'
11
15
 
12
16
  group :development do
13
- gem 'jquery-rails'
14
- gem 'sqlite3-ruby', :require => 'sqlite3'
15
17
  gem 'unicorn'
16
18
  gem 'capistrano'
17
19
  gem 'capistrano-ext'
18
20
  gem 'awesome_print'
21
+ gem 'heroku'
19
22
  gem 'web-app-theme', '>= 0.6.2'
20
- gem 'echo_base'
21
23
  end
22
24
 
23
25
  group :test, :cucumber do
24
26
  gem 'capybara'
25
- gem 'jonrowe-database_cleaner', '0.5.2', :require => 'database_cleaner'
27
+ gem 'database_cleaner'
26
28
  gem 'cucumber-rails'
27
29
  gem 'cucumber'
28
- gem 'rspec-rails', '>= 2.0.0.beta.20'
30
+ gem 'rspec-rails'
29
31
  gem 'infinity_test'
30
32
  gem 'factory_girl'
31
33
  gem 'webmock'
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title><%=app_name%></title>
4
+ <title><%=name%></title>
5
5
  <%%= stylesheet_link_tag "web-app-theme/base", "web-app-theme/themes/default/style", "web-app-theme/override", :cache => true %>
6
6
  <%%= javascript_include_tag :all, :cache => true %>
7
7
  <%%= csrf_meta_tag %>
@@ -9,7 +9,7 @@
9
9
  <body>
10
10
  <div id="container">
11
11
  <div id="header">
12
- <h1><%%=link_to "<%=app_name%>", root_path %></h1>
12
+ <h1><%%=link_to "<%=name%>", root_path %></h1>
13
13
  <div id="user-navigation">
14
14
  <ul class="wat-cf">
15
15
  <li><a href="#"><%%= t("web-app-theme.profile", :default => "Profile") %></a></li>
@@ -35,7 +35,7 @@
35
35
  <%%= yield %>
36
36
  <div id="footer">
37
37
  <div class="block">
38
- <p>Copyright &copy; <%%= Time.now.year %> <%=app_name%></p>
38
+ <p>Copyright &copy; <%%= Time.now.year %> <%=name%></p>
39
39
  </div>
40
40
  </div>
41
41
  </div>
@@ -44,5 +44,6 @@
44
44
  </div>
45
45
  </div>
46
46
  </div>
47
+ <%%=render :partial => 'shared/js'%>
47
48
  </body>
48
49
  </html>
@@ -1,6 +1,5 @@
1
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
2
- <script>!window.jQuery && document.write('<script src="/javascripts/jquery-1.4.2.min.js"><\/script>')</script>
3
- <%= javascript_include_tag :defaults, :cache => true %>
1
+ <!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
2
+ <script>!window.jQuery && document.write('<script src="/javascripts/jquery-1.4.2.min.js"><\/script>')</script> -->
4
3
  <!--[if lt IE 7 ]>
5
4
  <script src="/javascripts/dd_belatedpng.js?v=1"></script>
6
5
  <![endif]-->
@@ -1,4 +1,3 @@
1
1
  HoptoadNotifier.configure do |config|
2
2
  config.api_key = 'HOPTOAD_API_KEY'
3
- config.js_notifier = true
4
3
  end
@@ -0,0 +1,62 @@
1
+ development:
2
+ twitter:
3
+ key:
4
+ secret:
5
+ facebook:
6
+ key:
7
+ secret:
8
+ linked:
9
+ key:
10
+ secret:
11
+ foursquare:
12
+ key:
13
+ secret:
14
+ github:
15
+ key:
16
+ secret:
17
+ thirty_seven_signals:
18
+ key:
19
+ secret:
20
+
21
+ test: &test
22
+ twitter:
23
+ key:
24
+ secret:
25
+ facebook:
26
+ key:
27
+ secret:
28
+ linked:
29
+ key:
30
+ secret:
31
+ foursquare:
32
+ key:
33
+ secret:
34
+ github:
35
+ key:
36
+ secret:
37
+ thirty_seven_signals:
38
+ key:
39
+ secret:
40
+
41
+ cucumber:
42
+ <<: *test
43
+
44
+ production:
45
+ twitter:
46
+ key:
47
+ secret:
48
+ facebook:
49
+ key:
50
+ secret:
51
+ linked:
52
+ key:
53
+ secret:
54
+ foursquare:
55
+ key:
56
+ secret:
57
+ github:
58
+ key:
59
+ secret:
60
+ thirty_seven_signals:
61
+ key:
62
+ secret:
@@ -0,0 +1,17 @@
1
+ *.rbc
2
+ *.sassc
3
+ .sass-cache
4
+ capybara-*.html
5
+ .rspec
6
+ /.bundle
7
+ /vendor/bundle
8
+ /log/*
9
+ /tmp/*
10
+ /db/*.sqlite3
11
+ /public/system/*
12
+ /coverage/
13
+ /spec/tmp/*
14
+ **.orig
15
+ config/*.yml
16
+ rerun.txt
17
+ pickle-email-*.html