spira 3.1.0 → 3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ba7c397f10839515753ca0a13c380959560193a2
4
- data.tar.gz: b9feeb54d42235f5ab083febfd5f394c12cd8066
2
+ SHA256:
3
+ metadata.gz: 2de3fd45966cc8c2baff9f49b1e2c2e497365e6d7f990fdce4125bc22b9c052b
4
+ data.tar.gz: 2b3cd2d27357ec52e8c4e0beed5592394779959584d16aa45ec760a832a242da
5
5
  SHA512:
6
- metadata.gz: 1ecb09b4b0fa2e1b99f9d271a4d3c4000d9f6d9c5b591b7d7db08129ce225e253ea28964b5b923fc4f7e12a47dbca511e334fc3bf827d17578898f77b56586ef
7
- data.tar.gz: 78d84e1dcdf5097b097d26297951646eff2b10ab3c8f09f08cbf80aa989b9fb35abc53434dcd6e35575d160ff896eb11572ed70780d957e30c6b6ef2bf63c978
6
+ metadata.gz: da9fffd68d240d1051edceb46256cf1d0095d29e44c70057c435d92d8913ab8ef51798938556ce790d986edd08c27a2c65a787ba391f06308d531fbeac7c6e15
7
+ data.tar.gz: e19e1333efba7bf6a98bd1070e2898b92acd0cbc00ed102c88f9ead82c151d79fec9371235ee5d5bcb18c7e3026b99e84b460a37f3104f2bf32e91c8fd90ffb8
data/README.md CHANGED
@@ -20,12 +20,15 @@ A changelog is available in the {file:CHANGES.md} file.
20
20
  ### Example
21
21
 
22
22
  ```ruby
23
+ require 'spira'
24
+ require 'rdf/vocab'
25
+
23
26
  class Person < Spira::Base
24
27
 
25
- configure :base_uri => "http://example.org/example/people"
28
+ configure base_uri: "http://example.org/example/people"
26
29
 
27
- property :name, :predicate => RDF::Vocab::FOAF.name, :type => String
28
- property :age, :predicate => RDF::Vocab::FOAF.age, :type => Integer
30
+ property :name, predicate: RDF::Vocab::FOAF.name, type: String
31
+ property :age, predicate: RDF::Vocab::FOAF.age, type: Integer
29
32
 
30
33
  end
31
34
 
@@ -110,17 +113,18 @@ without the `RDF::` prefix. For example:
110
113
 
111
114
  ```ruby
112
115
  require 'spira'
116
+ require 'rdf/vocab'
113
117
 
114
118
  class CD < Spira::Base
115
- configure :base_uri => 'http://example.org/cds'
116
- property :name, :predicate => RDF::Vocab::DC.title, :type => XSD.string
117
- property :artist, :predicate => RDF::URI.new('http://example.org/vocab/artist'), :type => :artist
119
+ configure base_uri: 'http://example.org/cds'
120
+ property :name, predicate: RDF::Vocab::DC.title, type: XSD.string
121
+ property :artist, predicate: RDF::URI.new('http://example.org/vocab/artist'), type: :artist
118
122
  end
119
123
 
120
124
  class Artist < Spira::Base
121
- configure :base_uri => 'http://example.org/artists'
122
- property :name, :predicate => RDF::Vocab::DC.title, :type => XSD.string
123
- has_many :cds, :predicate => RDF::URI.new('http://example.org/vocab/published_cd'), :type => XSD.string
125
+ configure base_uri: 'http://example.org/artists'
126
+ property :name, predicate: RDF::Vocab::DC.title, type: XSD.string
127
+ has_many :cds, predicate: RDF::URI.new('http://example.org/vocab/published_cd'), type: XSD.string
124
128
  end
125
129
  ```
126
130
 
@@ -210,9 +214,12 @@ CD.for RDF::URI.new('http://example.org/cds/queens-greatest-hits')
210
214
  A class with a `type` set is assigned an `RDF.type` on creation and saving.
211
215
 
212
216
  ```ruby
217
+ require 'spira'
218
+ require 'rdf/vocab'
219
+
213
220
  class Album < Spira::Base
214
221
  type RDF::URI.new('http://example.org/types/album')
215
- property :name, :predicate => RDF::Vocab::DC.title
222
+ property :name, predicate: RDF::Vocab::DC.title
216
223
  end
