siffer 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README +93 -63
- data/lib/siffer.rb +41 -1
- data/lib/siffer/agent.rb +53 -0
- data/lib/siffer/core_ext/hash.rb +15 -0
- data/lib/siffer/messages.rb +41 -0
- data/lib/siffer/messages/ack.rb +168 -0
- data/lib/siffer/messages/event.rb +20 -0
- data/lib/siffer/messages/message.rb +60 -0
- data/lib/siffer/messages/provide.rb +25 -0
- data/lib/siffer/messages/provision.rb +17 -0
- data/lib/siffer/messages/register.rb +50 -0
- data/lib/siffer/messages/request.rb +138 -0
- data/lib/siffer/messages/response.rb +48 -0
- data/lib/siffer/messages/subscribe.rb +17 -0
- data/lib/siffer/messages/system_control.rb +94 -0
- data/lib/siffer/models.rb +1 -0
- data/lib/siffer/models/address.rb +39 -0
- metadata +31 -66
- data/Rakefile +0 -60
- data/bin/siffer +0 -12
- data/lib/sif.rb +0 -38
- data/lib/sif/code_sets.rb +0 -9
- data/lib/sif/code_sets/access_permission_error_codes.rb +0 -17
- data/lib/sif/code_sets/authentication_error_codes.rb +0 -15
- data/lib/sif/code_sets/base_code_set.rb +0 -75
- data/lib/sif/code_sets/encryption_error_codes.rb +0 -6
- data/lib/sif/code_sets/error_category_codes.rb +0 -20
- data/lib/sif/code_sets/event_reporting_processing_error_codes.rb +0 -7
- data/lib/sif/code_sets/generic_message_handling_error_codes.rb +0 -12
- data/lib/sif/code_sets/provision_error_codes.rb +0 -8
- data/lib/sif/code_sets/registration_error_codes.rb +0 -13
- data/lib/sif/code_sets/request_response_error_codes.rb +0 -20
- data/lib/sif/code_sets/smb_error_codes.rb +0 -9
- data/lib/sif/code_sets/status_codes.rb +0 -13
- data/lib/sif/code_sets/subscription_error_codes.rb +0 -7
- data/lib/sif/code_sets/system_error_codes.rb +0 -6
- data/lib/sif/code_sets/transport_error_codes.rb +0 -9
- data/lib/sif/code_sets/xml_validation_error_codes.rb +0 -10
- data/lib/sif/config.rb +0 -100
- data/lib/sif/core_ext/array.rb +0 -12
- data/lib/sif/error.rb +0 -34
- data/lib/sif/exceptions.rb +0 -9
- data/lib/sif/messages.rb +0 -3
- data/lib/sif/messages/ack.rb +0 -29
- data/lib/sif/messages/message.rb +0 -32
- data/lib/sif/messages/register.rb +0 -38
- data/lib/sif/protocols.rb +0 -15
- data/lib/sif/status.rb +0 -17
- data/spec/base_code_set_spec.rb +0 -35
- data/spec/config_spec.rb +0 -42
- data/spec/error_spec.rb +0 -11
- data/spec/messages/ack_spec.rb +0 -25
- data/spec/messages/header_spec.rb +0 -21
- data/spec/messages/message_spec.rb +0 -27
- data/spec/messages/register_spec.rb +0 -53
- data/spec/protocol_spec.rb +0 -11
- data/spec/spec_helper.rb +0 -8
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            require 'siffer/models/address'
         | 
| @@ -0,0 +1,39 @@ | |
| 1 | 
            +
            module Siffer
         | 
| 2 | 
            +
              module Models
         | 
| 3 | 
            +
                class Street < AcDc::Body
         | 
| 4 | 
            +
                  element :line_1
         | 
| 5 | 
            +
                  element :line_2
         | 
| 6 | 
            +
                  element :line_3
         | 
| 7 | 
            +
                  element :complex
         | 
| 8 | 
            +
                  element :street_number
         | 
| 9 | 
            +
                  element :street_prefix
         | 
| 10 | 
            +
                  element :street_name
         | 
| 11 | 
            +
                  element :street_type
         | 
| 12 | 
            +
                  element :street_suffix
         | 
