/ruby-sfcc

ruby bindings for sblim client

Primary LanguageCMIT LicenseMIT

ruby-sfcc

INTRODUCTION

ruby-sfcc provides the SBLIM client API ( sblim.wiki.sourceforge.net/Sfcc ) for ruby.

You can use it to connect to any CIMOM talking CIM-XML, but it can take advantage of sfcb CIMOM by connecting using a native interface.

Requirements

Ruby interpreters

ruby-sfcc has been built and the testsuite ran against:

* ruby 1.8.7
* ruby 1.9.2
* rubinius HEAD (what will be 1.1 soon)

sblim

ruby-sfcc has been built and the testsuite ran against:

  • sblim-sfcc 2.2.4

(Note: Earlier versions of sfcc don’t play well with ruby-sfcc+Rails)

Quick Start

You can create a gem by running rake gem.

See the testsuite for more examples. Or run rake docs.

require 'sfcc'

client = Sfcc::Cim::Client.connect('http://root@localhost:5988')
op = Sfcc::Cim::ObjectPath.new("root/cimv2", "")
result = client.query(op, "select * from CIM_OperatingSystem", "wql")
result.each do |instance|
  puts "query result: #{instance}"
end

FAQ

  • Why not using SWIG?

    sfcc has a complex API based on function tables to simulate an object oriented environment in C which would make wrapping it complicated.

  • Why the API?

    The motivation is to have the plain API available, and use it to access the CIMOM, gaining the footprint of SBLIM plus features like the local interface to talk with the CIMOM without overhead.

    So the API is pretty “raw”, and it is supposed to be consumed by

ActiveCim ( github.com/dmacvicar/activecim ) which is a more ruby-like API to do CIM based management.

  • How to run the testsuite?

    You need a CIMOM with base providers (ie: Linux_OperatingSystem) running on localhost 5988 with no authentication

Known Issues

  • If you call Instance#references without a filter class you may get an error. It seems sfcb can’t load a provider.

  • ObjectPath qualifier methods crash

If you want to contribute:

  • fork github.com/dmacvicar/ruby-sfcc

  • make your changes along with tests (don’t touch version in changelog or lib/sfcc/version.rb)

  • send me a pull request

Documentation

Code Metrics

Authors

  • Duncan Mac-Vicar P. <dmacvicar@suse.de>

Thanks

The following people have contributed patches, fixes and enhancements:

  • Klaus Kaempf <kkaempf@suse.de>