OCCI Core rewrite

- changed attribute handling
  - attribute properties consist of a collection (hash) containing attribute property objects
  - attribute property objects contain all properties describing the attribute
  - attributes are derived from attribute properties and handle attribute values as input and output
  - attribute objects are derived from attribute property objects and additionally contain the attribute value
- updated all Occi classes to use new attribute classes
- introduced a new helper class for rendering Occi objects to JSON for inspect
OCCI Core rewrite

- Merged existing pull request gwdg/rOCCI#79
- [x] changed attribute handling
  - attribute properties consist of a collection (hash) containing attribute property objects
  - attribute property objects contain all properties describing the attribute
  - attributes are derived from attribute properties and handle attribute values as input and output
  - attribute objects are derived from attribute property objects and additionally contain the attribute value
- [x] updated all Occi classes to use new attribute classes
- [x] introduced a new helper class for rendering Occi objects to JSON for inspect
- [ ] Action handling must be fixed with regards to triggering actions on remote Occi entities
- [ ] adding and removing Mixins must be implemented using the new attribute class
- [ ] get_class must be fixed
  - replace all characters which are not [a-z] and [0-9] with UTF-8 character names
  - Implement changes to OCCI Core document (e.g. parent …)
- [ ] Implement interoperability fixes in Text Parser
- [ ] fix existing spec tests and add new tests for new classes
OCCI Core rewrite

- [x] improved attribute handling
  - merged attribute classes
  - one central attribute collection class called Occi::Core::Attributes
  - Attributes themselves are of the corresponding Class e.g. String, FixNum, FalseClass, TrueClass, NilClass
  - Properties are handled in their own class
  - An attribute collection can either hold properties or attribute instances
  - An attribute collection can be converted from properties to an empty collection of attribute instances (nil elements). The properties are accessible through the same attribute name with an additional underscore (e.g. occi.core._id)
- [x] updated all Occi classes to use new attribute classes
- [x] Action handling fixed by revising the action class describing the action and the action instance holding attributes to execute the action. This resolves gwdg/rOCCI#22 and gwdg/rOCCI#24
- [x] adding and removing Mixins now adds and removes attribute definitions from entity
- [x] Interoperability fixes have been implemented to solve compatibility issues in the Text Parser. This fixes gwdg/rOCCI#78
- [x] Introduced a new class for handling YAML based setting files. This resolves gwdg/rOCCI#46
  - settings can be added to config/occi.yaml and can be overwritten by a file named .occi in the users home directory
- [x] Added a settings for a compatibility mode to handle all compatibility issues with known OCCI implementations (default: on). This resolves gwdg/rOCCI#7
- [x] Added a setting for verifying attributes against their pattern definition (default: off)
- [ ] get_class must be fixed
  - replace all characters which are not [a-z] and [0-9] with UTF-8 character names
  - Implement changes to OCCI Core document (e.g. parent …)
- [ ] fix existing spec tests and add new tests for new classes
Configuration File

- added occi.yml configuration file
Attributes

- fixed some issues with converting attributes with properties to attributes with values
- attributes of mixins are now correctly added/removed to/from an entities attributes if the mixin is being added to it
- fixed definition of attributes in classes derived from entity to not include the attributes from their parents
ActiveSupport Fix

- fix when activesupport lower version 4.0 is used
Merge pull request #2 from ffeldhaus/master

OCCI Core rewrite