| 13 | 
            +
                  element :apartment_type
         | 
| 14 | 
            +
                  element :apartment_number_prefix
         | 
| 15 | 
            +
                  element :apartment_number
         | 
| 16 | 
            +
                  element :apartment_number_suffix
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                class GridLocation < AcDc::Body
         | 
| 20 | 
            +
                  element :longitude
         | 
| 21 | 
            +
                  element :latitude
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                class Address < AcDc::Body
         | 
| 25 | 
            +
                  attribute :type
         | 
| 26 | 
            +
                  element :street
         | 
| 27 | 
            +
                  element :city
         | 
| 28 | 
            +
                  element :county
         | 
| 29 | 
            +
                  element :state_province
         | 
| 30 | 
            +
                  element :country
         | 
| 31 | 
            +
                  element :postal_code
         | 
| 32 | 
            +
                  element :grid_location
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
                
         | 
| 35 | 
            +
                class AddressList < AcDc::Body
         | 
| 36 | 
            +
                  element :address
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: siffer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Clint Hill
         | 
| @@ -9,76 +9,41 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2009-11-23 00:00:00 -07:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 | 
            -
            dependencies: 
         | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
              type: :runtime
         | 
| 18 | 
            -
              version_requirement: 
         | 
| 19 | 
            -
              version_requirements: !ruby/object:Gem::Requirement 
         | 
| 20 | 
            -
                requirements: 
         | 
| 21 | 
            -
                - - ">="
         | 
| 22 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 23 | 
            -
                    version: "0"
         | 
| 24 | 
            -
                version: 
         | 
| 25 | 
            -
            description: 
         | 
| 14 | 
            +
            dependencies: []
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            description: "    Siffer is a SIF that plans to remove the complexity from the implementation.\n    Siffer is SIF done easy. It's also the first entirely done in Ruby!\n"
         | 
| 26 17 | 
             
            email: clint.hill@h3osoftware.com
         | 
| 27 | 
            -
            executables: 
         | 
| 28 | 
            -
             | 
| 18 | 
            +
            executables: []
         | 
| 19 | 
            +
             | 
| 29 20 | 
             
            extensions: []
         | 
| 30 21 |  | 
| 31 22 | 
             
            extra_rdoc_files: []
         | 
| 32 23 |  | 
| 33 24 | 
             
            files: 
         | 
| 34 | 
            -
            -  | 
| 35 | 
            -
            -  | 
| 36 | 
            -
            -  | 
| 37 | 
            -
            -  | 
| 38 | 
            -
            -  | 
| 39 | 
            -
            -  | 
| 40 | 
            -
            -  | 
| 41 | 
            -
            -  | 
| 42 | 
            -
            -  | 
| 43 | 
            -
            -  | 
| 44 | 
            -
            -  | 
| 45 | 
            -
            -  | 
| 46 | 
            -
            -  | 
| 47 | 
            -
            - lib/ | 
| 48 | 
            -
            - lib/ | 
| 49 | 
            -
            - lib/sif/code_sets/access_permission_error_codes.rb
         | 
| 50 | 
            -
            - lib/sif/code_sets/authentication_error_codes.rb
         | 
| 51 | 
            -
            - lib/sif/code_sets/base_code_set.rb
         | 
| 52 | 
            -
            - lib/sif/code_sets/encryption_error_codes.rb
         | 
| 53 | 
            -
            - lib/sif/code_sets/error_category_codes.rb
         | 
| 54 | 
            -
            - lib/sif/code_sets/event_reporting_processing_error_codes.rb
         | 
| 55 | 
            -
            - lib/sif/code_sets/generic_message_handling_error_codes.rb
         | 
| 56 | 
            -
            - lib/sif/code_sets/provision_error_codes.rb
         | 
| 57 | 
            -
            - lib/sif/code_sets/registration_error_codes.rb
         | 
| 58 | 
            -
            - lib/sif/code_sets/request_response_error_codes.rb
         | 
| 59 | 
            -
            - lib/sif/code_sets/smb_error_codes.rb
         | 
| 60 | 
            -
            - lib/sif/code_sets/status_codes.rb
         | 
| 61 | 
            -
            - lib/sif/code_sets/subscription_error_codes.rb
         | 
