active-triples 1.1.0 → 1.1.1

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
- SHA1:
3
- metadata.gz: 550bad738fa73662ac83c8e3e352f7067f0339d2
4
- data.tar.gz: 0d0fd4a1dfe4e2ef3b86ee54d8cb7b353a9d904e
2
+ SHA256:
3
+ metadata.gz: b0ff972e1b4c29224d95c3b805194625adb62bd2e0b2f8e6bc10dce62fb048d0
4
+ data.tar.gz: b53c8cc0662587141709428bd6bb4aa522ddd24387d1b10807202c23a1e66554
5
5
  SHA512:
6
- metadata.gz: 8c3d54cc99e550e9ad43b87399c6193f430ab9330c790eb36bd246c5dd63c1d16fc1ce23f71db2d3b41dea494106e59e9ba7b74d827e6d05ded76b9d0a62129d
7
- data.tar.gz: 0fbddfdec5678fc535816dcb47be0fb1a40bec5ef8e1e207311c9fc72a674c2e257bc0288b9e1ba53b84f570b1c6fac9a5cfd95d394c02b8db4ba1735fa4c49c
6
+ metadata.gz: 1cb53a7845d93423d84bdac4fa82b6470f28867ee5cf8c4bc04f8ba5a3046cc3b6c6f34f8ef2a04aa211c880a7c55700e68cbfc3a73729382a5e4409933b4dd6
7
+ data.tar.gz: 279c0e2236bf9ad69aefc7e8e3e41e697431b8b103e548cc75b0985eeac1237e598f5fe89da71f9e4d86bad92bec84d4ab94b51c1a0798eb149021b0068d350f
@@ -0,0 +1,47 @@
1
+ .rspec:
2
+ script:
3
+ - bundle exec rspec
4
+
5
+ .jruby:
6
+ extends: .rspec
7
+ before_script:
8
+ - apk add git
9
+ - ruby -v
10
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
11
+
12
+ before_script:
13
+ - ruby -v
14
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
15
+
16
+ stages:
17
+ - test
18
+
19
+ ruby-2-4:
20
+ image: ruby:2.4
21
+ extends: .rspec
22
+ stage: test
23
+
24
+ ruby-2-5:
25
+ image: ruby:2.4
26
+ extends: .rspec
27
+ stage: test
28
+
29
+ ruby-2-6:
30
+ image: ruby:2.5
31
+ extends: .rspec
32
+ stage: test
33
+
34
+ ruby-2-7:
35
+ image: ruby:2.6
36
+ extends: .rspec
37
+ stage: test
38
+
39
+ ruby-latest:
40
+ image: ruby:latest
41
+ extends: .rspec
42
+ stage: test
43
+
44
+ jruby-9:
45
+ image: jruby:9-alpine
46
+ extends: .jruby
47
+ stage: test
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ 1.1.1
2
+ ----
3
+ - Major performance improvements due to a minor change in how
4
+ properties are resolved.
5
+
1
6
  1.1.0
2
7
  ----
3
8
  - Add support for RDF.rb 3.0
data/Gemfile CHANGED
@@ -2,5 +2,12 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- gem 'activesupport', '< 5.0.0' if RUBY_VERSION =~ /2\.1\..*/
6
5
  gem 'pry-byebug' unless ENV["CI"]
6
+
7
+ group :test do
8
+ gem 'rdf-spec', github: 'ruby-rdf/rdf-spec', branch: 'develop'
9
+ gem 'simplecov', require: false
10
+ end
11
+
12
+ Encoding.default_external = Encoding::UTF_8
13
+ Encoding.default_internal = Encoding::UTF_8
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  Description
2
2
  -----------
3
3
 
