frame 0.0.2 → 0.0.3

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 (36) hide show
  1. data/Gemfile +2 -0
  2. data/Gemfile.lock +14 -0
  3. data/Rakefile +19 -0
  4. data/lib/generators/frame.rb +29 -0
  5. data/lib/generators/frame/devise/USAGE +11 -0
  6. data/lib/generators/frame/devise/devise_generator.rb +31 -0
  7. data/lib/generators/frame/devise/templates/defaults.html.erb +45 -0
  8. data/lib/generators/frame/gitignore/USAGE +11 -0
  9. data/lib/generators/frame/gitignore/gitignore_generator.rb +17 -0
  10. data/lib/generators/frame/layout/USAGE +11 -0
  11. data/lib/generators/frame/layout/layout_generator.rb +43 -0
  12. data/lib/generators/frame/layout/templates/application.html.erb +3 -0
  13. data/lib/generators/frame/layout/templates/application_helper.rb +12 -0
  14. data/lib/generators/frame/layout/templates/default_layout.html.erb +27 -0
  15. data/lib/generators/frame/layout/templates/defaults.html.erb +39 -0
  16. data/lib/generators/frame/mysql/USAGE +11 -0
  17. data/lib/generators/frame/mysql/mysql_generator.rb +35 -0
  18. data/lib/generators/frame/pages/USAGE +11 -0
  19. data/lib/generators/frame/pages/pages_generator.rb +93 -0
  20. data/lib/generators/frame/pages/templates/_error_messages.html.erb +13 -0
  21. data/lib/generators/frame/pages/templates/_form.html.erb +36 -0
  22. data/lib/generators/frame/pages/templates/_links.html.erb +5 -0
  23. data/lib/generators/frame/pages/templates/_page.html.erb +2 -0
  24. data/lib/generators/frame/pages/templates/_sidebar.html.erb +9 -0
  25. data/lib/generators/frame/pages/templates/index.html.erb +31 -0
  26. data/lib/generators/frame/pages/templates/pages.html.erb +6 -0
  27. data/lib/generators/frame/pages/templates/show.html.erb +9 -0
  28. data/lib/generators/frame/secret/USAGE +11 -0
  29. data/lib/generators/frame/secret/secret_generator.rb +35 -0
  30. data/lib/generators/frame/secret/templates/database.yml +27 -0
  31. data/test/test_frame_secret_generator.rb +7 -0
  32. data/test/test_helper.rb +26 -0
  33. metadata +35 -6
  34. data/lib/frame.rb +0 -9
  35. data/lib/frame/engine.rb +0 -5
  36. data/lib/generators/frame/frame_generator.rb +0 -30
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "http://rubygems.org"
2
+ gemspec
@@ -0,0 +1,14 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ frame (0.0.3)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+
10
+ PLATFORMS
11
+ ruby
12
+
13
+ DEPENDENCIES
14
+ frame!
@@ -0,0 +1,19 @@
1
+ #require 'rubygems'
2
+ #require 'rake'
3
+ #require 'cucumber'
4
+ #require 'cucumber/rake/task'
5
+ #
6
+ #Cucumber::Rake::Task.new(:features) do |t|
7
+ # t.cucumber_opts = "features --format progress"
8
+ #end
9
+ #
10
+ #task :default => :features
11
+
12
+ require 'rake/testtask'
13
+
14
+ Rake::TestTask.new do |t|
15
+ t.libs << 'test'
16
+ end
17
+
18
+ desc "Run tests"
19
+ task :default => :test
@@ -0,0 +1,29 @@
1
+ require 'rails/generators/base'
2
+
3
+ module Frame
4
+ module Generators
5
+ class Base < Rails::Generators::Base #:nodoc:
6
+ def self.source_root
7
+ @_frame_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'frame', generator_name, 'templates'))
8
+ end
9
+
10
+ #def self.banner
11
+ # "rails generate frame:#{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]"
12
+ #end
13
+
14
+ private
15
+
16
+ def add_gem(name, options = {})
17
+ gemfile_content = File.read(destination_path("Gemfile"))
18
+ File.open(destination_path("Gemfile"), 'a') { |f| f.write("\n") } unless gemfile_content =~ /\n\Z/
19
+ gem name, options unless gemfile_content.include? name
20
+ end
21
+
22
+ #def print_usage
23
+ # self.class.help(Thor::Base.shell.new)
24
+ # exit
25
+ #end
26
+ end
27
+ end
28
+ end
29
+
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates devise installation.
3
+
4
+ Usage:
5
+ Use to generate install and setup devise for a project.
6
+
7
+ Examples:
8
+ rails generate frame:devise
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,31 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class DeviseGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Installs Devise."
10
+
11
+ def install_devise
12
+ gem("rspec-rails", :group => "test")
13
+ gem("cucumber-rails", :group => "test")
14
+
15
+ if yes?("Would you like to install Devise?")
16
+ gem("devise")
17
+ generate("devise:install")
18
+ model_name = ask("What would you like the user model to be called? [user]")
19
+ model_name = "user" if model_name.blank?
20
+ generate("devise", model_name)
21
+ end
22
+ end
23
+
24
+ #test/development:
25
+ # config.action_mailer.default_url_options = { :host => 'localhost:3000' }
26
+ #production:
27
+ # config.action_mailer.default_url_options = { :host => 'proj_name.com' }
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,45 @@
1
+ <%% content_for :head do %>
2
+ <%%= favicon_link_tag('/assets/favicon.ico') %>
3
+ <%%= stylesheet_link_tag "application" %>
4
+ <%%= javascript_include_tag "application" %>
5
+ <%%= csrf_meta_tag %>
6
+ <%% end %>
7
+
8
+ <%% content_for :header do %>
9
+ <nav class="span-24 append-bottom">
10
+ <ul>
11
+ <%%= render :partial => "pages/links", :collection => @display_pages.topbar, :as => :page, :locals => {:classes => "left hover"} %>
12
+ <%% if user_signed_in? %>
13
+ <%%= link_to '<li class="left hover">Account</li>'.html_safe, edit_user_registration_path %>
14
+ <%%= link_to '<li class="left hover">Sign out</li>'.html_safe, destroy_user_session_path, :method => :delete %>
15
+ <li class="right last">Signed in as <%%= current_user.email %></li>
16
+ <%% else %>
17
+ <%%= link_to '<li class="right hover">Sign in</li>'.html_safe, user_session_path %>
18
+ <%% end %>
19
+ </ul>
20
+ </nav>
21
+ <banner>
22
+ <%%= link_to logo, root_path, {:class => "right"} %>
23
+ <h1 class="left alt prepend-1 append-1"><%%= yield(:title) %></h1>
24
+ <%% flash.each do |key, value| %>
25
+ <div id="notice" class="left flash <%%= key %>"><%%= value %></div>
26
+ <%% end %>
27
+ </banner>
28
+ <hr/>
29
+ <%% end %>
30
+
31
+ <%% content_for :sidebar do %>
32
+ <%%= render 'shared/sidebar', :sidebar => @display_pages.sidebar %>
33
+ <%% end %>
34
+
35
+ <%% content_for :userbar do %>
36
+ <%%= render 'shared/sidebar', :sidebar => @display_pages.userbar %>
37
+ <%% end %>
38
+
39
+ <%% content_for :footer do %>
40
+ <nav class="span-24 prepend-top last">
41
+ <ul>
42
+ <%%= render :partial => "pages/links", :collection => @display_pages.bottombar, :as => :page, :locals => {:classes => "left hover"} %>
43
+ </ul>
44
+ </nav>
45
+ <%% end %>
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates the gitignore file.
3
+
4
+ Usage:
5
+ Use to generate the gitignore file for a project.
6
+
7
+ Examples:
8
+ rails generate frame:gitignore
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,17 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class GitignoreGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Installs Gitignore if it doesn't already exist."
10
+
11
+ def create_gitignore
12
+ template ".gitignore", ".gitignore"
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates pages model for web management.
3
+
4
+ Usage:
5
+ Use to generate pages model.
6
+
7
+ Examples:
8
+ rails generate frame:pages
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,43 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class LayoutGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Setup Pages."
10
+
11
+ class_option :force, :type => :boolean, :default => false, :desc => "Force file regeneration"
12
+
13
+ def add_gems
14
+ add_gem "mysql2"
15
+ end
16
+
17
+ def remove_index
18
+ #remove_file "public/index.html"
19
+ end
20
+
21
+ def add_default_layout
22
+ template 'defaults.html.erb', 'app/views/layouts/defaults.html.erb'
23
+ template 'default_layout.html.erb', 'app/views/layouts/default_layout.html.erb'
24
+ end
25
+
26
+ def add_page_helpers
27
+ template 'application_helper.rb', 'app/helpers/application_helper.rb'
28
+ end
29
+
30
+ def replace_html_app
31
+ @title = Rails.application.class.parent_name
32
+ template 'application.html.erb', 'app/views/layouts/application.html.erb'
33
+ end
34
+
35
+ private
36
+
37
+ def destination_path(path)
38
+ File.join(destination_root, path)
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,3 @@
1
+ <%% title '<%= @title %>' %>
2
+ <%%= render :template => 'layouts/defaults' %>
3
+ <%%= render :template => 'layouts/default_layout' %>
@@ -0,0 +1,12 @@
1
+ module ApplicationHelper
2
+ def title(page_title)
3
+ content_for :title do
4
+ page_title
5
+ end
6
+ page_title
7
+ end
8
+
9
+ def logo
10
+ image_tag("econtriver_logo.gif", {:alt => "eContriver", :class => "round", :style => "width: 192px; height: 50px"})
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%%= yield(:title) %></title>
5
+ <%%= yield :head %>
6
+ </head>
7
+ <body>
8
+ <div class="container">
9
+ <header>
10
+ <%%= yield :header %>
11
+ </header>
12
+ <content>
13
+ <div class="span-4 colborder">
14
+ <%%= yield :sidebar %>
15
+ <%%= yield :userbar %>
16
+ </div>
17
+ <div class="span-18 last">
18
+ <%%= yield %>
19
+ </div>
20
+ </content>
21
+ <footer>
22
+ <%%= yield :footer %>
23
+ </footer>
24
+ <%%= debug(params) if Rails.env.development? %>
25
+ </div>
26
+ </body>
27
+ </html>
@@ -0,0 +1,39 @@
1
+ <%% content_for :head do %>
2
+ <%%= favicon_link_tag('/assets/favicon.ico') %>
3
+ <%%= stylesheet_link_tag "application" %>
4
+ <%%= javascript_include_tag "application" %>
5
+ <%%= csrf_meta_tag %>
6
+ <%% end %>
7
+
8
+ <%% content_for :header do %>
9
+ <nav class="span-24 append-bottom">
10
+ <ul>
11
+ <%%= render :partial => "pages/links", :collection => @display_pages.topbar, :as => :page, :locals => {:classes => "left hover"} %>
12
+ <%%= link_to '<li class="left hover">Pages</li>'.html_safe, pages_path %>
13
+ </ul>
14
+ </nav>
15
+ <banner>
16
+ <%%= link_to logo, root_path, {:class => "right"} %>
17
+ <h1 class="left alt prepend-1 append-1"><%%= yield(:title) %></h1>
18
+ <%% flash.each do |key, value| %>
19
+ <div id="notice" class="left flash <%%= key %>"><%%= value %></div>
20
+ <%% end %>
21
+ </banner>
22
+ <hr/>
23
+ <%% end %>
24
+
25
+ <%% content_for :sidebar do %>
26
+ <%%= render 'shared/sidebar', :sidebar => @display_pages.sidebar %>
27
+ <%% end %>
28
+
29
+ <%% content_for :userbar do %>
30
+ <%%= render 'shared/sidebar', :sidebar => @display_pages.userbar %>
31
+ <%% end %>
32
+
33
+ <%% content_for :footer do %>
34
+ <nav class="span-24 prepend-top last">
35
+ <ul>
36
+ <%%= render :partial => "pages/links", :collection => @display_pages.bottombar, :as => :page, :locals => {:classes => "left hover"} %>
37
+ </ul>
38
+ </nav>
39
+ <%% end %>
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates devise installation.
3
+
4
+ Usage:
5
+ Use to generate install and setup devise for a project.
6
+
7
+ Examples:
8
+ rails generate frame:devise
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,35 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class MysqlGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Update MySQL with user priveleges."
10
+
11
+ def add_user
12
+ config = YAML.load_file('config/database.yml')
13
+ user = config[Rails.env]["username"]
14
+ pw = config[Rails.env]["password"]
15
+ puts "creating user: #{user}"
16
+ puts "using pw: #{pw}"
17
+ output = create_file 'tmp/create_user.sql', "CREATE USER '#{user}'@localhost IDENTIFIED BY '#{pw}';"
18
+ puts "output: #{output}"
19
+ system "mysql -u root -p < #{output}"
20
+ end
21
+
22
+ def grant_user
23
+ config = YAML.load_file('config/database.yml')
24
+ user = config[Rails.env]["username"]
25
+ db = config[Rails.env]["database"]
26
+ puts "granting user: #{user}"
27
+ puts "all on db: #{db}"
28
+ output = create_file 'tmp/grant_user.sql', "GRANT ALL PRIVILEGES ON #{db}.* TO '#{user}'@localhost;"
29
+ puts "output: #{output}"
30
+ system "mysql -u root -p < #{output}"
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates pages model for web management.
3
+
4
+ Usage:
5
+ Use to generate pages model.
6
+
7
+ Examples:
8
+ rails generate frame:pages
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,93 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class PagesGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Setup Pages."
10
+
11
+ class_option :force, :type => :boolean, :default => false, :desc => "Force file regeneration"
12
+
13
+ def add_gems
14
+ add_gem "mysql2"
15
+ end
16
+
17
+ def remove_index
18
+ #remove_file "public/index.html"
19
+ end
20
+
21
+ def generate_scaffold
22
+ generate("scaffold", "Page name:string title:string location:string content:text url:string ordinal:integer")
23
+ append_to_file 'db/seeds.rb' do
24
+ "\nPage.create(:name => 'Home', :title => 'Welcome to Home!', :content => '<h2>Content</h2>This is the content of the home page...', :location => 'topbar', :url => '', :ordinal => '1')\n"
25
+ end
26
+ generate("scaffold_controller", "Page")
27
+ end
28
+
29
+ def add_root_route
30
+ insert_into_file 'config/routes.rb', "root :to => 'pages#show', :id => 0\n", :after => "#{Rails.application.class.parent_name}::Application.routes.draw do\n"
31
+ end
32
+
33
+ def update_page_controller
34
+ comment_lines 'app/controllers/pages_controller.rb', /@pages = Page.all/
35
+ gsub_file 'app/controllers/pages_controller.rb', /def show\n\s+\@page \= Page\.find\(params\[\:id\]\)/ do
36
+ "def show
37
+ if params[:id] == 0
38
+ @page = Page.find_by_name('home') || Page.first
39
+ else
40
+ @page = Page.find(params[:id])
41
+ end"
42
+ end
43
+ end
44
+
45
+ def create_pages_partials
46
+ template '_links.html.erb', 'app/views/pages/_links.html.erb'
47
+ template '_form.html.erb', 'app/views/pages/_form.html.erb'
48
+ template '_error_messages.html.erb', 'app/views/shared/_error_messages.html.erb'
49
+ template '_sidebar.html.erb', 'app/views/shared/_sidebar.html.erb'
50
+ template '_page.html.erb', 'app/views/pages/_page.html.erb'
51
+ end
52
+
53
+ def create_pages_views
54
+ template 'pages.html.erb', 'app/views/layouts/pages.html.erb'
55
+ template 'index.html.erb', 'app/views/pages/index.html.erb'
56
+ template 'show.html.erb', 'app/views/pages/show.html.erb'
57
+ end
58
+
59
+ def add_scopes
60
+ inject_into_class "app/models/page.rb", Page do
61
+ '
62
+ validates_presence_of :name
63
+
64
+ scope :topbar, where(:location => "topbar")
65
+ scope :sidebar, where(:location => "sidebar")
66
+ scope :userbar, where(:location => "userbar")
67
+ scope :bottombar, where(:location => "bottombar")
68
+
69
+ '
70
+ end
71
+ end
72
+
73
+ def application_page_loader
74
+ inject_into_class "app/controllers/application_controller.rb", ApplicationController do '
75
+ before_filter :get_variables
76
+
77
+ def get_variables
78
+ @display_pages = Page.order("ordinal")
79
+ end
80
+
81
+ '
82
+ end
83
+ end
84
+
85
+ private
86
+
87
+ def destination_path(path)
88
+ File.join(destination_root, path)
89
+ end
90
+
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,13 @@
1
+ <%% if object.errors.any? %>
2
+ <div class="error">
3
+ <h2><%%= pluralize(object.errors.count, "error") %>
4
+ prohibited this <%%= object.class.to_s.underscore.humanize.downcase %>
5
+ from being saved:</h2>
6
+ <p>There were problems with the following fields:</p>
7
+ <ul>
8
+ <%% object.errors.full_messages.each do |msg| %>
9
+ <li><%%= msg %></li>
10
+ <%% end %>
11
+ </ul>
12
+ </div>
13
+ <%% end %>
@@ -0,0 +1,36 @@
1
+ <%%= form_for(@page) do |f| %>
2
+ <%%= render 'shared/error_messages', :object => f.object %>
3
+ <div class="field">
4
+ <%%= f.label :name %>
5
+ <br/>
6
+ <%%= f.text_field :name %>
7
+ </div>
8
+ <div class="field">
9
+ <%%= f.label :title %>
10
+ <br/>
11
+ <%%= f.text_field :title %>
12
+ </div>
13
+ <div class="field">
14
+ <%%= f.label :ordinal %>
15
+ <br/>
16
+ <%%= f.text_field :ordinal %>
17
+ </div>
18
+ <div class="field">
19
+ <%%= f.label :location %>
20
+ <br/>
21
+ <%%= f.select(:location, [['Top', 'topbar'], ['Userbar', 'userbar'], ['Sidebar', 'sidebar'], ['Bottom', 'bottombar'], ['Disabled', 'off']]) %>
22
+ </div>
23
+ <div class="field">
24
+ <%%= f.label :url %>
25
+ <br/>
26
+ <%%= f.url_field :url %>
27
+ </div>
28
+ <div class="field">
29
+ <%%= f.label :content %>
30
+ <br/>
31
+ <%%= f.text_area :content %>
32
+ </div>
33
+ <div class="actions">
34
+ <%%= f.submit %>
35
+ </div>
36
+ <%% end %>
@@ -0,0 +1,5 @@
1
+ <%% unless defined? classes %>
2
+ <%%= link_to "<li>#{page.name}</li>".html_safe, page.url.empty? ? page : page.url %>
3
+ <%% else %>
4
+ <%%= link_to "<li class='#{classes}'>#{page.name}</li>".html_safe, page.url.empty? ? page : page.url %>
5
+ <%% end %>
@@ -0,0 +1,2 @@
1
+ <h1>@page.title</h1>
2
+ <div>@page.content</div>
@@ -0,0 +1,9 @@
1
+ <%% if !sidebar.empty? %>
2
+ <sidebar>
3
+ <nav class="box">
4
+ <ul>
5
+ <%%= render :partial => "pages/links", :collection => sidebar, :as => :page %>
6
+ </ul>
7
+ </nav>
8
+ </sidebar>
9
+ <%% end %>
@@ -0,0 +1,31 @@
1
+ <%% title 'All pages' %>
2
+
3
+ <table>
4
+ <tr>
5
+ <th>Name</th>
6
+ <th>Title</th>
7
+ <th>Location</th>
8
+ <th>URL</th>
9
+ <th>Content</th>
10
+ <th></th>
11
+ <th></th>
12
+ <th></th>
13
+ </tr>
14
+
15
+ <%% @display_pages.each do |page| %>
16
+ <tr>
17
+ <td><%%= page.name %></td>
18
+ <td><%%= page.title %></td>
19
+ <td><%%= page.location %></td>
20
+ <td><%%= page.url %></td>
21
+ <td><%%= page.content %></td>
22
+ <td><%%= link_to 'Show', page %></td>
23
+ <td><%%= link_to 'Edit', edit_page_path(page) %></td>
24
+ <td><%%= link_to 'Destroy', page, :method => :delete, :data => { :confirm => 'Are you sure?' } %></td>
25
+ </tr>
26
+ <%% end %>
27
+ </table>
28
+
29
+ <br />
30
+
31
+ <%%= link_to 'New Page', new_page_path %>
@@ -0,0 +1,6 @@
1
+ <%% @view_flow.set(:sidebar, '') %>
2
+ <%% content_for :sidebar do %>
3
+ Custom Side Bar
4
+ <%% end %>
5
+ <%%= render :template => 'layouts/defaults' %>
6
+ <%%= render :template => 'layouts/default_layout' %>
@@ -0,0 +1,9 @@
1
+ <%% title @page.title %>
2
+
3
+ <div>
4
+ <%%= @page.content.html_safe %>
5
+ </div>
6
+
7
+ <br />
8
+ <%%= link_to 'Edit', edit_page_path(@page) %> |
9
+ <%%= link_to 'All Pages', pages_path %>
@@ -0,0 +1,11 @@
1
+ Description:
2
+ Generates config files with private information.
3
+
4
+ Usage:
5
+ Use to generate secret files for a project, such as database.yml.
6
+
7
+ Examples:
8
+ rails generate frame:secret
9
+
10
+ Methods:
11
+ There are several methods generated which you can use in your application.
@@ -0,0 +1,35 @@
1
+ require 'generators/frame'
2
+ require 'rails/generators/migration'
3
+
4
+ module Frame
5
+ module Generators
6
+ class SecretGenerator < Base
7
+ include Rails::Generators::Migration
8
+
9
+ desc "Installs Secret files if they don't already exist."
10
+
11
+ class_option :force, :type => :boolean, :default => false, :desc => "Force file regeneration"
12
+
13
+ #def opt
14
+ # puts options.force
15
+ #end
16
+
17
+ def create_database
18
+ config = YAML.load_file(File.expand_path(File.join(File.dirname(__FILE__), 'templates', 'database.yml')))
19
+
20
+ ['development','test','production'].each do |i|
21
+ config["#{i}"]["database"] = Rails.application.class.parent_name.downcase
22
+ config["#{i}"]["username"] = "#{Rails.application.class.parent_name.downcase}admin"
23
+ end
24
+
25
+ create_file 'config/database.yml', YAML.dump(config)
26
+ end
27
+
28
+ def create_secret_token
29
+ secret = `rake secret`.rstrip
30
+ initializer("secret_token.rb", "#{Rails.application.class.parent_name}::Application.config.secret_token = '#{secret}'")
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,27 @@
1
+ development:
2
+ adapter: mysql2
3
+ encoding: utf8
4
+ reconnet: false
5
+ database: proj
6
+ pool: 5
7
+ username: projadmin
8
+ password: password
9
+ host: localhost
10
+ test:
11
+ adapter: mysql2
12
+ encoding: utf8
13
+ reconnet: false
14
+ database: proj
15
+ pool: 5
16
+ username: projadmin
17
+ password: test
18
+ host: localhost
19
+ production:
20
+ adapter: mysql2
21
+ encoding: utf8
22
+ reconnet: false
23
+ database: proj
24
+ pool: 5
25
+ username: projadmin
26
+ password: supersecret
27
+ host: localhost
@@ -0,0 +1,7 @@
1
+ #class TestFrameSecretGenerator < Test::Unit::TestCase
2
+ # def test_print
3
+ #assert_equal "initial",
4
+ # Frame.print
5
+ # end
6
+ #end
7
+
@@ -0,0 +1,26 @@
1
+ #require 'test/unit'
2
+
3
+ # Must set before requiring generator libs.
4
+ #TMP_ROOT = File.dirname(__FILE__) + "/tmp" unless defined?(TMP_ROOT)
5
+ #PROJECT_NAME = "myproject" unless defined?(PROJECT_NAME)
6
+ #app_root = File.join(TMP_ROOT, PROJECT_NAME)
7
+ #if defined?(APP_ROOT)
8
+ # APP_ROOT.replace(app_root)
9
+ #else
10
+ # APP_ROOT = app_root
11
+ #end
12
+ #if defined?(RAILS_ROOT)
13
+ # RAILS_ROOT.replace(app_root)
14
+ #else
15
+ # RAILS_ROOT = app_root
16
+ #end
17
+
18
+ #require 'rubygems'
19
+ #gem 'rails', '2.0.2' # getting a Rails.configuration error with 2.1
20
+ #gem 'rubigen', '1.4'
21
+ #gem 'shoulda', '2.0.6'
22
+ #require 'rubigen' # gem install rubigen --version=1.4
23
+ #require 'rubigen/helpers/generator_test_helper'
24
+ #require 'rails_generator'
25
+ #require 'shoulda' # gem install shoulda --version=2.0.6
26
+ #require 'mocha'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frame
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -20,9 +20,38 @@ executables: []
20
20
  extensions: []
