--- !ruby/object:RI::ClassDescription 
attributes: 
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "<b>MANDATORY</b>: The author(s) of the package. (can be array)"
  - !ruby/struct:SM::Flow::P 
    body: "Use the #developer method to fill in both author and email cleanly."
  name: author
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: A description of the release's latest changes. Auto-populates."
  name: changes
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: A description of the project. Auto-populates."
  name: description
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: What sections from the readme to use for auto-description. Defaults to %w(description)."
  name: description_sections
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "<b>MANDATORY</b>: The author's email address(es). (can be array)"
  - !ruby/struct:SM::Flow::P 
    body: "Use the #developer method to fill in both author and email cleanly."
  name: email
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: An array of rubygem dependencies."
  - !ruby/struct:SM::Flow::VERB 
    body: "  extra_deps &lt;&lt; ['blah', '~&gt; 1.0']\n"
  name: extra_deps
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: An array of rubygem developer dependencies."
  name: extra_dev_deps
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: Extra files you want to add to RDoc."
  - !ruby/struct:SM::Flow::P 
    body: .txt files are automatically included (excluding the obvious).
  name: extra_rdoc_files
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: The filename for the project history. [default: History.txt]"
  name: history_file
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "<b>MANDATORY</b>: The name of the release."
  - !ruby/struct:SM::Flow::P 
    body: Set via Hoe.spec.
  name: name
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: A post-install message to be displayed when gem is installed."
  name: post_install_message
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: The filename for the project readme. [default: README.txt]"
  name: readme_file
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: The name of the rubyforge project. [default: name.downcase]"
  name: rubyforge_name
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: A hash of extra values to set in the gemspec. Value may be a proc."
  - !ruby/struct:SM::Flow::VERB 
    body: "  spec_extras[:required_rubygems_version] = '&gt;= 1.3.2'\n"
  - !ruby/struct:SM::Flow::P 
    body: "(tho, see #pluggable! if that's all you want to do)"
  name: spec_extras
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: A short summary of the project. Auto-populates."
  name: summary
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: Number of sentences from description for summary. Defaults to 1."
  name: summary_sentences
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: An array of test file patterns [default: test/**/test_*.rb]"
  name: test_globs
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "Optional: The url(s) of the project. (can be array). Auto-populates."
  name: url
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "<b>MANDATORY</b>: The version. Don't hardcode! use a constant in the project."
  name: version
  rw: RW
class_methods: 
- !ruby/object:RI::MethodSummary 
  name: add_include_dirs
- !ruby/object:RI::MethodSummary 
  name: load_plugins
- !ruby/object:RI::MethodSummary 
  name: plugin
- !ruby/object:RI::MethodSummary 
  name: plugins
- !ruby/object:RI::MethodSummary 
  name: spec
comment: 
- !ruby/struct:SM::Flow::P 
  body: Hoe is a simple rake/rubygems helper for project Rakefiles. It helps generate rubygems and includes a dynamic plug-in system allowing for easy extensibility. Hoe ships with plug-ins for all your usual project tasks including rdoc generation, testing, packaging, and deployment.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Using Hoe
- !ruby/struct:SM::Flow::H 
  level: 3
  text: Basics
- !ruby/struct:SM::Flow::P 
  body: "Sow generates a new project from scratch. Sow uses a simple ERB templating system allowing you to capture patterns common to your projects. Run `sow` and then see ~/.hoe_template for more info:"
- !ruby/struct:SM::Flow::VERB 
  body: "  % sow project_name\n  ...\n  % cd project_name\n"
- !ruby/struct:SM::Flow::P 
  body: and have at it.
- !ruby/struct:SM::Flow::H 
  level: 3
  text: "Extra Configuration Options:"
- !ruby/struct:SM::Flow::P 
  body: "Hoe maintains a config file for cross-project values. The file is located at <tt>~/.hoerc</tt>. The file is a YAML formatted config file with the following settings (extended by plugins):"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "exclude:"
    body: A regular expression of files to exclude from <tt>check_manifest</tt>.
  type: :NOTE
- !ruby/struct:SM::Flow::P 
  body: Run <tt>`rake config_hoe`</tt> and see ~/.hoerc for examples.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Extending Hoe
- !ruby/struct:SM::Flow::P 
  body: Hoe can be extended via its plugin system. Hoe searches out all installed files matching <tt>'hoe/*.rb'</tt> and loads them. Those files are expected to define a module matching the file name. The module must define a define task method and can optionally define an initialize method. Both methods must be named to match the file. eg
- !ruby/struct:SM::Flow::VERB 
  body: "  module Hoe::Blah\n    def initialize_blah # optional\n      # ...\n    end\n\n    def define_blah_tasks\n      # ...\n    end\n  end\n"
constants: 
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: duh
  name: VERSION
  value: "'2.3.3'"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Used to add extra flags to RUBY_FLAGS.
  name: RUBY_DEBUG
  value: ENV['RUBY_DEBUG']
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Used to specify flags to ruby [has smart default].
  name: RUBY_FLAGS
  value: ENV['RUBY_FLAGS'] || default_ruby_flags
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Default configuration values for .hoerc. Plugins should populate this on load.
  name: DEFAULT_CONFIG
  value: "{     \"exclude\" => /tmp$|CVS|\\.svn|\\.log$/,   }"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: True if you're a masochistic developer. Used for building commands.
  name: WINDOZE
  value: /mswin|mingw/ =~ RUBY_PLATFORM unless defined? WINDOZE
full_name: Hoe
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: activate_plugins
- !ruby/object:RI::MethodSummary 
  name: add_dependencies
- !ruby/object:RI::MethodSummary 
  name: define_spec
- !ruby/object:RI::MethodSummary 
  name: developer
- !ruby/object:RI::MethodSummary 
  name: intuit_values
- !ruby/object:RI::MethodSummary 
  name: load_plugin_tasks
- !ruby/object:RI::MethodSummary 
  name: missing
- !ruby/object:RI::MethodSummary 
  name: normalize_deps
- !ruby/object:RI::MethodSummary 
  name: paragraphs_of
- !ruby/object:RI::MethodSummary 
  name: pluggable!
- !ruby/object:RI::MethodSummary 
  name: post_initialize
- !ruby/object:RI::MethodSummary 
  name: timebomb
- !ruby/object:RI::MethodSummary 
  name: validate_fields
name: Hoe
superclass: Object
