Permalink
Browse files

Added

[git-p4: depot-paths = "//src/rfc_spec/dev/": change = 5869]
  • Loading branch information...
0 parents commit 0ec79b299d3a80ce383b69ec892aea068cae6cb3 @zenspider zenspider committed Sep 8, 2010
Showing with 771 additions and 0 deletions.
  1. +24 −0 .autotest
  2. +6 −0 History.txt
  3. +7 −0 Manifest.txt
  4. +117 −0 README.txt
  5. +15 −0 Rakefile
  6. +281 −0 lib/rfc_spec.rb
  7. +321 −0 test/test_rfc_spec.rb
@@ -0,0 +1,24 @@
+# -*- ruby -*-
+
+require 'autotest/restart'
+
+Autotest.add_hook :initialize do |at|
+ at.testlib = "minitest/autorun"
+# at.extra_files << "../some/external/dependency.rb"
+#
+# at.libs << ":../some/external"
+#
+# at.add_exception 'vendor'
+#
+# at.add_mapping(/dependency.rb/) do |f, _|
+# at.files_matching(/test_.*rb$/)
+# end
+#
+# %w(TestA TestB).each do |klass|
+# at.extra_class_map[klass] = "test/test_misc.rb"
+# end
+end
+
+# Autotest.add_hook :run_command do |at|
+# system "rake build"
+# end
@@ -0,0 +1,6 @@
+=== 1.0.0 / 2010-09-03
+
+* 1 major enhancement
+
+ * Birthday!
+
@@ -0,0 +1,7 @@
+.autotest
+History.txt
+Manifest.txt
+README.txt
+Rakefile
+lib/rfc_spec.rb
+test/test_rfc_spec.rb
@@ -0,0 +1,117 @@
+= RfcSpec - speccing the RFC way
+
+* FIX (url)
+
+== DESCRIPTION:
+
+Based on RFC 2119: "Key words for use in RFCs to Indicate Requirement Levels"
+
+Abstract:
+
+ In many standards track documents several words are used to
+ signify the requirements in the specification. These words are
+ often capitalized. This document defines these words as they
+ should be interpreted in IETF documents. Authors who follow these
+ guidelines should incorporate this phrase near the beginning of
+ their document:
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
+ NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described
+ in RFC 2119.
+
+ Note that the force of these words is modified by the requirement
+ level of the document in which they are used.
+
+1. MUST -- This word, or the terms "REQUIRED" or "SHALL", mean that
+ the definition is an absolute requirement of the specification.
+
+2. MUST NOT -- This phrase, or the phrase "SHALL NOT", mean that the
+ definition is an absolute prohibition of the specification.
+
+3. SHOULD -- This word, or the adjective "RECOMMENDED", mean that
+ there may exist valid reasons in particular circumstances to
+ ignore a particular item, but the full implications must be
+ understood and carefully weighed before choosing a different
+ course.
+
+4. SHOULD NOT -- This phrase, or the phrase "NOT RECOMMENDED" mean
+ that there may exist valid reasons in particular circumstances
+ when the particular behavior is acceptable or even useful, but
+ the full implications should be understood and the case carefully
+ weighed before implementing any behavior described with this
+ label.
+
+5. MAY -- This word, or the adjective "OPTIONAL", mean that an item
+ is truly optional. One vendor may choose to include the item
+ because a particular marketplace requires it or because the
+ vendor feels that it enhances the product while another vendor
+ may omit the same item. An implementation which does not include
+ a particular option MUST be prepared to interoperate with another
+ implementation which does include the option, though perhaps with
+ reduced functionality. In the same vein an implementation which
+ does include a particular option MUST be prepared to interoperate
+ with another implementation which does not include the option
+ (except, of course, for the feature the option provides.)
+
+6. Guidance in the use of these Imperatives
+
+ Imperatives of the type defined in this memo must be used with
+ care and sparingly. In particular, they MUST only be used where
+ it is actually required for interoperation or to limit behavior
+ which has potential for causing harm (e.g., limiting
+ retransmisssions) For example, they must not be used to try to
+ impose a particular method on implementors where the method is
+ not required for interoperability.
+
+7. Security Considerations
+
+ These terms are frequently used to specify behavior with security
+ implications. The effects on security of not implementing a MUST or
+ SHOULD, or doing something the specification says MUST NOT or SHOULD
+ NOT be done may be very subtle. Document authors should take the time
+ to elaborate the security implications of not following
+ recommendations or requirements as most implementors will not have
+ had the benefit of the experience and discussion that produced the
+ specification.
+
+== FEATURES/PROBLEMS:
+
+* FIX (list of features or problems)
+
+== SYNOPSIS:
+
+ FIX (code sample of usage)
+
+== REQUIREMENTS:
+
+* FIX (list of requirements)
+
+== INSTALL:
+
+* sudo gem install rfc2119spec
+
+== LICENSE:
+
+(The MIT License)
+
+Copyright (c) Ryan Davis, seattle.rb
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,15 @@
+# -*- ruby -*-
+
+require 'rubygems'
+require 'hoe'
+
+Hoe.plugin :isolate
+Hoe.plugin :seattlerb
+
+Hoe.spec 'rfc2119spec' do
+ developer 'Ryan Davis', 'ryand-ruby@zenspider.com'
+
+ self.rubyforge_name = 'seattlerb'
+end
+
+# vim: syntax=ruby
Oops, something went wrong.

0 comments on commit 0ec79b2

Please sign in to comment.