sdl-ng 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02992c2203dd499f31781a014605b9199ecbfb3b
4
- data.tar.gz: 533c35f720010f4a2eb91d0181651300ceef1c1f
3
+ metadata.gz: 0087ac1bbc359ae8f572a80782a5b71ab6aa1599
4
+ data.tar.gz: 1541db73e7090f6c099508a02d197aebd0c8dd66
5
5
  SHA512:
6
- metadata.gz: 48d19496376b71a388e3d10657ed7694eccd901a249b8f248e3447648f5ce5a23994916a44ba8e83e8ef916bcaeb0aa353de67c8541586666b36b4aace3ce793
7
- data.tar.gz: 6ba8b615c6a87eeb15a4e03caf0595b1779504baad4e1a43d6cf6124c985747a1a19ab0cfa239e502d448aac77fa8cb7fe6a19a4ebcdc03ed54ff059d9a8781b
6
+ metadata.gz: d56fdaf6e4b8442359afbc25cd0733ff106720754c89e9981b8b675b3e4a1989d948c21ebaa9afe3edcc0a8a91c566ee0a0fd6a30ef623d75a90ce36ab98fd0a
7
+ data.tar.gz: d796b0b1eb65a5149e79f78238ef8061a605df537a9298e302ca28ecb98d0a4b053a73066dd094c772e654a95147ef1762cd151ffaac25b4348d6216c30daef9
@@ -5,6 +5,19 @@
5
5
  class SDL::Base::Fact < SDL::Base::Type
6
6
  attr_accessor :service
7
7
 
8
+ class << self
9
+ ##
10
+ # Returns the possible keywords to instantiate this fact class
11
+ # @return [<String>]
12
+ def keywords
13
+ is_form = "is_#{local_name.underscore.verb.conjugate(:tense => :past, :person => :third, :plurality => :singular, :aspect => :perfective)}"
14
+ has_form = "has_#{local_name.underscore}"
15
+ simple_form = local_name.underscore
16
+
17
+ [has_form, simple_form, is_form]
18
+ end
19
+ end
20
+
8
21
  def parent
9
22
  service
10
23
  end
@@ -1,31 +1,57 @@
1
1
  ##
2
2
  # A property of a Fact or Type. It has a #name and an associated Type.
3
3
  class SDL::Base::Property
4
+ ##
4
5
  # The Property name
6
+ # @!attribute [r] name
7
+ # @return [String]
5
8
  attr :name
6
9
 
10
+ ##
7
11
  # The Property Type
12
+ # @!attribute [r] type
13
+ # @return [Class]
8
14
  attr :type
9
15
 
16
+ ##
10
17
  # Is this Property multi-valued
18
+ # @!attribute [r] multi
19
+ # @return [Boolean]
11
20
  attr :multi
12
21
 
22
+ ##
13
23
  # The type, for which the property is defined
24
+ # @!attribute [r] parent
25
+ # @return [Class]
14
26
  attr :parent
15
27
 
28
+ ##
16
29
  # The type, which currently holds this property
30
+ # @!attribute [r] holder
31
+ # @return [Class]
17
32
  attr_accessor :holder
18
33
 
34
+ ##
19
35
  # Is this Property single-valued
36
+ # @return [Boolean]
20
37
  def single?
21
38
  !@multi
22
39
  end
23
40
 
41
+ ##
24
42
  # Is this Property multi-valued
43
+ # @return [Boolean]
25
44
  def multi?
26
45
  @multi
27
46
  end
28
47
 
48
+ ##
49
+ # Was this property inherited from one of its parents?
50
+ # @return [Boolean]
51
+ def inherited?
52
+ ! parent.eql? holder
53
+ end
54
+
29
55
  # Define a property by its name and type
30
56
  def initialize(name, type, parent, multi = false)
31
57
  @name, @type, @parent, @multi = name.to_s, type, parent, multi
@@ -3,6 +3,7 @@
3
3
  class SDL::Base::ServiceCompendium
4
4
  extend ActiveSupport::Autoload
5
5
 
6
+ autoload :LoadTransaction
6
7
  autoload :VocabularyLoadTransaction
7
8
  autoload :ServiceLoadTransaction
8
9
 
@@ -12,21 +13,44 @@ class SDL::Base::ServiceCompendium
12
13
  ##
13
14
  # A list of all +Fact+ classes registered in this compendium
14
15
  # @!attribute [r] fact_classes