| 62 | 
            -
            - lib/sif/code_sets/system_error_codes.rb
         | 
| 63 | 
            -
            - lib/sif/code_sets/transport_error_codes.rb
         | 
| 64 | 
            -
            - lib/sif/code_sets/xml_validation_error_codes.rb
         | 
| 65 | 
            -
            - lib/sif/code_sets.rb
         | 
| 66 | 
            -
            - lib/sif/config.rb
         | 
| 67 | 
            -
            - lib/sif/core_ext
         | 
| 68 | 
            -
            - lib/sif/core_ext/array.rb
         | 
| 69 | 
            -
            - lib/sif/error.rb
         | 
| 70 | 
            -
            - lib/sif/exceptions.rb
         | 
| 71 | 
            -
            - lib/sif/messages
         | 
| 72 | 
            -
            - lib/sif/messages/ack.rb
         | 
| 73 | 
            -
            - lib/sif/messages/message.rb
         | 
| 74 | 
            -
            - lib/sif/messages/register.rb
         | 
| 75 | 
            -
            - lib/sif/messages.rb
         | 
| 76 | 
            -
            - lib/sif/protocols.rb
         | 
| 77 | 
            -
            - lib/sif/status.rb
         | 
| 78 | 
            -
            - lib/sif.rb
         | 
| 25 | 
            +
            - lib/siffer/agent.rb
         | 
| 26 | 
            +
            - lib/siffer/core_ext/hash.rb
         | 
| 27 | 
            +
            - lib/siffer/messages/ack.rb
         | 
| 28 | 
            +
            - lib/siffer/messages/event.rb
         | 
| 29 | 
            +
            - lib/siffer/messages/message.rb
         | 
| 30 | 
            +
            - lib/siffer/messages/provide.rb
         | 
| 31 | 
            +
            - lib/siffer/messages/provision.rb
         | 
| 32 | 
            +
            - lib/siffer/messages/register.rb
         | 
| 33 | 
            +
            - lib/siffer/messages/request.rb
         | 
| 34 | 
            +
            - lib/siffer/messages/response.rb
         | 
| 35 | 
            +
            - lib/siffer/messages/subscribe.rb
         | 
| 36 | 
            +
            - lib/siffer/messages/system_control.rb
         | 
| 37 | 
            +
            - lib/siffer/messages.rb
         | 
| 38 | 
            +
            - lib/siffer/models/address.rb
         | 
| 39 | 
            +
            - lib/siffer/models.rb
         | 
| 79 40 | 
             
            - lib/siffer.rb
         | 
| 80 | 
            -
             | 
| 41 | 
            +
            - README
         | 
| 42 | 
            +
            - LICENSE
         | 
| 43 | 
            +
            has_rdoc: true
         | 
| 81 44 | 
             
            homepage: http://h3osoftware.com/siffer
         | 
| 45 | 
            +
            licenses: []
         | 
| 46 | 
            +
             | 
| 82 47 | 
             
            post_install_message: 
         | 
| 83 48 | 
             
            rdoc_options: []
         | 
| 84 49 |  | 
| @@ -88,7 +53,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 88 53 | 
             
              requirements: 
         | 
| 89 54 | 
             
              - - ">="
         | 
| 90 55 | 
             
                - !ruby/object:Gem::Version 
         | 
| 91 | 
            -
                  version:  | 
| 56 | 
            +
                  version: "0"
         | 
| 92 57 | 
             
              version: 
         | 
| 93 58 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 94 59 | 
             
              requirements: 
         | 
| @@ -98,10 +63,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 98 63 | 
             
              version: 
         | 
| 99 64 | 
             
            requirements: []
         | 
| 100 65 |  | 
| 101 | 
            -
            rubyforge_project:  | 
| 102 | 
            -
            rubygems_version: 1. | 
| 66 | 
            +
            rubyforge_project: 
         | 
| 67 | 
            +
            rubygems_version: 1.3.5
         | 
| 103 68 | 
             
            signing_key: 
         | 
| 104 | 
            -
            specification_version:  | 
| 69 | 
            +
            specification_version: 3
         | 
| 105 70 | 
             
            summary: Siffer - School Interoperability Framework by h3o(software)
         | 