4
- [![Build Status](https://travis-ci.org/ActiveTriples/ActiveTriples.png?branch=develop)](https://travis-ci.org/ActiveTriples/ActiveTriples)
5
- [![Coverage Status](https://coveralls.io/repos/ActiveTriples/ActiveTriples/badge.svg?branch=develop)](https://coveralls.io/r/ActiveTriples/ActiveTriples?branch=develop)
4
+ [![Pipeline Status](https://gitlab.com/no_reply/ActiveTriples/badges/develop/pipeline.svg)](https://gitlab.com/no_reply/ActiveTriples/commits/develop)
5
+ [![Coverage Report](https://gitlab.com/no_reply/ActiveTriples/badges/develop/coverage.svg)](https://gitlab.com/no_reply/ActiveTriples/commits/develop)
6
6
  [![Gem Version](https://badge.fury.io/rb/active-triples.svg)](http://badge.fury.io/rb/active-triples)
7
7
 
8
8
  An ActiveModel-like interface for RDF data. Models graphs as RDFSources with property/attribute configuration, accessors, and other methods to support Linked Data in a Ruby/Rails enviornment. See [RDF Concepts and Abstract Syntax](http://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#change-over-time) for an informal definition of an RDF Source.
@@ -27,9 +27,9 @@ require 'rdf/vocab'
27
27
 
28
28
  class Thing
29
29
  include ActiveTriples::RDFSource
30
-
30
+
31
31
  configure type: RDF::OWL.Thing, base_uri: 'http://example.org/things#'
32
-
32
+
33
33
  property :title, predicate: RDF::Vocab::DC.title
34
34
  property :description, predicate: RDF::Vocab::DC.description
35
35
  end
@@ -48,10 +48,10 @@ Thing.property :creator, predicate: RDF::Vocab::DC.creator, class_name: 'Person'
48
48
 
49
49
  class Person
50
50
  include ActiveTriples::RDFSource
51
-
51
+
52
52
  configure type: RDF::Vocab::FOAF.Person,
53
53
  base_uri: 'http://example.org/people#'
54
-
54
+
55
55
  property :name, predicate: RDF::Vocab::FOAF.name
56
56
  end
57
57
 
@@ -171,7 +171,7 @@ ActiveTriples::Repositories.add_repository :people, RDF::Repository.new
171
171
 
172
172
  class Person
173
173
  include ActiveTriples::RDFSource
174
-
174
+
175
175
  configure type: RDF::Vocab::FOAF.Person,
176
176
  base_uri: 'http://example.org/people#',
177
177
  repository: :people
@@ -184,7 +184,7 @@ class Thing
184
184
  configure type: RDF::OWL.Thing,
185
185
  base_uri: 'http://example.org/things#',
186
186
  repository: :default
187
-
187
+
188
188
  property :title, predicate: RDF::Vocab::DC.title
189
189
  property :description, predicate: RDF::Vocab::DC.description
190
190
  property :creator, predicate: RDF::Vocab::DC.creator, class_name: 'Person'
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = ActiveTriples::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Tom Johnson", "Trey Terrell"]
10
- s.homepage = 'https://github.com/ActiveTriples/ActiveTriples'
10
+ s.homepage = 'https://gitlab.com/no_reply/ActiveTriples'
11
11
  s.email = 'tom@curationexperts.com'
12
12
  s.summary = %q{RDF graphs in ActiveModel wrappers.}
13
13
  s.description = %q{ActiveTriples provides tools for modeling RDF as discrete resources.}
@@ -123,26 +123,26 @@ module ActiveTriples
123
123
  # @param [Hash] opts for this property, must include a :predicate
124
124
  # @yield [index] index sets solr behaviors for the property
125
125
  #
126
- # @return [Hash{String=>ActiveTriples::NodeConfig}] the full current
126
+ # @return [Hash{String=>ActiveTriples::NodeConfig}] the full current
127
127
  # property configuration for the class
128
128
  def property(name, opts={}, &block)
129
- raise ArgumentError, "#{name} is a keyword and not an acceptable property name." if protected_property_name? name
129
+ raise ArgumentError, "#{name} is a keyword and not an acceptable property name." if protected_property_name?(name.to_sym)
130
130
  reflection = PropertyBuilder.build(self, name, opts, &block)
131
131
  Reflection.add_reflection self, name, reflection
132
132
  end
133
133
 
134
134
  ##
135
- # Checks potential property names for conflicts with existing class
136
- # instance methods. We avoid setting properties with these names to
135
+ # Checks potential property names for conflicts with existing class
136
+ # instance methods. We avoid setting properties with these names to
137
137
  # prevent catastrophic method overwriting.
138
138
  #
139
139
  # @param [Symblol] name A potential property name.
140
- # @return [Boolean] true if the given name matches an existing instance
140
+ # @return [Boolean] true if the given name matches an existing instance
141
141
  # method which is not an ActiveTriples property.
142
142
  def protected_property_name?(name)
143
- reject = self.instance_methods.map! { |s| s.to_s.gsub(/=$/, '').to_sym }
144
- reject -= properties.keys.map { |k| k.to_sym }
145
- reject.include? name
143
+ return false if fields.include?(name)
144
+ return true if instance_methods.include?(name) || instance_methods.include?("#{name}=".to_sym)
145
+ false
146
146
  end
147
147
 
148
148
  ##
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveTriples
3
- VERSION = '1.1.0'.freeze
3
+ VERSION = '1.1.1'.freeze
4
4
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'coveralls'
3
- Coveralls.wear!
2
+ require 'simplecov'
3
+ SimpleCov.start
4
4
 
5
5
  require 'bundler/setup'
6
6
  Bundler.setup
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-triples
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Johnson
8
8
  - Trey Terrell
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-28 00:00:00.000000000 Z
12
+ date: 2020-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdf
@@ -261,6 +261,7 @@ extra_rdoc_files:
261
261
  files:
262
262
  - ".coveralls.yml"
263
263
  - ".gitignore"
264
+ - ".gitlab-ci.yml"
264
265
  - ".travis.yml"
265
266
  - AUTHORS
266
267
  - CHANGES.md
@@ -328,17 +329,16 @@ files:
328
329
  - spec/integration/dummies/dummy_resource_b.rb
329
330
  - spec/integration/parent_persistence_spec.rb
330
331
  - spec/integration/reciprocal_properties_spec.rb
331
- - spec/pragmatic_context_spec.rb
332
332
  - spec/spec_helper.rb
333
333
  - spec/support/active_model_lint.rb
334
334
  - spec/support/dummies/basic_persistable.rb
335
335
  - spec/support/matchers.rb
336
336
  - spec/support/shared_examples/persistence_strategy.rb
337
- homepage: https://github.com/ActiveTriples/ActiveTriples
337
+ homepage: https://gitlab.com/no_reply/ActiveTriples
338
338
  licenses:
339
339
  - Apache-2.0
340
340
  metadata: {}
341
- post_install_message:
341
+ post_install_message:
342
342
  rdoc_options: []
343
343
  require_paths:
344
344
  - lib
@@ -353,9 +353,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
353
353
  - !ruby/object:Gem::Version
354
354
  version: '0'
355
355
  requirements: []
356
- rubyforge_project:
357
- rubygems_version: 2.6.13
358
- signing_key:
356
+ rubygems_version: 3.1.2
357
+ signing_key:
359
358
  specification_version: 4
360
359
  summary: RDF graphs in ActiveModel wrappers.
361
360
  test_files: []
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
- require 'pragmatic_context'
4
-
5
- describe 'PragmaticContext integration' do
6
- before do
7
- class DummyLicense
8
- include ActiveTriples::RDFSource
9
- include PragmaticContext::Contextualizable
10
- property :title, :predicate => RDF::Vocab::DC.title
11
-
12
- contextualize :title, :as => RDF::Vocab::DC.title.to_s
13
- end
14
-
15
- class DummyResource
16
- include ActiveTriples::RDFSource
17
- include PragmaticContext::Contextualizable
18
-
19
- configure :type => RDF::URI('http://example.org/SomeClass')
20
- property :license, :predicate => RDF::Vocab::DC.license,
21
- :class_name => DummyLicense
22
- property :title, :predicate => RDF::Vocab::DC.title
23
-
24
- contextualize :title, :as => RDF::Vocab::DC.title.to_s
25
- contextualize :license, :as => RDF::Vocab::DC.license.to_s
26
- end
27
-
28
- license.title = 'cc'
29
- subject.title = 'my resource'
30
- subject.license = license
31
- subject.license << RDF::Literal('Creative Commons')
32
- end
33
-
34
- after do
35
- Object.send(:remove_const, "DummyResource")
36
- Object.send(:remove_const, "DummyLicense")
37
- end
38
-
39
- subject { DummyResource.new('http://example.org/test') }
40
- let(:license) { DummyLicense.new }
41
-
42
- xit 'should output a valid jsonld representation of itself' do
43
- g = RDF::Graph.new << JSON::LD::API.toRdf(subject.as_jsonld)
44
- expect(subject == g).to be true
45
- end
46
-
47
- it 'should have contexts' do
48
- expect(subject.as_jsonld['@context'].keys).to contain_exactly('license', 'title')
49
- end
50
-
51
- it 'should use context with dump' do
52
- context = JSON.parse(subject.dump :jsonld)['@context']
53
- subject.class.properties.keys.each do |prop|
54
- expect(context).to include prop
55
- end
56
- end
57
- end