15
- # @return Array<Class>
16
+ # @return [Array<Class>]
16
17
  attr :fact_classes
17
18
 
18
19
  ##
19
20
  # A list of all +Type+ classes registered in this compendium
20
21
  # @!attribute [r] types
21
- # @return Array<Class>
22
+ # @return [Array<Class>]
22
23
  attr :types
23
24
 
24
25
  ##
25
- # Registered codes for +SDLSimpleType+s, used for defining property types.
26
+ # Registered codes for +SDLSimpleType+s and +Type+s.
26
27
  #
27
- # @!attribute [r] sdltype_codes
28
- # @return Hash{String => Class}
29
- attr :sdltype_codes
28
+ # These are used in the definition of the type of a property.
29
+ #
30
+ # @!attribute [r] all_codes
31
+ # @return [Hash{String => Class}]
32
+ attr :all_codes
33
+
34
+ ##
35
+ # Registered codes for +SDLSimpleType+s.
36
+ #
37
+ # These are used in the definition of the type of a property.
38
+ #
39
+ # @!attribute [r] sdl_simple_type_codes
40
+ # @return [Hash{String => Class}]
41
+ attr :sdl_simple_type_codes
42
+
43
+ ##
44
+ # Registered codes for +Type+s.
45
+ #
46
+ # These are used in the definition of the type of a property.
47
+ #
48
+ # @!attribute [r] type_codes
49
+ # @return [Hash{String => Class}]
50
+ attr :type_codes
51
+
52
+ ##
53
+ # Registered codes for +SDL
30
54
 
31
55
  ##
32
56
  # A map containing predefined type instances, mapped to their Type classes.
@@ -61,7 +85,9 @@ class SDL::Base::ServiceCompendium
61
85
  # Initializes the compendium.
62
86
  def initialize
63
87
  @fact_classes, @types, @services = [], [], {}
64
- @type_instances, @sdltype_codes = {}, {}
88
+ @type_instances, @sdl_simple_type_codes, @type_codes, @all_codes = {}, {}, {}, {}
89
+
90
+ @type_instances.default = {}
65
91
 
66
92
  @service_methods = Module.new() do |mod|
67
93
  include ServiceMethods
@@ -70,6 +96,17 @@ class SDL::Base::ServiceCompendium
70
96
  register_default_types
71
97
  end
72
98
 
99
+ ##
100
+ # A compendium is empty, if there are neither types, nor services loaded.
101
+ # @return [Boolean] If this compendium is empty.
102
+ def empty?
103
+ @fact_classes.empty? &&
104
+ @types.empty? &&
105
+ @services.empty? &&
106
+ @type_instances.empty? &&
107
+ @type_codes.empty?
108
+ end
109
+
73
110
  def facts_definition(&facts_definitions)
74
111
  self.instance_eval &facts_definitions
75
112
  end
@@ -78,6 +115,11 @@ class SDL::Base::ServiceCompendium
78
115
  self.instance_eval &type_instances_definition
79
116
  end
80
117
 
118
+ ##
119
+ # Runs the +&block+ with specified +current_uri+ and restores the old +current_uri+.
120
+ #
121
+ # @param [String] current_uri The URI, with which the block should be run.
122
+ # @param [Block] block The block, which will be called.
81
123
  def with_uri(current_uri, &block)
82
124
  old_uri = @current_uri
83
125
  @current_uri = current_uri
@@ -101,6 +143,8 @@ class SDL::Base::ServiceCompendium
101
143
  # Refer to the symbolic name of the current class, which can be a subclass of
102
144
  sym = fact_class.local_name.underscore.to_sym
103
145
 
146
+ # Extend the @service_methods module with methods retrieving the first or all
147
+ # instances of this fact, e.g. "service.features" would find all Feature facts
104
148
  @service_methods.class_eval do
105
149
  unless SDL::Base::Service.instance_methods.include? sym
106
150
  define_method sym do
@@ -122,10 +166,16 @@ class SDL::Base::ServiceCompendium
122
166
  receiver = SDL::Receivers::TypeReceiver.new(sym, self)
123
167
  receiver.klass.loaded_from = @current_uri
124
168
  receiver.instance_eval &type_definition if block_given?
125
- register_sdltype_codes(receiver.klass)
126
- register_sdltype(receiver.klass)
127
- @types << receiver.klass
128
- @type_instances[receiver.klass] = {}
169
+
170
+ @types.concat receiver.subclasses
171
+
172
+ receiver.subclasses.each do |klass|
173
+ klass.loaded_from = @current_uri
174
+ register_codes klass
175
+ register_sdltype klass
176
+ @type_instances[klass] = {}
177
+ end
178
+
129
179
  receiver.klass