| 106 71 | 
             
            test_files: []
         | 
| 107 72 |  | 
    
        data/Rakefile
    DELETED
    
    | @@ -1,60 +0,0 @@ | |
| 1 | 
            -
            require 'rake'
         | 
| 2 | 
            -
            require 'rake/clean'                       
         | 
| 3 | 
            -
            require 'rake/gempackagetask'
         | 
| 4 | 
            -
            require "rake/rdoctask"
         | 
| 5 | 
            -
            require 'spec/rake/spectask'
         | 
| 6 | 
            -
            require 'fileutils'
         | 
| 7 | 
            -
            include FileUtils
         | 
| 8 | 
            -
            require File.join(File.dirname(__FILE__),"lib","sif")
         | 
| 9 | 
            -
            include Siffer
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            NAME = "siffer"
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            spec = Gem::Specification.new do |s|
         | 
| 14 | 
            -
              s.name = NAME
         | 
| 15 | 
            -
              s.version = Siffer.version
         | 
| 16 | 
            -
              s.platform = Gem::Platform::RUBY
         | 
| 17 | 
            -
              s.author = "Clint Hill"
         | 
| 18 | 
            -
              s.email = "clint.hill@h3osoftware.com"
         | 
| 19 | 
            -
              s.homepage = "http://h3osoftware.com/siffer"
         | 
| 20 | 
            -
              s.summary = "Siffer - School Interoperability Framework by h3o(software)"
         | 
| 21 | 
            -
              s.rubyforge_project = "siffer"
         | 
| 22 | 
            -
              s.require_path = "lib"
         | 
| 23 | 
            -
              s.files        = %w( LICENSE README Rakefile ) + Dir["{spec,lib,doc}/**/*"]
         | 
| 24 | 
            -
              s.bindir = "bin"
         | 
| 25 | 
            -
              s.executables = %w( siffer )
         | 
| 26 | 
            -
              s.add_dependency "uuid"
         | 
| 27 | 
            -
              s.required_ruby_version = ">= 1.8.7"
         | 
| 28 | 
            -
            end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
            Rake::GemPackageTask.new(spec) do |package|
         | 
| 31 | 
            -
             package.gem_spec = spec
         | 
| 32 | 
            -
            end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
            ##############################################################################
         | 
| 35 | 
            -
            # rSpec
         | 
| 36 | 
            -
            ##############################################################################
         | 
| 37 | 
            -
            desc 'Run all specs'
         | 
| 38 | 
            -
            task :spec => ["spec:default"]
         | 
| 39 | 
            -
             | 
| 40 | 
            -
            namespace :spec do
         | 
| 41 | 
            -
              Spec::Rake::SpecTask.new('default') do |t|
         | 
| 42 | 
            -
                  t.spec_opts = ["--format", "specdoc", "--colour"]
         | 
| 43 | 
            -
                  t.spec_files = Dir['spec/**/*_spec.rb'].sort
         | 
| 44 | 
            -
              end
         | 
| 45 | 
            -
            end
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            ##############################################################################
         | 
| 48 | 
            -
            # Documentation
         | 
| 49 | 
            -
            ##############################################################################
         | 
| 50 | 
            -
            task :doc => ["doc:rdoc"]
         | 
| 51 | 
            -
            namespace :doc do
         | 
| 52 | 
            -
              Rake::RDocTask.new do |rdoc|
         | 
| 53 | 
            -
                files = ["README","LICENSE","lib/**/*.rb"]
         | 
| 54 | 
            -
                rdoc.rdoc_files.add(files)
         | 
| 55 | 
            -
                rdoc.main = "README"
         | 
| 56 | 
            -
                rdoc.title = "Siffer == h3o(software) SIF"
         | 
| 57 | 
            -
                rdoc.rdoc_dir = "docs/rdoc"
         | 
| 58 | 
            -
                rdoc.options << "--line-numbers" << "--inline-source"
         | 
| 59 | 
            -
              end
         | 
| 60 | 
            -
            end
         | 
    
        data/bin/siffer
    DELETED
    
    
    
        data/lib/sif.rb
    DELETED
    
    | @@ -1,38 +0,0 @@ | |
