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.
Files changed (58) hide show
  1. data/LICENSE +1 -1
  2. data/README +93 -63
  3. data/lib/siffer.rb +41 -1
  4. data/lib/siffer/agent.rb +53 -0
  5. data/lib/siffer/core_ext/hash.rb +15 -0
  6. data/lib/siffer/messages.rb +41 -0
  7. data/lib/siffer/messages/ack.rb +168 -0
  8. data/lib/siffer/messages/event.rb +20 -0
  9. data/lib/siffer/messages/message.rb +60 -0
  10. data/lib/siffer/messages/provide.rb +25 -0
  11. data/lib/siffer/messages/provision.rb +17 -0
  12. data/lib/siffer/messages/register.rb +50 -0
  13. data/lib/siffer/messages/request.rb +138 -0
  14. data/lib/siffer/messages/response.rb +48 -0
  15. data/lib/siffer/messages/subscribe.rb +17 -0
  16. data/lib/siffer/messages/system_control.rb +94 -0
  17. data/lib/siffer/models.rb +1 -0
  18. data/lib/siffer/models/address.rb +39 -0
  19. metadata +31 -66
  20. data/Rakefile +0 -60
  21. data/bin/siffer +0 -12
  22. data/lib/sif.rb +0 -38
  23. data/lib/sif/code_sets.rb +0 -9
  24. data/lib/sif/code_sets/access_permission_error_codes.rb +0 -17
  25. data/lib/sif/code_sets/authentication_error_codes.rb +0 -15
  26. data/lib/sif/code_sets/base_code_set.rb +0 -75
  27. data/lib/sif/code_sets/encryption_error_codes.rb +0 -6
  28. data/lib/sif/code_sets/error_category_codes.rb +0 -20
  29. data/lib/sif/code_sets/event_reporting_processing_error_codes.rb +0 -7
  30. data/lib/sif/code_sets/generic_message_handling_error_codes.rb +0 -12
  31. data/lib/sif/code_sets/provision_error_codes.rb +0 -8
  32. data/lib/sif/code_sets/registration_error_codes.rb +0 -13
  33. data/lib/sif/code_sets/request_response_error_codes.rb +0 -20
  34. data/lib/sif/code_sets/smb_error_codes.rb +0 -9
  35. data/lib/sif/code_sets/status_codes.rb +0 -13
  36. data/lib/sif/code_sets/subscription_error_codes.rb +0 -7
  37. data/lib/sif/code_sets/system_error_codes.rb +0 -6
  38. data/lib/sif/code_sets/transport_error_codes.rb +0 -9
  39. data/lib/sif/code_sets/xml_validation_error_codes.rb +0 -10
  40. data/lib/sif/config.rb +0 -100
  41. data/lib/sif/core_ext/array.rb +0 -12
  42. data/lib/sif/error.rb +0 -34
  43. data/lib/sif/exceptions.rb +0 -9
  44. data/lib/sif/messages.rb +0 -3
  45. data/lib/sif/messages/ack.rb +0 -29
  46. data/lib/sif/messages/message.rb +0 -32
  47. data/lib/sif/messages/register.rb +0 -38
  48. data/lib/sif/protocols.rb +0 -15
  49. data/lib/sif/status.rb +0 -17
  50. data/spec/base_code_set_spec.rb +0 -35
  51. data/spec/config_spec.rb +0 -42
  52. data/spec/error_spec.rb +0 -11
  53. data/spec/messages/ack_spec.rb +0 -25
  54. data/spec/messages/header_spec.rb +0 -21
  55. data/spec/messages/message_spec.rb +0 -27
  56. data/spec/messages/register_spec.rb +0 -53
  57. data/spec/protocol_spec.rb +0 -11
  58. 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.0
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: 2008-09-25 00:00:00 -07:00
12
+ date: 2009-11-23 00:00:00 -07:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: uuid
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
- - siffer
18
+ executables: []
19
+
29
20
  extensions: []
30
21
 
31
22
  extra_rdoc_files: []
32
23
 
33
24
  files:
34
- - LICENSE
35
- - README
36
- - Rakefile
37
- - spec/base_code_set_spec.rb
38
- - spec/config_spec.rb
39
- - spec/error_spec.rb
40
- - spec/messages
41
- - spec/messages/ack_spec.rb
42
- - spec/messages/header_spec.rb
43
- - spec/messages/message_spec.rb
44
- - spec/messages/register_spec.rb
45
- - spec/protocol_spec.rb
46
- - spec/spec_helper.rb
47
- - lib/sif
48
- - lib/sif/code_sets
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
- has_rdoc: false
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: 1.8.7
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: siffer
102
- rubygems_version: 1.2.0
66
+ rubyforge_project:
67
+ rubygems_version: 1.3.5
103
68
  signing_key:
104
- specification_version: 2
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
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
-
5
-
6
- app_help = <<-EOF
7
- =========================================
8
- === h3o(software) siffer generator ===
9
- =========================================
10
- EOF
11
-
12
- puts app_help
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
@@ -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,6 +0,0 @@
1
- module Siffer
2
- module CodeSets
3
- class EncryptionErrorCode < BaseCodeSet; end
4
- EncryptionErrorCode.register(1,:generic,"Generic error")
5
- end
6
- 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
-
@@ -1,7 +0,0 @@
1
- module Siffer
2
- module CodeSets
3
- class EventReportingProcessingErrorCode < BaseCodeSet; end
4
- EventReportingProcessingErrorCode.register(1,:generic,"Generic error")
5
- EventReportingProcessingErrorCode.register(3,:invalid_event,"Invalid event")
6
- end
7
- end