130
180
  end
131
181
 
@@ -142,10 +192,17 @@ class SDL::Base::ServiceCompendium
142
192
  end
143
193
 
144
194
  ##
145
- # Registers an SDLSimpleType under its code
146
- def register_sdltype_codes(type)
195
+ # Registers an SDLSimpleType or SDLType under its code
196
+ # @param [Class] type The type to be registered.
197
+ def register_codes(type)
198
+ if type < SDL::Types::SDLSimpleType
199
+ type.codes.each do |c| @sdl_simple_type_codes[c] = type end
200
+ else
201
+ type.codes.each do |c| @type_codes[c] = type end
202
+ end
203
+
147
204
  type.codes.each do |code|
148
- @sdltype_codes[code] = type
205
+ @all_codes[code] = type
149
206
  end
150
207
  end
151
208
 
@@ -174,19 +231,46 @@ class SDL::Base::ServiceCompendium
174
231
  end
175
232
  end
176
233
 
234
+ ##
235
+ # Returns an iterator for all items, which were loaded by this compendium
236
+ def loaded_items
237
+ @fact_classes.each do |fact_class|
238
+ yield fact_class
239
+ end
240
+
241
+ @types.each do |type_class|
242
+ yield type_class
243
+ end
244
+
245
+ @type_instances.each do |type_class, instance_hash|
246
+ instance_hash.each do |symbol, instance|
247
+ yield instance
248
+ end
249
+ end
250
+
251
+ @services.each do |symbol, service|
252
+ yield service
253
+ end
254
+ end
255
+
177
256
  ##
178
257
  # Unloads all items with the specified uri from this service compendium
179
258
  def unload(uri)
259
+ @services.delete_if do |symbolic_name, service| service.loaded_from.eql?(uri) end
260
+
180
261
  @fact_classes.delete_if do |item| item.loaded_from.eql?(uri) end
181
- @types.delete_if do |item| item.loaded_from.eql?(uri) end
182
- @services.delete_if do |item| item.loaded_from.eql?(uri) end
183
262
 
184
- @type_instances.delete_if do |klass, klass_map|
185
- klass_map.delete_if do |symbol, type|
186
- type.loaded_from.eql? uri
187
- end
263
+ @types.delete_if do |item|
264
+ if item.loaded_from.eql?(uri) then
265
+ @type_instances.delete(item)
188
266
 
189
- klass.loaded_from.eql? uri
267
+ @all_codes.delete_if do |code, type| type.eql? item end
268
+ @type_codes.delete_if do |code, type| type.eql? item end
269
+
270
+ true
271
+ else
272
+ false
273
+ end
190
274
  end
191
275
  end
192
276
 
@@ -212,7 +296,7 @@ class SDL::Base::ServiceCompendium
212
296
  # Registers all default types
213
297
  def register_default_types
214
298
  SDL::Types::SDLSimpleType.descendants.each do |type|
215
- register_sdltype_codes type
299
+ register_codes type
216
300
  end
217
301
  end
218
302
  end
@@ -0,0 +1,9 @@
1
+ module SDL::Base::ServiceCompendium::LoadTransaction
2
+ def to_files_array(path_or_filename, suffix)
3
+ if File.file? path_or_filename
4
+ [path_or_filename]
5
+ elsif File.directory? path_or_filename
6
+ Dir.glob(File.join(path_or_filename, '**', "*#{suffix}"))
7
+ end
8
+ end
9
+ end
@@ -1,17 +1,24 @@
1
- # A transaction for loading vocabulary definition
2
- module SDL::Base::ServiceCompendium::ServiceLoadTransaction
3
- ##
4
- # Loads a service, either from a file or from a path recursively.
5
- #
6
- # Service definition files are expected to end with +.service.rb+
7
- # @param path_or_filename[String] Either a filename or a path
8
- def load_service_from_path(path_or_filename)
9
- path_or_filename = [path_or_filename] if File.file? path_or_filename
1
+ class SDL::Base::ServiceCompendium
2
+ # A transaction for loading vocabulary definition
3
+ module ServiceLoadTransaction
4
+ include LoadTransaction
10
5
 