217
224
 
218
225
  Spira.repository = RDF::Repository.new
@@ -263,10 +270,10 @@ A class with a `default_vocabulary` set will transparently create predicates for
263
270
 
264
271
  ```ruby
265
272
  class Song < Spira::Base
266
- configure :default_vocabulary => RDF::URI.new('http://example.org/vocab'),
267
- :base_uri => 'http://example.org/songs'
273
+ configure default_vocabulary: RDF::URI.new('http://example.org/vocab'),
274
+ base_uri: 'http://example.org/songs'
268
275
  property :title
269
- property :author, :type => :artist
276
+ property :author, type: :artist
270
277
  end
271
278
 
272
279
  Spira.repository = RDF::Repository.new
@@ -288,8 +295,8 @@ will always return a list, including an empty list for no value. All options
288
295
  for `property` work for `has_many`.
289
296
 
290
297
  ```ruby
291
- property :artist, :type => :artist #=> cd.artist returns a single value
292
- has_many :cds, :type => :cd #=> artist.cds returns an array
298
+ property :artist, type: :artist #=> cd.artist returns a single value
299
+ has_many :cds, type: :cd #=> artist.cds returns an array
293
300
  ```
294
301
 
295
302
  Property always takes a symbol name as a name, and a variable list of options. The supported options are:
@@ -308,7 +315,7 @@ properties having a single item, ie defined with `property`.
308
315
 
309
316
  ```ruby
310
317
  class Article < Spira::Base
311
- property :label, :localized => true
318
+ property :label, localized: true
312
319
  end
313
320
 
314
321
  Spira.repository = RDF::Repository.new
@@ -368,8 +375,8 @@ Classes can now use this particular type like so:
368
375
 
369
376
  ```ruby
370
377
  class Test < Spira::Base
371
- property :test1, :type => Integer
372
- property :test2, :type => RDF::XSD.integer
378
+ property :test1, type: Integer
379
+ property :test2, type: RDF::XSD.integer
373
380
  end
374
381
  ```
375
382
 
@@ -404,7 +411,7 @@ module MyModule
404
411
  end
405
412
 
406
413
  class MyClass < Spira::Base
407
- property :property1, :type => MyModule::MyType
414
+ property :property1, type: MyModule::MyType
408
415
  end