| 1 | 
            -
            require 'rubygems'
         | 
| 2 | 
            -
            require 'uuid'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            $: << File.expand_path(File.dirname(__FILE__))
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            module Siffer
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                VENDOR = "h3o(software)" unless defined?(Siffer::VENDOR)
         | 
| 9 | 
            -
                VERSION = [0,1,0] unless defined?(Siffer::VERSION)
         | 
| 10 | 
            -
                SIF_VERSION = [2,2,0] unless defined?(Siffer::SIF_VERSION)
         | 
| 11 | 
            -
                SIF_XMLNS = "http://www.sifinfo.org/infrastructure/2.x" unless defined?(Siffer::SIF_XMLNS)
         | 
| 12 | 
            -
              
         | 
| 13 | 
            -
                # The version of the h3o(software) SIF implementation
         | 
| 14 | 
            -
                def self.version() VERSION.join(".") end
         | 
| 15 | 
            -
              
         | 
| 16 | 
            -
                # The version of SIF being implemented - based on the specification
         | 
| 17 | 
            -
                def self.sif_version() SIF_VERSION.join(".") end
         | 
| 18 | 
            -
                
         | 
| 19 | 
            -
                # The SIF XML namespace to be used across this implementation
         | 
| 20 | 
            -
                def self.sif_xmlns() SIF_XMLNS end
         | 
| 21 | 
            -
              
         | 
| 22 | 
            -
                # The root directory that the SIF implementation is running from
         | 
| 23 | 
            -
                def self.root() @root ||= Dir.pwd end
         | 
| 24 | 
            -
                def self.root=(value) @root = value end
         | 
| 25 | 
            -
                  
         | 
| 26 | 
            -
                autoload :Messages, "sif/messages"
         | 
| 27 | 
            -
                autoload :Exceptions, "sif/exceptions"
         | 
| 28 | 
            -
                autoload :Protocols, "sif/protocols"
         | 
| 29 | 
            -
                autoload :CodeSets, "sif/code_sets"
         | 
| 30 | 
            -
              
         | 
| 31 | 
            -
            end
         | 
| 32 | 
            -
            require "sif/config"
         | 
| 33 | 
            -
            require "sif/status"
         | 
| 34 | 
            -
            require "sif/error"
         | 
| 35 | 
            -
            require "sif/core_ext/array"
         | 
| 36 | 
            -
            class Array
         | 
| 37 | 
            -
                include Siffer::CoreExtensions::Array::ExtractOptions
         | 
| 38 | 
            -
            end
         | 
    
        data/lib/sif/code_sets.rb
    DELETED
    
    | @@ -1,9 +0,0 @@ | |
| 1 | 
            -
            require 'lib/sif/code_sets/base_code_set'
         | 
| 2 | 
            -
            %w[access_permission_error_codes authentication_error_codes encryption_error_codes 
         | 
| 3 | 
            -
            error_category_codes event_reporting_processing_error_codes generic_message_handling_error_codes 
         | 
| 4 | 
            -
            provision_error_codes registration_error_codes request_response_error_codes smb_error_codes 
         | 
| 5 | 
            -
            status_codes subscription_error_codes system_error_codes transport_error_codes 
         | 
| 6 | 
            -
            xml_validation_error_codes].each do |codes|
         | 
| 7 | 
            -
                require "lib/sif/code_sets/#{codes}"
         | 
| 8 | 
            -
            end
         | 
| 9 | 
            -
             | 
| @@ -1,17 +0,0 @@ | |
| 1 | 
            -
            module Siffer
         | 
| 2 | 
            -
              module CodeSets
         | 
| 3 | 
            -
                class AccessPermissionErrorCode < BaseCodeSet; end
         | 
| 4 | 
            -
                AccessPermissionErrorCode.register(1,:generic,"Generic error")
         | 
| 5 | 
            -
                AccessPermissionErrorCode.register(2,:register,"No permission to register")
         | 
| 6 | 
            -
                AccessPermissionErrorCode.register(3,:provide,"No permission to provide this object")
         | 
| 7 | 
            -
                AccessPermissionErrorCode.register(4,:subscribe,"No permission to subscribe to this SIF_Event")
         | 