21
21
  extra_rdoc_files: []
22
22
  files:
23
- - lib/frame.rb
24
- - lib/frame/engine.rb
25
- - lib/generators/frame/frame_generator.rb
23
+ - lib/generators/frame.rb
24
+ - lib/generators/frame/layout/templates/defaults.html.erb
25
+ - lib/generators/frame/layout/templates/application.html.erb
26
+ - lib/generators/frame/layout/templates/application_helper.rb
27
+ - lib/generators/frame/layout/templates/default_layout.html.erb
28
+ - lib/generators/frame/layout/layout_generator.rb
29
+ - lib/generators/frame/layout/USAGE
30
+ - lib/generators/frame/mysql/USAGE
31
+ - lib/generators/frame/mysql/mysql_generator.rb
32
+ - lib/generators/frame/secret/templates/database.yml
33
+ - lib/generators/frame/secret/secret_generator.rb
34
+ - lib/generators/frame/secret/USAGE
35
+ - lib/generators/frame/pages/templates/pages.html.erb
36
+ - lib/generators/frame/pages/templates/show.html.erb
37
+ - lib/generators/frame/pages/templates/index.html.erb
38
+ - lib/generators/frame/pages/templates/_page.html.erb
39
+ - lib/generators/frame/pages/templates/_form.html.erb
40
+ - lib/generators/frame/pages/templates/_sidebar.html.erb
41
+ - lib/generators/frame/pages/templates/_links.html.erb
42
+ - lib/generators/frame/pages/templates/_error_messages.html.erb
43
+ - lib/generators/frame/pages/pages_generator.rb
44
+ - lib/generators/frame/pages/USAGE
45
+ - lib/generators/frame/devise/templates/defaults.html.erb
46
+ - lib/generators/frame/devise/USAGE
47
+ - lib/generators/frame/devise/devise_generator.rb
48
+ - lib/generators/frame/gitignore/gitignore_generator.rb
49
+ - lib/generators/frame/gitignore/USAGE
50
+ - test/test_frame_secret_generator.rb
51
+ - test/test_helper.rb
52
+ - Rakefile
53
+ - Gemfile.lock
54
+ - Gemfile
26
55
  homepage: https://github.com/ncimino/frame
