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
|
-
|