| 8 | 
            -
                AccessPermissionErrorCode.register(5,:requrest,"No permission to request this object")
         | 
| 9 | 
            -
                AccessPermissionErrorCode.register(6,:responsd,"No permission to respond to this object request")
         | 
| 10 | 
            -
                AccessPermissionErrorCode.register(7,:publish,"No permission to publish SIF_Event")
         | 
| 11 | 
            -
                AccessPermissionErrorCode.register(8,:administer,"No permission to administer policies")
         | 
| 12 | 
            -
                AccessPermissionErrorCode.register(9,:source_not_registered,"SIF_SourceId is not registered")
         | 
| 13 | 
            -
                AccessPermissionErrorCode.register(10,:publish_add,"No permission to publish SIF_Event Add")
         | 
| 14 | 
            -
                AccessPermissionErrorCode.register(11,:publish_change,"No permission to publish SIF_Event Change")
         | 
| 15 | 
            -
                AccessPermissionErrorCode.register(12,:publish_delete,"No permission to publish SIF_Event Delete")
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
            end
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            module Siffer
         | 
| 2 | 
            -
              module CodeSets
         | 
| 3 | 
            -
                class AuthenticationErrorCode < BaseCodeSet; end
         | 
| 4 | 
            -
                AuthenticationErrorCode.register(1,:generic,"Generic error")
         | 
| 5 | 
            -
                AuthenticationErrorCode.register(2,:generic_with_signature,"Generic authentication error (with signature)")
         | 
| 6 | 
            -
                AuthenticationErrorCode.register(3,:missing_certification,"Missing sender's certificate")
         | 
| 7 | 
            -
                AuthenticationErrorCode.register(4,:invalid_certificate,"Invalid certificate")
         | 
| 8 | 
            -
                AuthenticationErrorCode.register(5,:not_trusted,"Sender's certificate is not trusted")
         | 
| 9 | 
            -
                AuthenticationErrorCode.register(6,:expired,"Expired certificate")
         | 
| 10 | 
            -
                AuthenticationErrorCode.register(7,:invalid_signature,"Invalid signature")
         | 
| 11 | 
            -
                AuthenticationErrorCode.register(8,:invalid_encryption,"Invalid encryption algorithm (only accepts MD4)")
         | 
| 12 | 
            -
                AuthenticationErrorCode.register(9,:missing_public_key,"Missing public key of the receiver (when decrypting message)")
         | 
| 13 | 
            -
                AuthenticationErrorCode.register(10,:missing_private_key,"Missing receiver's private key (when decrypting message)")
         | 
| 14 | 
            -
              end
         | 
| 15 | 
            -
            end
         | 
| @@ -1,75 +0,0 @@ | |
| 1 | 
            -
            module Siffer
         | 
| 2 | 
            -
              module CodeSets
         | 
| 3 | 
            -
               # This class supports a base for all Code Sets.
         | 
| 4 | 
            -
               # It allows for a class to implement a symbol,
         | 
| 5 | 
            -
               # code and a description.
         | 
| 6 | 
            -
               # 
         | 
| 7 | 
            -
               # Example:
         | 
| 8 | 
            -
               #  def GenericCode < BaseCodeSet; end
         | 
| 9 | 
            -
               #  Siffer::CodeSets::GenericCode.register(0,:generic, "Generic Error")
         | 
| 10 | 
            -
               #  @error = Siffer::CodeSets::GenericCode[:generic]
         | 
| 11 | 
            -
               #  @error == 0
         | 
| 12 | 
            -
               #  #=> true
         | 
| 13 | 
            -
               #  @error == :generic
         | 
| 14 | 
            -
               #  #=> true
         | 
| 15 | 
            -
               #  puts @error.description
         | 
| 16 | 
            -
               #  #=> "Generic Error"
         | 
| 17 | 
            -
               #  @error == Siffer::CodeSets::GenericCode[:generic]
         | 
| 18 | 
            -
               #  #=> true
         | 
| 19 | 
            -
               #  @error.generic? 
         | 
| 20 | 
            -
               #  #=> true
         | 
| 21 | 
            -
               class BaseCodeSet
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                attr_reader :description
         | 
