startups 0.0.2.2 → 0.0.3a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. metadata +52 -59
  2. data/CHANGELOG +0 -32
  3. data/LICENSE +0 -20
  4. data/Manifest +0 -30
  5. data/README +0 -29
  6. data/Rakefile +0 -16
  7. data/TODO +0 -5
  8. data/lib/startups.rb +0 -80
  9. data/rails_generators/startup/USAGE +0 -11
  10. data/rails_generators/startup/startup_generator.rb +0 -23
  11. data/rails_generators/startup_content/USAGE +0 -11
  12. data/rails_generators/startup_content/startup_content_generator.rb +0 -41
  13. data/rails_generators/startup_content/templates/content_controller.rb +0 -7
  14. data/rails_generators/startup_content/templates/content_controller_test.rb +0 -14
  15. data/rails_generators/startup_content/templates/content_helper.rb +0 -3
  16. data/rails_generators/startup_content/templates/example.html.erb +0 -3
  17. data/rails_generators/startup_content/templates/help.html.erb +0 -3
  18. data/rails_generators/startup_content/templates/home.html.erb +0 -4
  19. data/rails_generators/startup_layout/USAGE +0 -11
  20. data/rails_generators/startup_layout/startup_layout_generator.rb +0 -36
  21. data/rails_generators/startup_layout/templates/app/helpers/layout_helper.rb +0 -71
  22. data/rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_footer.html.erb +0 -6
  23. data/rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_header.html.erb +0 -4
  24. data/rails_generators/startup_layout/templates/app/views/layouts/startup_layout.html.erb +0 -40
  25. data/rails_generators/startup_layout/templates/public/stylesheets/startup_layout.css +0 -23
  26. data/rails_generators/startup_layout/templates/public/stylesheets/startup_layout_reset.css +0 -47
  27. data/rails_generators/startup_nav/USAGE +0 -12
  28. data/rails_generators/startup_nav/startup_nav_generator.rb +0 -35
  29. data/rails_generators/startup_nav/templates/_nav.html.erb +0 -7
  30. data/rails_generators/startup_nav/templates/nav.css +0 -36
  31. data/rails_generators/startup_nav/templates/nav_helper.rb +0 -76
  32. data/startups.gemspec +0 -30
metadata CHANGED
@@ -1,94 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: startups
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.2
4
+ hash: 3450187
5
+ prerelease: true
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 3a
10
+ version: 0.0.3a
5
11
  platform: ruby
6
12
  authors:
7
13
  - Ryan Owens
14
+ - John Athayde
8
15
  autorequire:
9
16
  bindir: bin
10
17
  cert_chain: []
11
18
 
12
- date: 2009-10-19 00:00:00 -04:00
19
+ date: 2010-06-09 00:00:00 -04:00
13
20
  default_executable:
14
- dependencies: []
15
-
16
- description: A collection of Rails "startups" for features such as a standard layout, navigation and forms with customizable error handling.
17
- email: ryan (at) infoether (dot) com
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rails
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 11
31
+ segments:
32
+ - 2
33
+ - 3
34
+ - 4
35
+ version: 2.3.4
36
+ type: :runtime
37
+ version_requirements: *id001
38
+ description: Rails generators for basic infoether apps including file setup, base working styles, and more.
39
+ email:
40
+ - ryan@infoether.com
41
+ - john@infoether.com
18
42
  executables: []
19
43
 
20
44
  extensions: []
21
45
 
22
- extra_rdoc_files:
23
- - CHANGELOG
24
- - lib/startups.rb
25
- - LICENSE
26
- - README
27
- - TODO
28
- files:
29
- - CHANGELOG
30
- - lib/startups.rb
31
- - LICENSE
32
- - Manifest
33
- - rails_generators/startup/startup_generator.rb
34
- - rails_generators/startup/USAGE
35
- - rails_generators/startup_content/startup_content_generator.rb
36
- - rails_generators/startup_content/templates/content_controller.rb
37
- - rails_generators/startup_content/templates/content_controller_test.rb
38
- - rails_generators/startup_content/templates/content_helper.rb
39
- - rails_generators/startup_content/templates/example.html.erb
40
- - rails_generators/startup_content/templates/help.html.erb
41
- - rails_generators/startup_content/templates/home.html.erb
42
- - rails_generators/startup_content/USAGE
43
- - rails_generators/startup_layout/startup_layout_generator.rb
44
- - rails_generators/startup_layout/templates/app/helpers/layout_helper.rb
45
- - rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_footer.html.erb
46
- - rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_header.html.erb
47
- - rails_generators/startup_layout/templates/app/views/layouts/startup_layout.html.erb
48
- - rails_generators/startup_layout/templates/public/stylesheets/startup_layout.css
49
- - rails_generators/startup_layout/templates/public/stylesheets/startup_layout_reset.css
50
- - rails_generators/startup_layout/USAGE
51
- - rails_generators/startup_nav/startup_nav_generator.rb
52
- - rails_generators/startup_nav/templates/_nav.html.erb
53
- - rails_generators/startup_nav/templates/nav.css
54
- - rails_generators/startup_nav/templates/nav_helper.rb
55
- - rails_generators/startup_nav/USAGE
56
- - Rakefile
57
- - README
58
- - TODO
59
- - startups.gemspec
46
+ extra_rdoc_files: []
47
+
48
+ files: []
49
+
60
50
  has_rdoc: true
