Sha256: f39ea5850c4a26f77ff646e3c8f13d7acf8dd0671f370fdc9da978aa73003844
Contents?: true
Size: 1.92 KB
Versions: 3
Compression:
Stored size: 1.92 KB
Contents
module RestfulObjects class DomainModel include LinkGenerator attr_accessor :base_url, :compatible_mode attr_reader :metadata_schema, :version, :user, :types, :services, :objects def self.current @current ||= DomainModel.new end def self.current=(value) @current = value end def initialize @base_url = 'http://localhost' @metadata_schema = :selectable @compatible_mode = false @user = User.new(@base_url, 'anonymous') @types = TypeList.new @services = ServiceList.new(@base_url) @objects = ObjectList.new(@base_url) end def get_homepage { 'links' => [ link_to(:self, '/', :homepage), link_to(:user, '/user', :user), link_to(:services, '/services', :list), link_to(:version, '/version', :version), link_to(:domain_types, '/domain-types', :type_list) ], 'extensions' => {} }.to_json end def get_version { 'links' => [ link_to(:self, '/version', :version), link_to(:up, '/', :homepage), ], 'specVersion' => '1.0', 'optionalCapabilities' => { 'blobsClobs' => true, 'deleteObjects' => true, 'domainModel' => metadata_schema.to_s, 'protoPersistentObjects' => true, 'validateOnly' => false }, 'extensions' => {} }.to_json end def get_user @user.get_as_json end def get_services services.get_list end def metadata_schema=(value) if not [:simple, :formal, :selectable].include?(value) raise "invalid metadata schema, choose :simple, :formal or :selectable" end @metadata_schema = value end def reset @base_url = 'http://localhost' @user = nil @types.clear @services.clear @objects.clear end def reset_objects @objects.clear end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
restful_objects-0.0.5 | lib/restful_objects/domain_model.rb |
restful_objects-0.0.4 | lib/restful_objects/domain_model.rb |
restful_objects-0.0.3 | lib/restful_objects/domain_model.rb |