11
- Dir.glob(File.join(path_or_filename, '**', '*.service.rb')) do |filename|
12
- service_name = filename.match(%r[.+/(.+).service.rb])[1]
6
+ ##
7
+ # Loads a service, either from a file or from a path recursively.
8
+ #
9
+ # Service definition files are expected to end with +.service.rb+
10
+ # @param path_or_filename[String] Either a filename or a path
11
+ # @param ignore_errors[Boolean] Ignore errors when loading service
12
+ def load_service_from_path(path_or_filename, ignore_errors = false)
13
+ to_files_array(path_or_filename, '.service.rb').each do |filename|
14
+ service_name = filename.match(%r[.+/(.+).service.rb])[1]
13
15
 
14
- load_service_from_string File.read(filename), service_name, filename
16
+ begin
17
+ load_service_from_string File.read(filename), service_name, filename
18
+ rescue Exception => e
19
+ raise e unless ignore_errors
20
+ end
21
+ end
15
22
  end
16
23
  end
17
24
 
@@ -22,14 +29,10 @@ module SDL::Base::ServiceCompendium::ServiceLoadTransaction
22
29
  # @param [String] uri The URI
23
30
  # @raise [SyntaxError] If there is an error in service_definition
24
31
  def load_service_from_string(service_definition, service_name, uri)
25
- begin
26
- with_uri uri do
27
- service service_name do
28
- eval service_definition, binding
29
- end
32
+ with_uri uri do
33
+ service service_name do
34
+ eval service_definition, binding, uri
30
35
  end
31
- rescue Exception => e
32
- raise SyntaxError.new("Error while loading '#{service_name}' from '#{uri}': #{e}")
33
36
  end
34
37
  end
35
38
  end
@@ -1,33 +1,35 @@
1
- # A transaction for loading vocabulary definition
2
- module SDL::Base::ServiceCompendium::VocabularyLoadTransaction
3
- ##
4
- # Loads vocabulary, either from a file or from a path recursively.
5
- #
6
- # Vocabulary definition files are expected to end with +.sdl.rb+
7
- # @param path_or_filename[String] Either a filename or a path
8
- def load_vocabulary_from_path(path_or_filename)
9
- path_or_filename = [path_or_filename] if File.file? path_or_filename
1
+ class SDL::Base::ServiceCompendium
2
+ # A transaction for loading vocabulary definition
3
+ module VocabularyLoadTransaction
4
+ include LoadTransaction
10
5
 
11
- Dir.glob(File.join(path_or_filename, '**', '*.sdl.rb')) do |filename|
12
- with_uri filename do
13
- load_vocabulary_from_string File.read(filename), filename
6
+ ##
7
+ # Loads vocabulary, either from a file or from a path recursively.
8
+ #
9
+ # Vocabulary definition files are expected to end with +.sdl.rb+
10
+ # @param path_or_filename[String] Either a filename or a path
11
+ def load_vocabulary_from_path(path_or_filename)
12
+ to_files_array(path_or_filename, '.sdl.rb').each do |filename|
13
+ with_uri filename do
14
+ load_vocabulary_from_string File.read(filename), filename
15
+ end
14
16
  end
15
17
  end
16
- end
17
18
 
18
- ##
19
- # Loads a vocabulary from a string. The URI is used with ServiceCompendium#with_uri.
20
- # @param [String] vocabulary_definition The vocabulary definition
21
- # @param [String] uri The URI
22
- def load_vocabulary_from_string(vocabulary_definition, uri)
23
- begin
24
- with_uri uri do
25
- eval vocabulary_definition, binding
26
- end
27
- rescue Exception => e
28
- unload uri
19
+ ##
20
+ # Loads a vocabulary from a string. The URI is used with ServiceCompendium#with_uri.
21
+ # @param [String] vocabulary_definition The vocabulary definition
22
+ # @param [String] uri The URI
23
+ def load_vocabulary_from_string(vocabulary_definition, uri)
24
+ begin
25
+ with_uri uri do
26
+ eval vocabulary_definition, binding
27
+ end
28
+ rescue Exception => e
29
+ unload uri
29
30
 
30
- raise "Error while loading vocabulary from #{uri}: #{e}"
31
+ raise "Error while loading vocabulary from #{uri}: #{e}"
32
+ end
31
33
  end
32
34
  end
33
35
  end
@@ -5,9 +5,11 @@ class SDL::Base::Type
5
5
  include SDL::Base::URIMappedResource
6
6
 
7
7
  # The namespace URL of this Type class
8
+ # !@attr [r] namespace
8
9
  attr_accessor :namespace