61
- homepage: http://rubyforge.org/projects/startups
51
+ homepage: http://www.infoether.com
62
52
  licenses: []
63
53
 
64
54
  post_install_message:
65
- rdoc_options:
66
- - --line-numbers
67
- - --inline-source
68
- - --title
69
- - Startups
70
- - --main
71
- - README
55
+ rdoc_options: []
56
+
72
57
  require_paths:
73
58
  - lib
74
59
  required_ruby_version: !ruby/object:Gem::Requirement
60
+ none: false
75
61
  requirements:
76
62
  - - ">="
77
63
  - !ruby/object:Gem::Version
64
+ hash: 3
65
+ segments:
66
+ - 0
78
67
  version: "0"
79
- version:
80
68
  required_rubygems_version: !ruby/object:Gem::Requirement
69
+ none: false
81
70
  requirements:
82
- - - ">="
71
+ - - ">"
83
72
  - !ruby/object:Gem::Version
84
- version: "1.2"
85
- version:
73
+ hash: 25
74
+ segments:
75
+ - 1
76
+ - 3
77
+ - 1
78
+ version: 1.3.1
86
79
  requirements: []
87
80
 
88
- rubyforge_project: startups
89
- rubygems_version: 1.3.5
81
+ rubyforge_project:
82
+ rubygems_version: 1.3.7
90
83
  signing_key:
91
84
  specification_version: 3
92
- summary: A collection of Rails "startups" for features such as a standard layout, navigation and forms with customizable error handling.
85
+ summary: Rails Generators from InfoEther
93
86
  test_files: []
94
87
 
