rom-yaml 2.0.0.rc2 → 2.0.0

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
  SHA256:
3
- metadata.gz: 0db35321c0e4f8a0deea38c97b9a2933d194ecf89ccd33866039cf14dc4bcc20
4
- data.tar.gz: 061bad9881e18856539fdfa7e98f60ef4f641422759376566fb248dcdd0f4039
3
+ metadata.gz: b63ff9dddb8ef8002c507de08acd85f358b316faed57d7dfd5aeb6faf0d626be
4
+ data.tar.gz: a1402acd077bda7791a62fdb0f55336215eb1ce9144a75fde7ba17ddbce58db3
5
5
  SHA512:
6
- metadata.gz: 6d055c77a8c64379e1ec4c8500d0c9cc7fc5bef8b9f16048d7839bae94b2d3970dbba744abe3fc9977f7d00e32b6f77b771b457022d951a800b4ff99ec54c3d6
7
- data.tar.gz: 3dd87f092d10e04862e15f4d0727f703dce0b0ac6b72d45cc2ada9dba67f3ffd84366b0feac942e41a980e9f7caa15e3daa7263d75ae3eb9b457570d4b167565
6
+ metadata.gz: d5e45b39fe5a9f290e477841fe5b6d488d9452784e98c0d509467711058386ea0e13f502e78f5dc9c4e7e90deba6dc3c2479f566a14dd7f565386db11e59015c
7
+ data.tar.gz: af64f1e268319192d26b2cc4b2f502f6a0ad4214abff15d4faf5d7ba3959c274b993c2f1fab4981c1c7a737a8af23a690523cc264d2555da1156fffc270564c9
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
2
  --order random
3
+ --require ./spec/spec_helper.rb
@@ -1,6 +1,6 @@
1
- ## v2.0.0 to-be-released
1
+ ## v2.0.0 2019-04-22
2
2
 
3
- Updated to work with rom 4.0.0.
3
+ * Updated to work with rom ~> 4.1
4
4
 
5
5
  [Compare v1.0.1...v2.0.0](https://github.com/rom-rb/rom-yaml/compare/v1.0.1...v2.0.0)
6
6
 
@@ -10,7 +10,7 @@ module ROM
10
10
  #
11
11
  # @api private
12
12
  def self.row_proc
13
- Transforms[:hash_recursion, Transforms[:symbolize_keys]]
13
+ Transforms[:deep_symbolize_keys]
14
14
  end
15
15
  end
16
16
 
@@ -1,4 +1,5 @@
1
1
  require 'rom/memory'
2
+ require 'rom/yaml/schema'
2
3
 
3
4
  module ROM
4
5
  module YAML
@@ -7,6 +8,8 @@ module ROM
7
8
  # @api private
8
9
  class Relation < ROM::Memory::Relation
9
10
  adapter :yaml
11
+
12
+ schema_class YAML::Schema
10
13
  end
11
14
  end
12
15
  end
@@ -0,0 +1,12 @@
1
+ require 'rom/types'
2
+ require 'rom/schema'
3
+
4
+ module ROM
5
+ module YAML
6
+ # YAML relation schema
7
+ #
8
+ # @api public
9
+ class Schema < ROM::Schema
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  module ROM
2
2
  module YAML
3
- VERSION = '2.0.0.rc2'.freeze
3
+ VERSION = '2.0.0'.freeze
4
4
  end
5
5
  end
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_runtime_dependency 'rom-core', '~> 4.0'
21
+ spec.add_runtime_dependency 'rom-core', '~> 4.1'
22
22
 
23
23
  spec.add_development_dependency 'bundler'
24
24
  spec.add_development_dependency 'rake'
25
- spec.add_development_dependency 'rubocop', '~> 0.28.0'
25
+ spec.add_development_dependency 'rubocop', '~> 0.49.0'
26
26
  end
@@ -1,8 +1,3 @@
1
- require 'spec_helper'
2
-
3
- require 'rom/lint/spec'
4
- require 'rom/repository'
5
-
6
1
  RSpec.describe ROM::YAML do
7
2
  let(:configuration) do
8
3
  ROM::Configuration.new(:yaml, path)
@@ -24,59 +19,30 @@ RSpec.describe ROM::YAML do
24
19
  attribute :roles, ROM::Types::Array
25
20
  end
26
21
 
22
+ auto_struct true
23
+
27
24
  def by_name(name)
28
25
  restrict(name: name)
29
26
  end
30
27
  end
31
28
  end
32
29
 
33
- let(:user_mapper) do
34
- Class.new(ROM::Mapper) do
35
- relation :users
36
- register_as :entity
37
-
38
- model name: 'Test::User'
39
-
40
- attribute :name
41
- attribute :email
42
-
43
- embedded :roles, type: :array do
44
- attribute :name, from: 'role_name'
45
- end
46
- end
47
- end
48
-
49
30
  before do
50
31
  configuration.register_relation(users_relation)
51
- configuration.register_mapper(user_mapper)
52
32
  end
53
33
 
54
- describe 'env#relation' do
55
- it 'returns mapped object' do
56
- jane = rom.relations[:users].map_with(:entity).by_name('Jane').first
34
+ describe 'Relation#first' do
35
+ it 'returns mapped struct' do
36
+ jane = rom.relations[:users].by_name('Jane').first
57
37
 
58
38
  expect(jane.name).to eql('Jane')
59
39
  expect(jane.email).to eql('jane@doe.org')
60
40
  expect(jane.roles.length).to eql(2)
61
41
  expect(jane.roles).to eql([
62
- { name: 'Member' }, { name: 'Admin' }
42
+ { role_name: 'Member' }, { role_name: 'Admin' }
63
43
  ])
64
44
  end
65
45
  end
66
-
67
- describe 'with a repository' do
68
- let(:repo) do
69
- Class.new(ROM::Repository[:users]).new(rom)
70
- end
71
-
72
- it 'auto-maps to structs' do
73
- user = repo.users.first
74
-
75
- expect(user.name).to eql('Jane')
76
- expect(user.email).to eql('jane@doe.org')
77
- expect(user.roles.size).to be(2)
78
- end
79
- end
80
46
  end
81
47
 
82
48
  describe 'multi-file setup' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-yaml
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-21 00:00:00.000000000 Z
11
+ date: 2019-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rom-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '4.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.0'
26
+ version: '4.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.28.0
61
+ version: 0.49.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.28.0
68
+ version: 0.49.0
69
69
  description: YAML support for Ruby Object Mapper
70
70
  email:
71
71
  - piotr.solnica@gmail.com
@@ -88,6 +88,7 @@ files:
88
88
  - lib/rom/yaml/dataset.rb
89
89
  - lib/rom/yaml/gateway.rb
90
90
  - lib/rom/yaml/relation.rb
91
+ - lib/rom/yaml/schema.rb
91
92
  - lib/rom/yaml/version.rb
92
93
  - rakelib/rubocop.rake
93
94
  - rom-yaml.gemspec
@@ -113,12 +114,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
114
  version: '0'
114
115
  required_rubygems_version: !ruby/object:Gem::Requirement
115
116
  requirements:
116
- - - ">"
117
+ - - ">="
117
118
  - !ruby/object:Gem::Version
118
- version: 1.3.1
119
+ version: '0'
119
120
  requirements: []
120
- rubyforge_project:
121
- rubygems_version: 2.7.2
121
+ rubygems_version: 3.0.3
122
122
  signing_key:
123
123
  specification_version: 4
124
124
  summary: YAML support for Ruby Object Mapper