9
10
 
10
11
  # If the Type is a list item type
12
+ # !@attr [r] list_item
11
13
  attr_accessor :list_item
12
14
 
13
15
  ##
@@ -16,14 +18,27 @@ class SDL::Base::Type
16
18
  # The ServiceCompendium#register_classes_globally method makes this class accessible by a constant of this name
17
19
  @local_name
18
20
 
21
+ alias :original_name :name
22
+
23
+ def name
24
+ original_name || local_name
25
+ end
26
+
19
27
  def local_name
20
- @local_name || name.demodulize
28
+ @local_name || original_name.demodulize
21
29
  end
22
30
 
23
31
  def local_name=(name)
24
32
  @local_name = name
25
33
  end
26
34
 
35
+ # A list of all subtypes
36
+ # !@attr [r] subtypes
37
+ # @return [<Class>] The subtypes
38
+ def subtypes
39
+ @subtypes ||= []
40
+ end
41
+
27
42
  def to_s
28
43
  @local_name || name
29
44
  end
@@ -63,6 +78,10 @@ class SDL::Base::Type
63
78
  def is_sub?
64
79
  not [SDL::Base::Type, SDL::Base::Fact].include? superclass
65
80
  end
81
+
82
+ def sdl_ancestors
83
+ ancestors.drop(1).take_while {|ancestor| ! [SDL::Base::Type, SDL::Base::Fact, SDL::Types::SDLType].include? ancestor}
84
+ end
66
85
  end
67
86
 
68
87
  ##
@@ -1,5 +1,5 @@
1
1
  module SDL
2
2
  module NG
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.6"
4
4
  end
5
5
  end
@@ -11,16 +11,10 @@ class SDL::Receivers::ServiceReceiver < SDL::Receivers::Receiver
11
11
  @service = SDL::Base::Service.new(sym.to_s)
12
12
 
13
13
  compendium.fact_classes.each do |fact_class|
14
- define_singleton_method("is_#{fact_class.local_name.underscore.verb.conjugate(:tense => :past, :person => :third, :plurality => :singular, :aspect => :perfective)}") do |*args, &block|
15
- add_fact fact_class, *args, &block
16
- end
17
-
18
- define_singleton_method("has_#{fact_class.local_name.underscore}") do |*args, &block|
19
- add_fact fact_class, *args, &block
20
- end
21
-
22
- define_singleton_method("#{fact_class.local_name.underscore}") do |*args, &block|
23
- add_fact fact_class, *args, &block
14
+ fact_class.keywords.each do |keyword|
15
+ define_singleton_method keyword do |*args, &block|
16
+ add_fact fact_class, *args, &block
17
+ end
24
18
  end
25
19
  end
26
20
  end
@@ -48,12 +42,12 @@ class SDL::Receivers::ServiceReceiver < SDL::Receivers::Receiver
48
42
 
49
43
  unless possible_type_instances.nil? || possible_type_instances.empty?
50
44
  if possible_type_instances.length > 1
51
- raise Exception.new("Multiple possibilities for #{name} in #{caller[0]}")
45
+ raise Exception.new("Multiple possibilities for #{name}")
52
46
  else
53
47
  possible_type_instances[0]
54
48
  end
55
49
  else
56
- raise Exception.new("I do not know what to do with '#{name}' in #{caller[0]}")
50
+ raise Exception.new("I do not know what to do with '#{name}'")
57
51
  end
58
52
  end
59
53
  end
@@ -82,7 +82,7 @@ class SDL::Receivers::TypeInstanceReceiver < SDL::Receivers::Receiver
82
82
  unless possible_type_instances.nil? || possible_type_instances.empty?
83
83
  possible_type_instances[0]
84
84
  else
85
- raise Exception.new("I do not know what to do with '#{name}' in #{caller[0]}")
85
+ raise Exception.new("I do not know what to do with '#{name}'.")
86
86
  end
87
87
  end
88
88
  end
@@ -1,7 +1,14 @@
1
1
  class SDL::Receivers::TypeReceiver < SDL::Receivers::Receiver
2
2
  include ActiveSupport::Inflector
3
3
 
4
+ # The class for which the type receiver was instantiated
5
+ # !@attr [r] klass
6
+ # @return [Class]
4
7
  attr :klass
8
+
9
+ # The class and all subclasses
10
+ # !@attr [r] subclasses
11
+ # @return [Array<Class>]
5
12
  attr :subclasses
6
13
 