| 24 | 
            -
                SET = []
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                def initialize(code, symbol, description)
         | 
| 27 | 
            -
                  @code = code
         | 
| 28 | 
            -
                  @symbol = symbol
         | 
| 29 | 
            -
                  @description = description
         | 
| 30 | 
            -
                end
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                def to_s
         | 
| 33 | 
            -
                  @description
         | 
| 34 | 
            -
                end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                def to_str
         | 
| 37 | 
            -
                  to_s
         | 
| 38 | 
            -
                end 
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                def to_sym
         | 
| 41 | 
            -
                  @symbol
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                def ==(obj)
         | 
| 45 | 
            -
                  return @symbol == obj if obj.kind_of? Symbol
         | 
| 46 | 
            -
                  return @code == obj if obj.kind_of? Integer
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                class << self
         | 
| 50 | 
            -
                  def register(code, symbol, description)
         | 
| 51 | 
            -
                    self.instance_eval { const_set symbol.to_s.upcase, self.new(code,symbol,description) }
         | 
| 52 | 
            -
                    SET << self.const_get(symbol.to_s.upcase)
         | 
| 53 | 
            -
                  end
         | 
| 54 | 
            -
             | 
| 55 | 
            -
                  def [](index)
         | 
| 56 | 
            -
                    SET.each do |status|
         | 
| 57 | 
            -
                      return status if status == index
         | 
| 58 | 
            -
                    end
         | 
| 59 | 
            -
                    raise Exceptions::InvalidErrorCode, "#{index} code not found in #{self.name} codes."
         | 
| 60 | 
            -
                  end
         | 
| 61 | 
            -
             | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
                
         | 
| 64 | 
            -
                private
         | 
| 65 | 
            -
                  def method_missing(method, *args)
         | 
| 66 | 
            -
                    if method.to_s =~ /(\w+)\?$/
         | 
| 67 | 
            -
                      $1.downcase.to_sym == to_sym
         | 
| 68 | 
            -
                    else
         | 
| 69 | 
            -
                      super
         | 
| 70 | 
            -
                    end
         | 
| 71 | 
            -
                  end
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                end
         | 
| 74 | 
            -
              end
         | 
| 75 | 
            -
            end
         | 
| @@ -1,20 +0,0 @@ | |
| 1 | 
            -
            module Siffer
         | 
| 2 | 
            -
              module CodeSets
         | 
| 3 | 
            -
                class ErrorCategoryCode < BaseCodeSet; end
         | 
| 4 | 
            -
                ErrorCategoryCode.register(0,:unknown,"This should never be used if possible.")
         | 
| 5 | 
            -
                ErrorCategoryCode.register(1,:xml_validation, "XML Validation")
         | 
| 6 | 
            -
                ErrorCategoryCode.register(2,:encryption,"Encryption")
         | 
| 7 | 
            -
                ErrorCategoryCode.register(3,:authentication,"Authentication")
         | 
| 8 | 
            -
                ErrorCategoryCode.register(4,:access_and_permissions,"Access and Permissions")
         | 
| 9 | 
            -
                ErrorCategoryCode.register(5,:registration,"Registration")
         | 
| 10 | 
            -
                ErrorCategoryCode.register(6,:provision,"Provision")
         | 
| 11 | 
            -
                ErrorCategoryCode.register(7,:subscription,"Subscription")
         | 
| 12 | 
            -
                ErrorCategoryCode.register(8,:requrest_and_response,"Request and Response")
         | 
| 13 | 
            -
                ErrorCategoryCode.register(9,:event_reporting_and_processing,"Event Reporting and Processing")
         | 
| 14 | 
            -
                ErrorCategoryCode.register(10,:transport,"Transport")
         | 
| 15 | 
            -
                ErrorCategoryCode.register(11,:system,"System (OS, Database, Vendor localized, etc.)")
         | 
| 16 | 
            -
                ErrorCategoryCode.register(12,:generic_message_handling,"Generic Message Handling")
         | 
| 17 | 
            -
                ErrorCategoryCode.register(13,:smb_handling,"SMB Handling")
         | 
| 18 | 
            -
              end
         | 
| 19 | 
            -
            end
         | 
| 20 | 
            -
             |