data/CHANGELOG DELETED
@@ -1,32 +0,0 @@
1
- 0.0.0 (Aug 13th, 2009)
2
-
3
- * just getting started. Added the nav startup.
4
-
5
- 0.0.1 (Oct 16th, 2009)
6
-
7
- * Added the content and layout startups.
8
- * Tweaked all the startups to play nice.
9
- * Added better wireframe styles
10
- * Added examples.
11
- * Generating all 3 startups will get you a working example with 3 pages.
12
-
13
- 0.0.2 (Oct 16th, 2009)
14
-
15
- * Added better wireframe styles
16
- * changed the examples so that not all nav items appear in the footer and header
17
- * added a 'startup' generator that runs them all at once.
18
- * added support to the generator commands for removing a file and running a separate generator.
19
- * fixed the destroy for custom route generator command to properly remove generated routes.
20
- * Tweaked all the startups to play nice.
21
- * Added examples.
22
- * Running a single generator (startup) now generates all 3 startups and gets you a working example with 3 pages.
23
-
24
- 0.0.2.1 (Oct 19th, 2009)
25
-
26
- * Cleaned up and streamlined some things.
27
-
28
- 0.0.2.2 (Oct 19th, 2009)
29
-
30
- * Bugfix
31
-
32
-
data/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2009 Ryan Owens
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest DELETED
@@ -1,30 +0,0 @@
1
- CHANGELOG
2
- lib/startups.rb
3
- LICENSE
4
- Manifest
5
- rails_generators/startup/startup_generator.rb
6
- rails_generators/startup/USAGE
7
- rails_generators/startup_content/startup_content_generator.rb
8
- rails_generators/startup_content/templates/content_controller.rb
9
- rails_generators/startup_content/templates/content_controller_test.rb
10
- rails_generators/startup_content/templates/content_helper.rb
11
- rails_generators/startup_content/templates/example.html.erb
12
- rails_generators/startup_content/templates/help.html.erb
13
- rails_generators/startup_content/templates/home.html.erb
14
- rails_generators/startup_content/USAGE
15
- rails_generators/startup_layout/startup_layout_generator.rb
16
- rails_generators/startup_layout/templates/app/helpers/layout_helper.rb
17
- rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_footer.html.erb
18
- rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_header.html.erb
19
- rails_generators/startup_layout/templates/app/views/layouts/startup_layout.html.erb
20
- rails_generators/startup_layout/templates/public/stylesheets/startup_layout.css
21
- rails_generators/startup_layout/templates/public/stylesheets/startup_layout_reset.css
22
- rails_generators/startup_layout/USAGE
23
- rails_generators/startup_nav/startup_nav_generator.rb
24
- rails_generators/startup_nav/templates/_nav.html.erb
25
- rails_generators/startup_nav/templates/nav.css
26
- rails_generators/startup_nav/templates/nav_helper.rb
27
- rails_generators/startup_nav/USAGE
28
- Rakefile
29
- README
30
- TODO
data/README DELETED
@@ -1,29 +0,0 @@
1
- = search_scope
2
-
3
- Rails gem with collection of Rails "startups" for features such as navigation and forms with customizable error handling.
4
-
5
- == Install
6
-
7
- gem install startups
8
-
9
- == Usage
10
-
11
- After installing the gem, you can use the startup generators in your Rails app.
12
-
13
- From your rails app's root directory, type:
14
- script/generate startup_nav
15
-
16
- #TODO script/destroy should also work?
17
-
18
- == Included Generators
19
-
20
- * startup_nav: generates the files needed for a simple, easily styled navigation.
21
- * startup_content: generated a content controller for home and other non-rest pages. A basic layout and stylesheet is also provided.
22
-
23
- * COMING SOON: startup_form: generates the files needed for generic forms with customizable error handling.
24
- ** updating this to use formatastic
25
-
26
- For more information, run:
27
- script/generate startup_nav --help
28
-
29
-
data/Rakefile DELETED
@@ -1,16 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'echoe'
4
-
5
- Echoe.new('startups', '0.0.2.2') do |p|
6
- p.project = "startups"
7
- p.description = "A collection of Rails \"startups\" for features such as a standard layout, navigation and forms with customizable error handling."
8
- p.url = "http://rubyforge.org/projects/startups"
9
- p.author = 'Ryan Owens'
10
- p.email = "ryan (at) infoether (dot) com"
11
- p.ignore_pattern = ["tmp/*", "script/*", "startups_notes.txt", "*.tmproj"]
12
- p.development_dependencies = []
13
- end
14
-
15
- Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
16
-
data/TODO DELETED
@@ -1,5 +0,0 @@
1
-
2
- #TODO make script/destroy work
3
-
4
- #TODO add form generator
5
-
data/lib/startups.rb DELETED
@@ -1,80 +0,0 @@
1
- module Startups
2
- # look under rails_generators for the meat
3
- end
4
-
5
- #TODO put this somewhere else, or figure out a better way to do it so I don't have to copy it for other generators.
6
- #modified from: http://patshaughnessy.net/2009/9/2/rails-generator-tutorial-part-2-writing-a-custom-manifest-action
7
- module Rails
8
- module Generator
9
- module Commands
10
-
11
- class Base
12
- def route_code(route_options)
13
- if route_options.is_a? Hash
14
- "map.#{route_options[:name]} '#{route_options[:name]}', :controller => '#{route_options[:controller]}', :action => '#{route_options[:action]}'"
15
- else
16
- route_options.to_s.gsub("\n ","\n").strip
17
- end
18
- end
19
- def route_code_log_message(route_options)
20
- code = route_code(route_options)
21
- if code.index "\n"
22
- code = code[0,code.index("\n")]
23
- code = "#{code} ... end" if code.index ' do '
24
- end
25
- code
26
- end
27
- end
28
-
29
- # Here's a readable version of the long string used above in route_code;
30
- # but it should be kept on one line to avoid inserting extra whitespace
31
- # into routes.rb when the generator is run:
32
- # "map.#{route_options[:name]} '#{route_options[:name]}',
33
- # :controller => '#{route_options[:controller]}',
34
- # :action => '#{route_options[:action]}'"
35
-
36
- class Create
37
- def route(route_options)
38
- sentinel = 'ActionController::Routing::Routes.draw do |map|'
39
- logger.route route_code_log_message(route_options)
40
- #TODO add something here to prevent duplicating the route. Like file_contains? or something.
41
- gsub_file 'config/routes.rb', /(#{Regexp.escape(sentinel)})/mi do |m|
42
- "#{m}\n #{route_code(route_options)}\n"
43
- end
44
- end
45
-
46
- def generate(name)
47
- logger.generate "running additional generator: #{name}"
48
- Rails::Generator::Scripts::Generate.new.run([name])
49
- end
50
-
51
- def rm(relative_destination)
52
- destination = destination_path('public/index.html')
53
- if File.exist?(destination)
54
- logger.rm relative_destination
55
- FileUtils.rm(destination)
56
- end
57
- end
58
- end
59
-
60
- class Destroy
61
- def route(route_options)
62
- logger.remove_route route_code_log_message(route_options)
63
- # to_remove = "\n #{route_code(route_options)}"
64
- to_remove = "\n #{route_code(route_options)}\n"
65
- gsub_file 'config/routes.rb', to_remove, ''
66
- end
67
-
68
- def generate(name)
69
- logger.destroy "rewinding additional generator: #{name}"
70
- Rails::Generator::Scripts::Destroy.new.run([name])
71
- end
72
-
73
- def rm(relative_destination)
74
- logger.gone "can't replace rm'd file: #{relative_destination}"
75
- end
76
- end
77
-
78
- end
79
- end
80
- end
@@ -1,11 +0,0 @@
1
- Description:
2
- The startup generator runs all of the startup generators, creating a ready-to-go wireframe layout with navigation and example files.
3
-
4
- Examples:
5
- script/generate startup
6
-
7
-
8
- #TODO UPDATE THIS OUTPUT
9
- Template: app/views/layouts/application.html.erb
10
- Stylesheet: public/stylesheets/startup.css
11
- Helper: app/helpers/startup_helper.rb
@@ -1,23 +0,0 @@
1
- require 'startups'
2
-
3
- class StartupGenerator < Rails::Generator::Base
4
-
5
- def manifest
6
- record do |m|
7
- m.generate('startup_content')
8
- m.generate('startup_layout')
9
- m.generate('startup_nav')
10
- end
11
- end
12
-
13
- protected
14
-
15
- def banner
16
- <<-EOS
17
- Runs all of the startup generators, creating a ready-to-go wireframe layout with navigation and example files.
18
-
19
- USAGE: #{$0} #{spec.name}
20
- EOS
21
- end
22
-
23
- end
@@ -1,11 +0,0 @@
1
- Description:
2
- The startup_content generator creates a content controller for home and other non-rest pages.
3
-
4
- Examples:
5
- script/generate startup_content
6
-
7
-
8
- #TODO UPDATE THIS OUTPUT
9
- Template: app/views/layouts/application.html.erb
10
- Stylesheet: public/stylesheets/startup.css
11
- Helper: app/helpers/startup_helper.rb
@@ -1,41 +0,0 @@
1
- require 'startups'
2
-
3
- class StartupContentGenerator < Rails::Generator::Base
4
-
5
- def manifest
6
- record do |m|
7
- m.directory 'app/helpers'
8
- m.directory 'app/controllers'
9
- m.directory 'app/views/content'
10
- m.directory 'test/functional'
11
-
12
- m.file "content_controller.rb", "app/controllers/content_controller.rb"
13
- m.file "home.html.erb", "app/views/content/home.html.erb"
14
- m.file "help.html.erb", "app/views/content/help.html.erb"
15
- m.file "example.html.erb", "app/views/content/example.html.erb"
16
- m.file "content_helper.rb", "app/helpers/content_helper.rb"
17
- m.file "content_controller_test.rb", "test/functional/content_controller_test.rb"
18
-
19
- m.route %{
20
- map.with_options(:controller => "content") do |content_map|
21
- content_map.help 'help', :action => 'help'
22
- content_map.placeholder 'placeholder/:name', :action => 'placeholder'
23
- end }
24
- m.route 'map.root :controller => "content", :action => "home"'
25
-
26
- # example
27
- # m.route :name => 'version', :controller => 'version', :action => 'display_version'
28
- end
29
- end
30
-
31
- protected
32
-
33
- def banner
34
- <<-EOS
35
- Creates content controller for home and other non-rest pages.
36
-
37
- USAGE: #{$0} #{spec.name}
38
- EOS
39
- end
40
-
41
- end
@@ -1,7 +0,0 @@
1
- class ContentController < ApplicationController
2
-
3
- def placeholder
4
- render :action => params[:name]
5
- end
6
-
7
- end
@@ -1,14 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ContentControllerTest < ActionController::TestCase
4
-
5
- # def setup
6
- # setup_test_data
7
- # login_user
8
- # end
9
-
10
- # Replace this with your real tests.
11
- test "the truth" do
12
- assert true
13
- end
14
- end
@@ -1,3 +0,0 @@
1
- module ContentHelper
2
-
3
- end
@@ -1,3 +0,0 @@
1
- <% layout_options :nav => :example, :heading => "Example Page Heading", :title => "Example Page Window Title", :crumbs => [link_to('Home',root_url),'example crumb'] %>
2
-
3
- Blah Blah Blah
@@ -1,3 +0,0 @@
1
- <% layout_options :nav => :help, :heading => "Help" %>
2
-
3
- Blah Blah Blah
@@ -1,4 +0,0 @@
1
- <% layout_options :nav => :home, :heading => "Home Page" %>
2
-
3
- Blah Blah Blah
4
-
@@ -1,11 +0,0 @@
1
- Description:
2
- The startup_layout generator creates a basic layout with the necessary helpers, stylesheet etc.
3
- For now, the startup_nav startup is a prerequisite.
4
-
5
- Examples:
6
- script/generate startup_layout
7
-
8
- #TODO UPDATE THIS OUTPUT
9
- Template: app/views/layouts/application.html.erb
10
- Stylesheet: public/stylesheets/startup.css
11
- Helper: app/helpers/startup_helper.rb
@@ -1,36 +0,0 @@
1
- require 'startups'
2
-
3
- class StartupLayoutGenerator < Rails::Generator::Base
4
-
5
- def manifest
6
- record do |m|
7
- m.directory 'public/stylesheets'
8
- m.directory 'app/helpers'
9
- m.directory 'app/views/layouts'
10
-
11
- m.file "app/helpers/layout_helper.rb", "app/helpers/layout_helper.rb"
12
-
13
- #TODO add checks here for other startups so the layout can include eg. the nav stuff, etc.
14
- #TODO possibly add shway versions of things as well.
15
- m.template "app/views/layouts/startup_layout.html.erb", "app/views/layouts/application.html.erb"#, :assigns => { :foo => 'foo' }
16
- m.file "app/views/layouts/_startup_layout_footer.html.erb", "app/views/layouts/_footer.html.erb"
17
- m.file "app/views/layouts/_startup_layout_header.html.erb", "app/views/layouts/_header.html.erb"
18
-
19
- m.file "public/stylesheets/startup_layout_reset.css", "public/stylesheets/reset.css"
20
- m.file "public/stylesheets/startup_layout.css", "public/stylesheets/application.css"
21
-
22
- m.rm 'public/index.html'
23
- end
24
- end
25
-
26
- protected
27
-
28
- def banner
29
- <<-EOS
30
- Creates a basic layout with the necessary helpers, stylesheet etc.
31
-
32
- USAGE: #{$0} #{spec.name}
33
- EOS
34
- end
35
-
36
- end
@@ -1,71 +0,0 @@
1
- module LayoutHelper
2
-
3
- attr_accessor :title, :heading, :heading_image, :body_class, :crumbs
4
-
5
- #for any options that match setter methods, set them. Raise errors for the rest.
6
- def layout_options(options={})
7
- return if options.blank?
8
- options = options.clone
9
- options.keys.each do |key|
10
- #if there is a layout_ version of the setter, call it
11
- layout_setter = "layout_#{key}=".intern
12
- if self.respond_to? layout_setter
13
- self.send layout_setter, options.delete(key)
14
- next
15
- end
16
- setter = "#{key}=".intern
17
- #if there is a setter, call it
18
- if self.respond_to? setter
19
- self.send setter, options.delete(key)
20
- next
21
- end
22
- #if there is a no setter, but there is a method, call it with *args
23
- #TODO write some tests for varying method signatures
24
- if self.respond_to?(key) && (method(key).arity == 1 || method(key).arity <= -2)
25
- self.send key, *options.delete(key)
26
- next
27
- end
28
- #if there was no setter and no method available, raise
29
- raise "No setter or method was found for the layout_option: #{key}"
30
- end
31
- nil
32
- end
33
-
34
- def layout_title
35
- #NOTE: @selected_nav_title may get set by the nav startup if it's installed. Using the instance var makes it easier to mix and match the startups.
36
- @title || @selected_nav_title || @heading || 'Default Title (CHANGEME)'
37
- end
38
-
39
- def layout_heading(text=@heading,options={})
40
- options[:img] = @heading_image unless options.has_key? :img
41
- if options[:img].blank?
42
- text.blank? ? nil : %{<h1>#{text}</h1>}
43
- #TODO make sifrd an option
44
- # text.blank? ? nil : %{<h1 class="sifrd">#{text}</h1>}
45
- else
46
- %{<h1>#{image_tag(options[:img], :alt => text)}</h1>} unless text.blank?
47
- end
48
- end
49
-
50
- def layout_crumbs
51
- return if @crumbs.blank?
52
- html = []
53
- html << '<div class="crumbs">'
54
- @crumbs.each do |crumb|
55
- html << crumb
56
- html << '<span>&raquo;</span>'
57
- end
58
- html << '</div>'
59
- html.join
60
- end
61
-
62
- def layout_body_tag
63
- class_att = body_class ? %{ class="#{body_class}"} : nil
64
- if @layout_nav
65
- %{<body id="#{@layout_nav}"#{class_att}>}
66
- else
67
- '<body>'
68
- end
69
- end
70
-
71
- end
@@ -1,6 +0,0 @@
1
- <div id="footer">
2
- <div id="footer_content">
3
- <%# NOTE: the const_defined? check is here to allow this to function if the nav startup wasn't installed, and should be removed after the initial setup. %>
4
- <%= render :partial => 'layouts/footer_nav' if Object.const_defined? :NavHelper %>
5
- </div>
6
- </div>
@@ -1,4 +0,0 @@
1
- <div id="masthead">
2
- <%# NOTE: the const_defined? check is here to allow this to function if the nav startup wasn't installed, and should be removed after the initial setup. %>
3
- <%= render :partial => 'layouts/top_nav' if Object.const_defined? :NavHelper %>
4
- </div>
@@ -1,40 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
- <head>
4
- <title><%%= layout_title %></title>
5
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
6
- <meta http-equiv="cache-control" content="no-cache"> <!-- tells browser not to cache -->
7
- <meta http-equiv="expires" content="0"> <!-- says that the cache expires 'now' -->
8
- <meta http-equiv="pragma" content="no-cache"> <!-- says not to use cached stuff, if there is any -->
9
- <%%= javascript_include_tag :defaults %>
10
- <%%= stylesheet_link_tag 'reset' %>
11
- <%%# NOTE: the const_defined? check is here to allow this to function if the nav startup wasn't installed, and should be removed after the initial setup. %>
12
- <%%= stylesheet_link_tag 'nav' if Object.const_defined? :NavHelper %>
13
- <%%= stylesheet_link_tag 'application' %>
14
- </head>
15
-
16
- <%%= layout_body_tag %>
17
- <div id="all">
18
- <%%= render :partial => 'layouts/header' unless @omit_header %>
19
- <div id="content">
20
- <%%= layout_crumbs %>
21
- <%%= layout_heading %>
22
- <%% if flash[:notice] %>
23
- <div class="notice confirm">
24
- <%%= flash[:notice] %>
25
- </div>
26
- <%% end %>
27
- <%% if flash[:error ] %>
28
- <div class='notice error'>
29
- <%%= flash[:error ]%>
30
- </div>
31
- <%% end %>
32
- <%%#= fancy_heading unless @heading.blank? && @right_heading.blank? %>
33
- <%%= yield %>
34
- </div>
35
- <%%= render :partial => 'layouts/footer' %>
36
- </div>
37
-
38
- </body>
39
-
40
- </html>
@@ -1,23 +0,0 @@
1
- html,body {background-color:white;font-family:Helvetica, Verdana, Arial, sans-serif;font-size:12px;height:100%;line-height:18px;margin:0px;padding:0px;}
2
-
3
- h1 {font-size: 18px; margin: 10px 0;}
4
- h2 {font-size: 14px; font-weight: bold;}
5
- h3 {font-size: 12px; font-weight: bold;}
6
-
7
- a {color:#5d5e5e;text-decoration: none;}
8
- a:hover, a:active {color:#5d5e5e; text-decoration: underline;}
9
-
10
- #all {background-color:white;color:#5d5e5e;min-height:100%;position:relative;}
11
-
12
- .crumbs {font-size:10px;font-weight:normal;font-style:italic;text-transform:none;height:10px;padding:0;margin:0;}
13
- .crumbs a {padding:0;margin:0;}
14
- .crumbs span {font-size:12px;margin-left:5px;margin-right:5px;}
15
-
16
- #content {overflow:auto;padding:10px 20px 0px 55px;padding-bottom:30px;width:950px;} /* bottom padding needs to match footer height */
17
-
18
- #masthead {color:#a0a1a2;height:40px;padding-top:15px;width:100%;border-bottom:1px solid #e0e1e2;}
19
- #masthead a:active, #masthead a:hover {color:#5d5e5e;text-decoration:underline;}
20
- #masthead a:link, #masthead a:visited {color:#a0a1a2;text-decoration:none;}
21
-
22
- #footer {bottom:0px;color:#a0a1a2;height:30px;position:absolute;width:100%;border-top:1px solid #e0e1e2;font-size:10px;}
23
- #footer_content {padding:5px 20px;padding-bottom:0px;width:950px;overflow:auto;}
@@ -1,47 +0,0 @@
1
- /* reset reload by Eric Meyer: http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
2
- html, body, div, span, applet, object, iframe,
3
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
4
- a, abbr, acronym, address, big, cite, code,
5
- del, dfn, em, font, img, ins, kbd, q, s, samp,
6
- small, strike, strong, sub, sup, tt, var,
7
- dl, dt, dd, ol, ul, li,
8
- fieldset, form, label, legend,
9
- table, caption, tbody, tfoot, thead, tr, th, td {
10
- margin: 0;
11
- padding: 0;
12
- border: 0;
13
- outline: 0;
14
- font-weight: inherit;
15
- font-style: inherit;
16
- font-size: 100%;
17
- font-family: inherit;
18
- vertical-align: baseline;
19
- }
20
- /* remember to define focus styles! */
21
- :focus {
22
- outline: 0;
23
- }
24
- body {
25
- line-height: 1;
26
- color: black;
27
- background: white;
28
- }
29
- ol, ul {
30
- list-style: none;
31
- }
32
- /* tables still need 'cellspacing="0"' in the markup */
33
- table {
34
- border-collapse: separate;
35
- border-spacing: 0;
36
- }
37
- caption, th, td {
38
- text-align: left;
39
- font-weight: normal;
40
- }
41
- blockquote:before, blockquote:after,
42
- q:before, q:after {
43
- content: "";
44
- }
45
- blockquote, q {
46
- quotes: "" "";
47
- }
@@ -1,12 +0,0 @@
1
- Description:
2
- The startup_nav generator creates generic navigation with a customizable helper and stylesheet.
3
-
4
- With no arguments, a top_nav partial and helper_method will be generated.
5
- All arguments given to the generator will add additional nav partial and helper method.
6
-
7
- Examples:
8
- script/generate startup_nav
9
-
10
- Template: app/views/layouts/_top_nav.html.erb
11
- Stylesheet: public/stylesheets/nav.css
12
- Helper: app/helpers/nav_helper.rb
@@ -1,35 +0,0 @@
1
- require 'startups'
2
-
3
- class StartupNavGenerator < Rails::Generator::Base
4
-
5
- def manifest
6
- record do |m|
7
- m.directory 'app/views/layouts'
8
- m.directory 'public/stylesheets'
9
- m.directory 'app/helpers'
10
-
11
- #add top and footer by default
12
- unless @args.include? "top"
13
- @args << "top"
14
- @args << "footer"
15
- end
16
-
17
- m.template "nav.css", "public/stylesheets/nav.css", :assigns => { :names => @args }
18
- m.template "nav_helper.rb", "app/helpers/nav_helper.rb", :assigns => { :names => @args }
19
- @args.each do |name|
20
- m.template "_nav.html.erb", "app/views/layouts/_#{name}_nav.html.erb", :assigns => { :name => name }
21
- end
22
- end
23
- end
24
-
25
- protected
26
-
27
- def banner
28
- <<-EOS
29
- Creates generic navigation with a customizable helper and stylesheet.
30
-
31
- USAGE: #{$0} #{spec.name}
32
- EOS
33
- end
34
-
35
- end
@@ -1,7 +0,0 @@
1
- <div id="<%= (name.to_s == 'top') ? 'nav' : "#{name}_nav" %>">
2
- <ul>
3
- <%% layout_nav_items(:<%= name %>).each do |nav_item| %>
4
- <li><%%= link_to_nav_item(nav_item) %></li>
5
- <%% end %>
6
- </ul>
7
- </div>
@@ -1,36 +0,0 @@
1
- <% names.each do |name|
2
- css_id = (name.to_s == 'top') ? 'nav' : "#{name}_nav"
3
- selected_color = (name.to_s == 'footer') ? '#5d5e5e' : 'black'
4
- %>
5
-
6
- /************
7
- <%= css_id.upcase %> STYLES
8
- ************/
9
- <% if name.to_s == 'footer' %>
10
- #footer_nav {float:right;}
11
- #footer_nav ul {list-style-type:none;}
12
- #footer_nav li {float:left;margin-right:20px;}
13
- #footer_nav a {display:block;position:relative;text-decoration:none;text-transform:uppercase;}
14
- #footer_nav a:visited {color:#a0a1a2;text-decoration:none;}
15
- #footer_nav a:link {color:#a0a1a2;text-decoration:none;}
16
- #footer_nav a:hover {color:#5d5e5e;text-decoration:underline;}
17
- #footer_nav a:active {color:#5d5e5e;text-decoration:underline;}
18
- <% else %>
19
- #<%= css_id %> {margin-left:22px;}
20
- #<%= css_id %> ul {list-style-type:none;overflow:auto;}
21
- #<%= css_id %> li {float:left;}
22
- #<%= css_id %> a {display:block;height:20px;padding:5px 10px;position:relative;text-decoration:none;text-transform:uppercase;}
23
- #<%= css_id %> a:visited {color:#a0a1a2;text-decoration:none;}
24
- #<%= css_id %> a:link {color:#a0a1a2;text-decoration:none;}
25
- #<%= css_id %> a:hover {color:#5d5e5e;text-decoration:none;}
26
- #<%= css_id %> a:active {color:#5d5e5e;text-decoration:none;}
27
- <% end %>
28
-
29
- /* any additional menu items need to be added here for them to be styled correctly when selected. */
30
- body#home a#<%= css_id %>_home,
31
- body#example a#<%= css_id %>_example,
32
- body#help a#<%= css_id %>_help {
33
- color:<%= selected_color %>;font-weight:bold;
34
- }
35
-
36
- <% end %>
@@ -1,76 +0,0 @@
1
- module NavHelper
2
-
3
- #change the hash below to include the actual items you need in your navs. Use the :placement option to specify which nav an item goes in if there are multiple navs.
4
- def configure_nav_items
5
- [
6
- <%- names.each do |name| -%>
7
- #nav items for :<%= name %>
8
- <%- unless name.to_s == 'footer' %>
9
- {:id => :home, :label => 'Home', :url => root_path, :placement => :<%= name %>, :title => 'Home Page'},
10
- {:id => :example, :label => 'Example', :url => placeholder_path(:example), :placement => :<%= name %>, :title => 'Placeholder Example Page'},
11
- <%- end -%>
12
- {:id => :help, :label => 'Help', :url => help_path, :placement => :<%= name %>},
13
- <%- end -%>
14
- ]
15
- end
16
-
17
- def layout_nav_items(placement=nil)
18
- init_layout_nav_items
19
- if placement.nil?
20
- @layout_nav_items
21
- else
22
- layout_nav_items_by_placement(placement)
23
- end
24
- end
25
-
26
- def init_layout_nav_items
27
- unless @layout_nav_items
28
- @layout_nav_items = configure_nav_items
29
- @layout_nav_items.each do |nav_item|
30
- nav_item[:label] ||= nav_item[:id].to_s.titleize
31
- end
32
- end
33
- end
34
-
35
- def layout_nav_items_by_placement(placement)
36
- @layout_nav_items_by_placement ||= {}
37
- unless @layout_nav_items_by_placement[placement]
38
- @layout_nav_items_by_placement[placement] = []
39
- @layout_nav_items.each do |nav_item|
40
- @layout_nav_items_by_placement[placement] << nav_item if nav_item[:placement] == placement
41
- end
42
- end
43
- @layout_nav_items_by_placement[placement]
44
- end
45
-
46
- attr_accessor :layout_nav
47
-
48
- def layout_nav=(value)
49
- @layout_nav = value
50
- @selected_nav_title = (selected_nav_item ? selected_nav_item[:title] : nil)
51
- end
52
-
53
- def layout_nav_ids
54
- @layout_nav_ids ||= layout_nav_items.collect{|nav_item|nav_item[:id]}
55
- end
56
-
57
- def selected_nav_item
58
- @selected_nav_item ||= layout_nav_item(layout_nav)
59
- end
60
-
61
- def layout_nav_item(nav_id)
62
- nav_id = nav_id.intern if nav_id.respond_to? :intern
63
- layout_nav_items.each do |nav_item|
64
- return nav_item if nav_item[:id] == nav_id
65
- end
66
- nil
67
- end
68
-
69
- def link_to_nav_item(nav_item)
70
- items = layout_nav_items(nav_item[:placement])
71
- css_id = "#{nav_item[:placement]}_#{nav_item[:id]}"
72
- css_class = (items.index(nav_item) == items.size-1) ? :last : nil
73
- link_to(nav_item[:label], nav_item[:url], :id => css_id, :class => css_class )
74
- end
75
-
76
- end
data/startups.gemspec DELETED
@@ -1,30 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{startups}
5
- s.version = "0.0.2.2"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Ryan Owens"]
9
- s.date = %q{2009-10-19}
10
- s.description = %q{A collection of Rails "startups" for features such as a standard layout, navigation and forms with customizable error handling.}
11
- s.email = %q{ryan (at) infoether (dot) com}
12
- s.extra_rdoc_files = ["CHANGELOG", "lib/startups.rb", "LICENSE", "README", "TODO"]
13
- s.files = ["CHANGELOG", "lib/startups.rb", "LICENSE", "Manifest", "rails_generators/startup/startup_generator.rb", "rails_generators/startup/USAGE", "rails_generators/startup_content/startup_content_generator.rb", "rails_generators/startup_content/templates/content_controller.rb", "rails_generators/startup_content/templates/content_controller_test.rb", "rails_generators/startup_content/templates/content_helper.rb", "rails_generators/startup_content/templates/example.html.erb", "rails_generators/startup_content/templates/help.html.erb", "rails_generators/startup_content/templates/home.html.erb", "rails_generators/startup_content/USAGE", "rails_generators/startup_layout/startup_layout_generator.rb", "rails_generators/startup_layout/templates/app/helpers/layout_helper.rb", "rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_footer.html.erb", "rails_generators/startup_layout/templates/app/views/layouts/_startup_layout_header.html.erb", "rails_generators/startup_layout/templates/app/views/layouts/startup_layout.html.erb", "rails_generators/startup_layout/templates/public/stylesheets/startup_layout.css", "rails_generators/startup_layout/templates/public/stylesheets/startup_layout_reset.css", "rails_generators/startup_layout/USAGE", "rails_generators/startup_nav/startup_nav_generator.rb", "rails_generators/startup_nav/templates/_nav.html.erb", "rails_generators/startup_nav/templates/nav.css", "rails_generators/startup_nav/templates/nav_helper.rb", "rails_generators/startup_nav/USAGE", "Rakefile", "README", "TODO", "startups.gemspec"]
14
- s.homepage = %q{http://rubyforge.org/projects/startups}
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Startups", "--main", "README"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{startups}
18
- s.rubygems_version = %q{1.3.5}
19
- s.summary = %q{A collection of Rails "startups" for features such as a standard layout, navigation and forms with customizable error handling.}
20
-
21
- if s.respond_to? :specification_version then
22
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
- s.specification_version = 3
24
-
25
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
- else
27
- end
28
- else
29
- end
30
- end