7
14
  def initialize(sym, compendium, superklass = nil)
@@ -31,6 +38,7 @@ class SDL::Receivers::TypeReceiver < SDL::Receivers::Receiver
31
38
  def subtype(sym, &definition)
32
39
  receiver = self.class.new(sym, @compendium, @klass)
33
40
  receiver.instance_eval(&definition) if block_given?
41
+ klass.subtypes << receiver.klass
34
42
 
35
43
  @subclasses.concat(receiver.subclasses)
36
44
  end
@@ -51,10 +59,10 @@ class SDL::Receivers::TypeReceiver < SDL::Receivers::Receiver
51
59
 
52
60
  if name =~ /list_of_/
53
61
  multi = true
54
- type = @compendium.sdltype_codes[name.to_s.gsub('list_of_', '').singularize.to_sym]
62
+ type = @compendium.all_codes[name.to_s.gsub('list_of_', '').singularize.to_sym]
55
63
  else
56
64
  multi = false
57
- type = @compendium.sdltype_codes[name.to_sym]
65
+ type = @compendium.all_codes[name.to_sym]
58
66
  end
59
67
 
60
68
  if type
@@ -3,26 +3,26 @@ require_relative 'spec_helper'
3
3
  require 'rspec'
4
4
 
5
5
  describe 'the bundled examples' do
6
- let :compendium do
7
- SDL::Base::ServiceCompendium.new
8
- end
6
+ it 'can be (un-)loaded and traces the load path of files' do
7
+ compendium = SDL::Base::ServiceCompendium.new
9
8
 
10
- let :loaded_compendium do
11
9
  expect {
12
10
  compendium.load_vocabulary_from_path File.join(__dir__, '..', 'examples', 'vocabulary')
13
11
  compendium.load_service_from_path File.join(__dir__, '..', 'examples', 'services')
14
12
  }.not_to raise_exception
15
13
 
16
- compendium
17
- end
14
+ items_to_unload = []
18
15
 
19
- it 'can be loaded' do
20
- expect { loaded_compendium }.not_to raise_exception
21
- end
16
+ compendium.loaded_items do |loaded_item|
17
+ expect(File.exists?(loaded_item.loaded_from))
18
+
19
+ items_to_unload << loaded_item
20
+ end
22
21
 
23
- it 'traces load path' do
24
- expected_path = File.join(__dir__, '..', 'examples', 'services', 'google_drive_for_business.service.rb')
22
+ items_to_unload.each do |loaded_item|
23
+ expect{compendium.unload(loaded_item.loaded_from)}.not_to raise_exception
24
+ end
25
25
 
26
- expect(loaded_compendium.services['google_drive_for_business'].loaded_from).to eq expected_path
26
+ expect(compendium).to be_empty
27
27
  end
28
28
  end
@@ -34,6 +34,10 @@ describe 'The service compendium' do
34
34
  expect(subject.types.first).to be < SDL::Base::Type
35
35
  end
36
36
 
37
+ it 'allows the definition of service subtypes' do
38
+ pending 'Not yet implemented'
39
+ end
40
+
37
41
  it 'allows the definition of services' do
38
42
  subject.service :example_service
39
43
 
@@ -137,7 +141,7 @@ END
137
141
  end
138
142
 
139
143
  it 'does not let double definitions of types and facts happen' do
140
- pending 'Not yet implemented'
144
+ pending
141
145
  end
142
146
 
143
147
  context 'with defined example classes' do
@@ -164,8 +168,8 @@ END
164
168
  compendium
165
169
  end
166
170
 
167
- it 'registers the code for the example type with its #sdltype_codes' do
168
- expect(subject.sdltype_codes[:example_type]).to be subject.types.first
171
+ it 'registers the code for the example type with its #all_codes' do
172
+ expect(subject.all_codes[:example_type]).to be subject.types.first
169
173
  end
170
174
  end
171
175
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdl-ng
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Slawik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-27 00:00:00.000000000 Z
11
+ date: 2014-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -234,6 +234,7 @@ files:
234
234
  - lib/sdl/base/property.rb
235
235
  - lib/sdl/base/service.rb
236
236
  - lib/sdl/base/service_compendium.rb
237
+ - lib/sdl/base/service_compendium/load_transaction.rb
237
238
  - lib/sdl/base/service_compendium/service_load_transaction.rb
238
239
  - lib/sdl/base/service_compendium/vocabulary_load_transaction.rb
239
240
  - lib/sdl/base/type.rb