Specification » History » Version 5
Version 4 (Anonymous, 02/04/2011 11:26 PM) → Version 5/7 (Anonymous, 02/04/2011 11:29 PM)
h1. Specification\015\012\015\012{{>toc}}\015\012\015\012In order to create a [[sublets|sublet]], sublet, you need to create a [[specification]] which basically contains some information about your [[sublets|sublet]]. sublet. \015\012\015\012h2. Attributes\015\012\015\012Here is a list of known attributes:\015\012\015\012h3. name\015\012\015\012Name of the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.name = "Sublet"\015\012</code></pre>\015\012\015\012h3. authors\015\012\015\012List of authors of the [[sublets|sublet]] sublet in case there are more than one\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012 spec.authors = [ "You" ]\015\012</code></pre>\015\012\015\012h3. date\015\012\015\012Date of creation\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.date = "Sat Sep 13 19:00 CET 2008"\015\012</code></pre>\015\012\015\012h3. contact\015\012\015\012Contact mail address\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.contact = "your@mail.com"\015\012</code></pre>\015\012\015\012h3. description\015\012\015\012Short description of the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.description = "A shiny new sublet"\015\012</code></pre>\015\012\015\012h3. notes\015\012\015\012Longer description of the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.notes = <<NOTES\015\012This sublet is just a dummy, have fun with it!\015\012NOTES\015\012</code></pre>\015\012\015\012h3. config\015\012\015\012Description of config settings\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.config = [\015\012 { :name => "format_string", :type => "string", :description => "Format of the clock (man date)" },\015\012]\015\012</code></pre>\015\012\015\012h3. grabs\015\012\015\012Description of [[grabs]]\015\012\015\012+Example+:\015\012<pre><code grabs\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.grabs = {\015\012 :SubletTest => "Test sublet"\015\012]\015\012</code></pre>\015\012\015\012h3. version\015\012\015\012Version of the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.version = "0.1"\015\012</code></pre>\015\012\015\012h3. tags\015\012\015\012List of tags to categorize the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.tags = [ "Broken" ]\015\012</code></pre>\015\012\015\012h3. files\015\012\015\012List of files in the [[sublets|sublet]]\015\012\015\012+Example+:\015\012<pre><code sublet\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.files = [ "sublet.rb" ]\015\012</code></pre>\015\012\015\012h3. icons\015\012\015\012List of supplied icons\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.icons = [ "icon.xbm" ]\015\012</code></pre>\015\012\015\012h3. required_version\015\012\015\012Required version of [[sublets|subtle]]\015\012\015\012+Example+:\015\012<pre><code subtle\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.required_version = "0.9.10"\015\012</code></pre>\015\012\015\012h3. add_dependency(name, version)\015\012\015\012Add a gem dependency\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012spec.add_dependency("a_gem", "0.0")\015\012</code></pre>\015\012\015\012h2. Template\015\012\015\012If you use the *template* command [[sur]] will create an empty template with a spec file.\015\012\015\012+Example+:\015\012<pre><code class="ruby">\015\012# Dummy specification file\015\012# Created with sur-0.2.155\015\012Sur::Specification.new do |s|\015\012 s.name = "Dummy"\015\012 s.authors = [ "Christoph Kappel" ]\015\012 s.date = "Sat Sep 13 19:00 CET 2008"\015\012 s.contact = "unexist@dorfelite.net"\015\012 s.description = "Does nothing"\015\012 s.notes = <<NOTES\015\012Some verbosive information about the sublet\015\012NOTES\015\012 s.config = [\015\012 { :name => "something", :type => "string", :description => "Configure something" }\015\012 ]\015\012 s.version = "0.0"\015\012 s.tags = [ "Dummy" ]\015\012 s.files = [ "dummy.rb" ]\015\012 s.icons = [ "icons/dummy.xbm" ]\015\012\015\012 # Requirements\015\012 s.required_version = "0.9.1883"\015\012 s.add_dependency("a_gem", "0.0")\015\012end\015\012</code></pre>