409
416
  ```
410
417
 
@@ -467,6 +474,10 @@ All model objects are fully-functional as `RDF::Enumerable`, `RDF::Queryable`,
467
474
  and `RDF::Mutable`. This lets you manipulate objects on the RDF statement
468
475
  level. You can also access attributes that are not defined as properties.
469
476
 
477
+ ## Documentation
478
+
479
+ <https://www.rubydoc.info/github/ruby-rdf/spira>
480
+
470
481
  ## Support
471
482
 
472
483
  There are a number of ways to ask for help. In declining order of preference:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.0
1
+ 3.1.1
@@ -3,6 +3,7 @@ require "rdf/ext/uri"
3
3
  require "promise"
4
4
  require "spira/exceptions"
5
5
  require "spira/utils"
6
+ require "rdf/vocab"
6
7
 
7
8
  ##
8
9
  # Spira is a framework for building projections of RDF data into Ruby classes.
@@ -93,7 +93,7 @@ module Spira
93
93
  end
94
94
 
95
95
  def instantiate_record(subj)
96
- new(:_subject => id_for(subj))
96
+ new(_subject: id_for(subj))
97
97
  end
98
98
 
99
99
  end # class methods
@@ -260,7 +260,7 @@ module Spira
260
260
  # @param [RDF::Resource] new_subject
261
261
  # @return [Spira::Base] copy
262
262
  def copy(new_subject)
263
- self.class.new(@attrs.merge(:_subject => new_subject))
263
+ self.class.new(@attrs.merge(_subject: new_subject))
264
264
  end
265
265
 
266
266
  ##
@@ -336,7 +336,7 @@ module Spira
336
336
  end
337
337
 
338
338
  def serialize_localized_property(value, locale)
339
- RDF::Literal.new(value, :language => locale)
339
+ RDF::Literal.new(value, language: locale)
340
340
  end
341
341
 
342
342
  def unserialize_localized_properties(values, locale)
@@ -352,7 +352,7 @@ module Spira
352
352
  end
353
353
 
354
354
  def serialize_hash_localized_properties(values)
355
- values.map { |lang, property| RDF::Literal.new(property, :language => lang) }
355
+ values.map { |lang, property| RDF::Literal.new(property, language: lang) }
356
356
  end
357
357
 
358
358
  # Build a Ruby value from an RDF value.
@@ -20,7 +20,7 @@ module Spira
20
20
  # @param [Hash] args
21
21
  # args can contain:
22
22
  # :conditions - Hash of properties and values
23
- # :limit - Fixnum, limiting the amount of returned records
23
+ # :limit - Integer, limiting the amount of returned records
24
24
  # @return [Spira::Base, Array]
25
25
  def find(scope, *args)
26
26
  case scope
@@ -73,7 +73,7 @@ module Spira
73
73
  # cannot handle such patterns, we iterate across types "manually"
74
74
  types.each do |tp|
75
75
  break if limit.zero?
76
- q = conditions_to_query(conditions.merge(:type => tp))
76
+ q = conditions_to_query(conditions.merge(type: tp))
77
77
  repository.query(q) do |solution|
78
78
  break if limit.zero?
79
79
  if offset.zero?
@@ -112,24 +112,24 @@ module Spira
112
112
  #
113
113
  # ==== Examples
114
114
  # # Create a single new object
115
- # User.create(:first_name => 'Jamie')
115
+ # User.create(first_name: 'Jamie')
116
116
  #
117
117
  # # Create a single new object using the :admin mass-assignment security role
118
- # User.create({ :first_name => 'Jamie', :is_admin => true }, :as => :admin)
118
+ # User.create({ first_name: 'Jamie', is_admin: true }, as: :admin)
119
119
  #
120
120
  # # Create a single new object bypassing mass-assignment security
121
- # User.create({ :first_name => 'Jamie', :is_admin => true }, :without_protection => true)
121
+ # User.create({ first_name: 'Jamie', is_admin: true }, without_protection: true)
122
122
  #
123
123
  # # Create an Array of new objects
124
- # User.create([{ :first_name => 'Jamie' }, { :first_name => 'Jeremy' }])
124
+ # User.create([{ first_name: 'Jamie' }, { first_name: 'Jeremy' }])
125
125
  #
126
126
  # # Create a single object and pass it into a block to set other attributes.
127
- # User.create(:first_name => 'Jamie') do |u|
127
+ # User.create(first_name: 'Jamie') do |u|
128
128
  # u.is_admin = false
129
129
  # end
130
130
  #
131
131
  # # Creating an Array of new objects using a block, where the block is executed for each object:
132
- # User.create([{ :first_name => 'Jamie' }, { :first_name => 'Jeremy' }]) do |u|
132
+ # User.create([{ first_name: 'Jamie' }, { first_name: 'Jeremy' }]) do |u|
133
133
  # u.is_admin = false
134
134
  # end
135
135
  def create(attributes = nil, options = {}, &block)
@@ -192,7 +192,7 @@ module Spira
192
192
  # @param [Hash{Symbol => Any}] attributes Initial attributes
193
193
  # @return [Spira::Base] the newly created instance
194
194
  def project(subject, attributes = {}, &block)
195
- new(attributes.merge(:_subject => subject), &block)
195
+ new(attributes.merge(_subject: subject), &block)
196
196
  end
197
197
 
198
198
  ##
@@ -342,7 +342,7 @@ module Spira
342
342
  # Update multiple attributes of this repository.
343
343
  #
344
344
  # @example Update multiple attributes
345
- # person.update_attributes(:name => 'test', :age => 10)
345
+ # person.update_attributes(name: 'test', age: 10)
346
346
  # #=> person
347
347
  # person.name
348
348
  # #=> 'test'
@@ -366,7 +366,7 @@ module Spira
366
366
  # NB: "props" argument is ignored, it is handled in Base
367
367
  #
368
368
  def reload(props = {})
369
- sts = self.class.repository.query(:subject => subject)
369
+ sts = self.class.repository.query({subject: subject})
370
370
  self.class.properties.each do |name, options|
371
371
  name = name.to_s
372
372
  if sts
@@ -15,8 +15,8 @@ module Spira
15
15
  #
16
16
  def configure(options = {})
17
17
  singleton_class.class_eval do
18
- { :base_uri => options[:base_uri],
19
- :default_vocabulary => options[:default_vocabulary]
18
+ { base_uri: options[:base_uri],
19
+ default_vocabulary: options[:default_vocabulary]
20
20
  }.each do |name, value|
21
21
  # redefine reader methods only when required,
22
22
  # otherwise, use the ancestor methods
@@ -61,11 +61,11 @@ module Spira
61
61
  # represents an RDF predicate.
62
62
  #
63
63
  # @example A simple string property
64
- # property :name, :predicate => RDF::Vocab::FOAF.name, :type => String
64
+ # property :name, predicate: RDF::Vocab::FOAF.name, type: String
65
65
  # @example A property which defaults to {Spira::Types::Any}
66
- # property :name, :predicate => RDF::Vocab::FOAF.name
66
+ # property :name, predicate: RDF::Vocab::FOAF.name
67
67
  # @example An integer property
68
- # property :age, :predicate => RDF::Vocab::FOAF.age, :type => Integer
68
+ # property :age, predicate: RDF::Vocab::FOAF.age, type: Integer
69
69
  # @param [Symbol] name The name of this property
70
70
  # @param [Hash{Symbol => Any}] opts property options
71
71
  # @option opts [RDF::URI] :predicate The RDF predicate which will refer to this property
@@ -81,12 +81,12 @@ module Spira
81
81
  if opts.delete(:localized)
82
82
  raise 'Only Spira::Types::Any properties can accept the :localized option' unless type_for(opts[:type]) == Spira::Types::Any
83
83
  define_localized_property_methods(name, opts)
84
- has_many "#{name}_native", opts.merge(:type => Spira::Types::Native)
84
+ has_many "#{name}_native", opts.merge(type: Spira::Types::Native)
85
85
  else
86
86
  unset_has_many(name)
87
87
  predicate = predicate_for(opts[:predicate], name)
88
88
  type = type_for(opts[:type])
89
- properties[name] = HashWithIndifferentAccess.new(:predicate => predicate, :type => type)
89
+ properties[name] = HashWithIndifferentAccess.new(predicate: predicate, type: type)
90
90
 
91
91
  define_attribute_method name
92
92
  define_method "#{name}=" do |arg|
@@ -26,8 +26,8 @@ module Spira
26
26
  # Spira by default. It allows either of the following forms to declare an
27
27
  # integer property on a Spira resource:
28
28
  #
29
- # property :age, :predicate => RDF::Vocab::FOAF.age, :type => Integer
30
- # property :age, :predicate => RDF::Vocab::FOAF.age, :type => RDF::XSD.integer
29
+ # property :age, predicate: RDF::Vocab::FOAF.age, type: Integer
30
+ # property :age, predicate: RDF::Vocab::FOAF.age, type: RDF::XSD.integer
31
31
  #
32
32
  # `Spira::Type`s include the RDF namespace and thus have all of the base RDF
33
33
  # vocabularies available to them without the `RDF::` prefix.
@@ -18,7 +18,7 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.anyURI)
21
+ RDF::Literal.new(value, datatype: XSD.anyURI)
22
22
  end
23
23
 
24
24
  register_alias RDF::XSD.anyURI
@@ -19,9 +19,9 @@ module Spira::Types
19
19
 
20
20
  def self.serialize(value)
21
21
  if value
22
- RDF::Literal.new(true, :datatype => RDF::XSD.boolean)
22
+ RDF::Literal.new(true, datatype: RDF::XSD.boolean)
23
23
  else
24
- RDF::Literal.new(false, :datatype => RDF::XSD.boolean)
24
+ RDF::Literal.new(false, datatype: RDF::XSD.boolean)
25
25
  end
26
26
  end
27
27
 
@@ -17,10 +17,10 @@ module Spira::Types
17
17
  end
18
18
 
19
19
  def self.serialize(value)
20
- RDF::Literal.new(value, :datatype => XSD.date)
20
+ RDF::Literal.new(value, datatype: XSD.date)
21
21
  end
22
22
 
23
- register_alias XSD.date
23
+ register_alias RDF::XSD.date
24
24
 
25
25
  end
26
26
  end
@@ -17,10 +17,10 @@ module Spira::Types
17
17
  end
18
18
 
19
19
  def self.serialize(value)
20
- RDF::Literal.new(value, :datatype => XSD.dateTime)
20
+ RDF::Literal.new(value, datatype: XSD.dateTime)
21
21
  end
22
22
 
23
- register_alias XSD.dateTime
23
+ register_alias RDF::XSD.dateTime
24
24
 
25
25
  end
26
26
  end
@@ -20,7 +20,7 @@ module Spira::Types
20
20
  end
21
21
 
22
22
  def self.serialize(value)
23
- RDF::Literal.new(value.is_a?(BigDecimal) ? value.to_s('F') : value.to_s, :datatype => RDF::XSD.decimal)
23
+ RDF::Literal.new(value.is_a?(BigDecimal) ? value.to_s('F') : value.to_s, datatype: RDF::XSD.decimal)
24
24
  end
25
25
 
26
26
  register_alias RDF::XSD.decimal
@@ -18,7 +18,7 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value.to_f, :datatype => RDF::XSD.double)
21
+ RDF::Literal.new(value.to_f, datatype: RDF::XSD.double)
22
22
  end
23
23
 
24
24
  register_alias RDF::XSD.double
@@ -18,7 +18,7 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value.to_f, :datatype => RDF::XSD.float)
21
+ RDF::Literal.new(value.to_f, datatype: RDF::XSD.float)
22
22
  end
23
23
 
24
24
  register_alias RDF::XSD.float
@@ -17,10 +17,10 @@ module Spira::Types
17
17
  end
18
18
 
19
19
  def self.serialize(value)
20
- RDF::Literal.new(value, :datatype => XSD.gYear)
20
+ RDF::Literal.new(value, datatype: XSD.gYear)
21
21
  end
22
22
 
23
- register_alias XSD.gYear
23
+ register_alias RDF::XSD.gYear
24
24
 
25
25
  end
26
26
  end
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.int)
21
+ RDF::Literal.new(value, datatype: XSD.int)
22
22
  end
23
23
 
24
- register_alias XSD.int
24
+ register_alias RDF::XSD.int
25
25
 
26
26
  end
27
27
  end
@@ -18,7 +18,7 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.integer)
21
+ RDF::Literal.new(value, datatype: XSD.integer)
22
22
  end
23
23
 
24
24
  register_alias RDF::XSD.integer
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.long)
21
+ RDF::Literal.new(value, datatype: XSD.long)
22
22
  end
23
23
 
24
- register_alias XSD.long
24
+ register_alias RDF::XSD.long
25
25
 
26
26
  end
27
27
  end
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.negativeInteger)
21
+ RDF::Literal.new(value, datatype: XSD.negativeInteger)
22
22
  end
23
23
 
24
- register_alias XSD.negativeInteger
24
+ register_alias RDF::XSD.negativeInteger
25
25
 
26
26
  end
27
27
  end
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.nonNegativeInteger)
21
+ RDF::Literal.new(value, datatype: XSD.nonNegativeInteger)
22
22
  end
23
23
 
24
- register_alias XSD.nonNegativeInteger
24
+ register_alias RDF::XSD.nonNegativeInteger
25
25
 
26
26
  end
27
27
  end
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.nonPositiveInteger)
21
+ RDF::Literal.new(value, datatype: XSD.nonPositiveInteger)
22
22
  end
23
23
 
24
- register_alias XSD.nonPositiveInteger
24
+ register_alias RDF::XSD.nonPositiveInteger
25
25
 
26
26
  end
27
27
  end
@@ -18,10 +18,10 @@ module Spira::Types
18
18
  end
19
19
 
20
20
  def self.serialize(value)
21
- RDF::Literal.new(value, :datatype => XSD.positiveInteger)
21
+ RDF::Literal.new(value, datatype: XSD.positiveInteger)
22
22
  end
23
23
 
24
- register_alias XSD.positiveInteger
24
+ register_alias RDF::XSD.positiveInteger
25
25
 
26
26
  end
27
27
  end
@@ -17,10 +17,10 @@ module Spira::Types
17
17
  end
18
18
 
19
19
  def self.serialize(value)
20
- RDF::Literal.new(value, :datatype => XSD.time)
20
+ RDF::Literal.new(value, datatype: XSD.time)
21
21
  end
22
22
 
23
- register_alias XSD.time
23
+ register_alias RDF::XSD.time
24
24
 
25
25
  end
26
26
  end
@@ -23,11 +23,11 @@ module RDF
23
23
  # @return [self]
24
24
  def rename!(old_subject, new_subject)
25
25
  transaction(mutable: true) do |tx|
26
- query(subject: old_subject) do |statement|
26
+ query({subject: old_subject}) do |statement|
27
27
  tx.insert RDF::Statement.new(new_subject, statement.predicate, statement.object)
28
28
  tx.delete(statement)
29
29
  end
30
- query(object: old_subject) do |statement|
30
+ query({object: old_subject}) do |statement|
31
31
  tx.insert RDF::Statement.new(statement.subject, statement.predicate, new_subject)
32
32
  tx.delete(statement)
33
33
  end
@@ -6,7 +6,7 @@ module Spira
6
6
  #
7
7
  # begin
8
8
  # complex_operation_that_calls_save!_internally
9
- # rescue Spira::RecordInvalid => invalid
9
+ # rescue Spira:RecordInvalid: invalid
10
10
  # puts invalid.record.errors
11
11
  # end
12
12
  class RecordInvalid < SpiraError
@@ -15,7 +15,7 @@ module Spira
15
15
  @record = record
16
16
  errors = @record.errors.full_messages.join(", ")
17
17
  # TODO: use I18n later
18
- # super(I18n.t("activerecord.errors.messages.record_invalid", :errors => errors))
18
+ # super(I18n.t("activerecord.errors.messages.record_invalid", errors: errors))
19
19
  super "invalid record"
20
20
  end
21
21
  end
@@ -39,7 +39,7 @@ module Spira
39
39
  end
40
40
  end
41
41
 
42
- # The validation process on save can be skipped by passing <tt>:validate => false</tt>. The regular Base#save method is
42
+ # The validation process on save can be skipped by passing <tt>validate: false</tt>. The regular Base#save method is
43
43
  # replaced with this when the validations module is mixed in, which it is by default.
44
44
  def save(options={})
45
45
  perform_validations(options) ? super : false
@@ -17,7 +17,7 @@ module Spira
17
17
  end
18
18
 
19
19
  def validate_each(record, attribute, value)
20
- @klass.find_each(:conditions => {attribute => value}) do |other_record|
20
+ @klass.find_each(conditions: {attribute => value}) do |other_record|
21
21
  if other_record.subject != record.subject
22
22
  record.errors.add(attribute, "is already taken")
23
23
  break
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spira
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Lavender
8
8
  autorequire:
9
- bindir:
10
- - bin
9
+ bindir: bin
11
10
  cert_chain: []
12
- date: 2018-07-12 00:00:00.000000000 Z
11
+ date: 2019-12-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rdf
@@ -17,28 +16,28 @@ dependencies:
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
- version: '3.0'
19
+ version: '3.1'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - "~>"
26
25
  - !ruby/object:Gem::Version
27
- version: '3.0'
26
+ version: '3.1'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: rdf-isomorphic
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - "~>"
33
32
  - !ruby/object:Gem::Version
34
- version: '3.0'
33
+ version: '3.1'
35
34
  type: :runtime
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
38
  - - "~>"
40
39
  - !ruby/object:Gem::Version
41
- version: '3.0'
40
+ version: '3.1'
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: promise
44
43
  requirement: !ruby/object:Gem::Requirement
@@ -59,112 +58,112 @@ dependencies:
59
58
  requirements:
60
59
  - - "~>"
61
60
  - !ruby/object:Gem::Version
62
- version: '5.1'
61
+ version: '5.0'
63
62
  type: :runtime
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - "~>"
68
67
  - !ruby/object:Gem::Version
69
- version: '5.1'
68
+ version: '5.0'
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: activesupport
72
71
  requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
73
  - - "~>"
75
74
  - !ruby/object:Gem::Version
76
- version: '5.1'
75
+ version: '5.0'
77
76
  type: :runtime
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
80
  - - "~>"
82
81
  - !ruby/object:Gem::Version
83
- version: '5.1'
82
+ version: '5.0'
84
83
  - !ruby/object:Gem::Dependency
85
84
  name: rdf-spec
86
85
  requirement: !ruby/object:Gem::Requirement
87
86
  requirements:
88
87
  - - "~>"
89
88
  - !ruby/object:Gem::Version
90
- version: '3.0'
89
+ version: '3.1'
91
90
  type: :development
92
91
  prerelease: false
93
92
  version_requirements: !ruby/object:Gem::Requirement
94
93
  requirements:
95
94
  - - "~>"
96
95
  - !ruby/object:Gem::Version
97
- version: '3.0'
96
+ version: '3.1'
98
97
  - !ruby/object:Gem::Dependency
99
98
  name: rdf-turtle
100
99
  requirement: !ruby/object:Gem::Requirement
101
100
  requirements:
102
101
  - - "~>"
103
102
  - !ruby/object:Gem::Version
104
- version: '3.0'
103
+ version: '3.1'
105
104
  type: :development
106
105
  prerelease: false
107
106
  version_requirements: !ruby/object:Gem::Requirement
108
107
  requirements:
109
108
  - - "~>"
110
109
  - !ruby/object:Gem::Version
111
- version: '3.0'
110
+ version: '3.1'
112
111
  - !ruby/object:Gem::Dependency
113
112
  name: rdf-vocab
114
113
  requirement: !ruby/object:Gem::Requirement
115
114
  requirements:
116
115
  - - "~>"
117
116
  - !ruby/object:Gem::Version
118
- version: '3.0'
117
+ version: '3.1'
119
118
  type: :development
120
119
  prerelease: false
121
120
  version_requirements: !ruby/object:Gem::Requirement
122
121
  requirements:
123
122
  - - "~>"
124
123
  - !ruby/object:Gem::Version
125
- version: '3.0'
124
+ version: '3.1'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: rspec
128
127
  requirement: !ruby/object:Gem::Requirement
129
128
  requirements:
130
129
  - - "~>"
131
130
  - !ruby/object:Gem::Version
132
- version: '3.7'
131
+ version: '3.9'
133
132
  type: :development
134
133
  prerelease: false
135
134
  version_requirements: !ruby/object:Gem::Requirement
136
135
  requirements:
137
136
  - - "~>"
138
137
  - !ruby/object:Gem::Version
139
- version: '3.7'
138
+ version: '3.9'
140
139
  - !ruby/object:Gem::Dependency
141
140
  name: rspec-its
142
141
  requirement: !ruby/object:Gem::Requirement
143
142
  requirements:
144
143
  - - "~>"
145
144
  - !ruby/object:Gem::Version
146
- version: '1.2'
145
+ version: '1.3'
147
146
  type: :development
148
147
  prerelease: false
149
148
  version_requirements: !ruby/object:Gem::Requirement
150
149
  requirements:
151
150
  - - "~>"
152
151
  - !ruby/object:Gem::Version
153
- version: '1.2'
152
+ version: '1.3'
154
153
  - !ruby/object:Gem::Dependency
155
154
  name: yard
156
155
  requirement: !ruby/object:Gem::Requirement
157
156
  requirements:
158
157
  - - "~>"
159
158
  - !ruby/object:Gem::Version
160
- version: 0.9.12
159
+ version: 0.9.20
161
160
  type: :development
162
161
  prerelease: false
163
162
  version_requirements: !ruby/object:Gem::Requirement
164
163
  requirements:
165
164
  - - "~>"
166
165
  - !ruby/object:Gem::Version
167
- version: 0.9.12
166
+ version: 0.9.20
168
167
  description: Spira is a framework for using the information in RDF.rb repositories
169
168
  as model objects.
170
169
  email: blavender@gmail.com
@@ -214,7 +213,7 @@ files:
214
213
  - lib/spira/version.rb
215
214
  homepage: http://ruby-rdf.github.io/spira/
216
215
  licenses:
217
- - Public Domain
216
+ - Unlicense
218
217
  metadata: {}
219
218
  post_install_message:
220
219
  rdoc_options: []
@@ -224,15 +223,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
224
223
  requirements:
225
224
  - - ">="
226
225
  - !ruby/object:Gem::Version
227
- version: 2.2.2
226
+ version: '2.4'
228
227
  required_rubygems_version: !ruby/object:Gem::Requirement
229
228
  requirements:
230
229
  - - ">="
231
230
  - !ruby/object:Gem::Version
232
231
  version: '0'
233
232
  requirements: []
234
- rubyforge_project: spira
235
- rubygems_version: 2.6.14.1
233
+ rubygems_version: 3.0.6
236
234
  signing_key:
237
235
  specification_version: 4
238
236
  summary: A framework for using the information in RDF.rb repositories as model objects.