Class: Teapot::Project
- Inherits:
-
Definition
- Object
- Definition
- Teapot::Project
- Defined in:
- lib/teapot/project.rb
Defined Under Namespace
Classes: Author
Instance Attribute Summary collapse
-
#authors ⇒ Object
readonly
Returns the value of attribute authors.
-
#license ⇒ Object
Returns the value of attribute license.
-
#summary ⇒ Object
Returns the value of attribute summary.
-
#title ⇒ Object
Returns the value of attribute title.
-
#version ⇒ Object
Returns the value of attribute version.
-
#website ⇒ Object
Returns the value of attribute website.
Attributes inherited from Definition
#context, #description, #package
Instance Method Summary collapse
- #add_author(name, options = {}) ⇒ Object
- #freeze ⇒ Object
-
#initialize(context, package, name) ⇒ Project
constructor
A new instance of Project.
- #name ⇒ Object
Methods inherited from Definition
Constructor Details
#initialize(context, package, name) ⇒ Project
Returns a new instance of Project.
27 28 29 30 31 32 |
# File 'lib/teapot/project.rb', line 27 def initialize(context, package, name) super context, package, name @version = "0.0.0" @authors = [] end |
Instance Attribute Details
#authors ⇒ Object (readonly)
Returns the value of attribute authors.
62 63 64 |
# File 'lib/teapot/project.rb', line 62 def @authors end |
#license ⇒ Object
Returns the value of attribute license.
58 59 60 |
# File 'lib/teapot/project.rb', line 58 def license @license end |
#summary ⇒ Object
Returns the value of attribute summary.
57 58 59 |
# File 'lib/teapot/project.rb', line 57 def summary @summary end |
#title ⇒ Object
Returns the value of attribute title.
56 57 58 |
# File 'lib/teapot/project.rb', line 56 def title @title end |
#version ⇒ Object
Returns the value of attribute version.
60 61 62 |
# File 'lib/teapot/project.rb', line 60 def version @version end |
#website ⇒ Object
Returns the value of attribute website.
59 60 61 |
# File 'lib/teapot/project.rb', line 59 def website @website end |
Instance Method Details
#add_author(name, options = {}) ⇒ Object
64 65 66 |
# File 'lib/teapot/project.rb', line 64 def (name, = {}) @authors << Author.new(name, [:email], [:website]) end |
#freeze ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/teapot/project.rb', line 44 def freeze @title.freeze @summary.freeze @license.freeze @website.freeze @version.freeze @authors.freeze super end |
#name ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/teapot/project.rb', line 34 def name if @title # Prefer title, it retains case. Build::Name.new(@title) else # Otherwise, if we don't have title, use the target name. Build::Name.from_target(@name) end end |