27
56
  licenses: []
28
57
  post_install_message:
@@ -40,9 +69,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
69
  requirements:
41
70
  - - ! '>='
42
71
  - !ruby/object:Gem::Version
43
- version: '0'
72
+ version: 1.3.4
44
73
  requirements: []
45
- rubyforge_project:
74
+ rubyforge_project: frame
46
75
  rubygems_version: 1.8.24
47
76
  signing_key:
48
77
  specification_version: 3
@@ -1,9 +0,0 @@
1
- module Frame
2
- require 'frame/engine' if defined?(Rails)
3
- end
4
-
5
- class Frame
6
- def self.print
7
- return "initial"
8
- end
9
- end
@@ -1,5 +0,0 @@
1
- require 'rails'
2
- module Frame
3
- class Engine < Rails::Engine
4
- end
5
- end
@@ -1,30 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/named_base'
3
-
4
- module Frame
5
- module Generators
6
- class FrameGenerator < Rails::Generators::NamedBase
7
-
8
- desc "Installs Secret files if they don't already exist."
9
-
10
- # Commandline options can be defined here using Thor-like options:
11
- class_option :my_opt, :type => :boolean, :default => false, :desc => "My Option"
12
-
13
- # I can later access that option using:
14
- puts options[:my_opt]
15
-
16
-
17
- #def self.source_root
18
- # @source_root ||= File.join(File.dirname(__FILE__), 'templates')
19
- #end
20
-
21
- #include Rails::Generators::Migration
22
-
23
-
24
- #def create_secret
25
- # template 'database.yml', 'config/database.yml'
26
- #end
27
-
28
- end
29
- end
30
- end