hanami-model 1.2.0 → 1.3.3
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 +4 -4
- data/CHANGELOG.md +21 -0
- data/LICENSE.md +1 -1
- data/README.md +10 -7
- data/hanami-model.gemspec +25 -20
- data/lib/hanami-model.rb +3 -1
- data/lib/hanami/entity.rb +6 -3
- data/lib/hanami/entity/schema.rb +10 -7
- data/lib/hanami/model.rb +15 -12
- data/lib/hanami/model/association.rb +7 -7
- data/lib/hanami/model/associations/belongs_to.rb +3 -1
- data/lib/hanami/model/associations/dsl.rb +2 -2
- data/lib/hanami/model/associations/has_many.rb +10 -8
- data/lib/hanami/model/associations/has_one.rb +9 -7
- data/lib/hanami/model/associations/many_to_many.rb +9 -11
- data/lib/hanami/model/configuration.rb +29 -10
- data/lib/hanami/model/configurator.rb +5 -3
- data/lib/hanami/model/entity_name.rb +4 -2
- data/lib/hanami/model/error.rb +18 -7
- data/lib/hanami/model/mapped_relation.rb +4 -2
- data/lib/hanami/model/mapping.rb +3 -1
- data/lib/hanami/model/migration.rb +2 -0
- data/lib/hanami/model/migrator.rb +7 -5
- data/lib/hanami/model/migrator/adapter.rb +14 -12
- data/lib/hanami/model/migrator/connection.rb +16 -9
- data/lib/hanami/model/migrator/logger.rb +3 -1
- data/lib/hanami/model/migrator/mysql_adapter.rb +23 -13
- data/lib/hanami/model/migrator/postgres_adapter.rb +31 -31
- data/lib/hanami/model/migrator/sqlite_adapter.rb +7 -9
- data/lib/hanami/model/plugins.rb +5 -3
- data/lib/hanami/model/plugins/mapping.rb +2 -0
- data/lib/hanami/model/plugins/schema.rb +2 -0
- data/lib/hanami/model/plugins/timestamps.rb +3 -0
- data/lib/hanami/model/relation_name.rb +4 -2
- data/lib/hanami/model/sql.rb +9 -7
- data/lib/hanami/model/sql/console.rb +10 -8
- data/lib/hanami/model/sql/consoles/abstract.rb +3 -1
- data/lib/hanami/model/sql/consoles/mysql.rb +4 -2
- data/lib/hanami/model/sql/consoles/postgresql.rb +10 -8
- data/lib/hanami/model/sql/consoles/sqlite.rb +6 -4
- data/lib/hanami/model/sql/entity/schema.rb +6 -4
- data/lib/hanami/model/sql/types.rb +27 -27
- data/lib/hanami/model/sql/types/schema/coercions.rb +5 -4
- data/lib/hanami/model/types.rb +4 -4
- data/lib/hanami/model/version.rb +3 -1
- data/lib/hanami/repository.rb +20 -31
- metadata +64 -8
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "abstract"
|
|
4
|
+
require "shellwords"
|
|
3
5
|
|
|
4
6
|
module Hanami
|
|
5
7
|
module Model
|
|
@@ -12,12 +14,12 @@ module Hanami
|
|
|
12
14
|
class Sqlite < Abstract
|
|
13
15
|
# @since 0.7.0
|
|
14
16
|
# @api private
|
|
15
|
-
COMMAND =
|
|
17
|
+
COMMAND = "sqlite3"
|
|
16
18
|
|
|
17
19
|
# @since 0.7.0
|
|
18
20
|
# @api private
|
|
19
21
|
def connection_string
|
|
20
|
-
concat(command,
|
|
22
|
+
concat(command, " ", host, database)
|
|
21
23
|
end
|
|
22
24
|
|
|
23
25
|
private
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "hanami/entity/schema"
|
|
4
|
+
require "hanami/model/types"
|
|
5
|
+
require "hanami/model/association"
|
|
4
6
|
|
|
5
7
|
module Hanami
|
|
6
8
|
module Model
|
|
@@ -52,7 +54,7 @@ module Hanami
|
|
|
52
54
|
|
|
53
55
|
# @since 1.0.1
|
|
54
56
|
# @api private
|
|
55
|
-
|
|
57
|
+
alias_method :[], :call
|
|
56
58
|
|
|
57
59
|
# Check if the attribute is known
|
|
58
60
|
#
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "hanami/model/types"
|
|
4
|
+
require "rom/types"
|
|
3
5
|
|
|
4
6
|
module Hanami
|
|
5
7
|
module Model
|
|
@@ -14,7 +16,7 @@ module Hanami
|
|
|
14
16
|
#
|
|
15
17
|
# @since 0.7.0
|
|
16
18
|
module Schema
|
|
17
|
-
require
|
|
19
|
+
require "hanami/model/sql/types/schema/coercions"
|
|
18
20
|
|
|
19
21
|
String = Types::Optional::Coercible::String
|
|
20
22
|
|
|
@@ -36,26 +38,26 @@ module Hanami
|
|
|
36
38
|
# @since 0.7.0
|
|
37
39
|
# @api private
|
|
38
40
|
MAPPING = {
|
|
39
|
-
Types::String.pristine
|
|
40
|
-
Types::Int.pristine
|
|
41
|
-
Types::Float.pristine
|
|
42
|
-
Types::Decimal.pristine
|
|
43
|
-
Types::Bool.pristine
|
|
44
|
-
Types::Date.pristine
|
|
45
|
-
Types::DateTime.pristine
|
|
46
|
-
Types::Time.pristine
|
|
47
|
-
Types::Array.pristine
|
|
48
|
-
Types::Hash.pristine
|
|
49
|
-
Types::String.optional.pristine
|
|
50
|
-
Types::Int.optional.pristine
|
|
51
|
-
Types::Float.optional.pristine
|
|
52
|
-
Types::Decimal.optional.pristine
|
|
53
|
-
Types::Bool.optional.pristine
|
|
54
|
-
Types::Date.optional.pristine
|
|
41
|
+
Types::String.pristine => Schema::String,
|
|
42
|
+
Types::Int.pristine => Schema::Int,
|
|
43
|
+
Types::Float.pristine => Schema::Float,
|
|
44
|
+
Types::Decimal.pristine => Schema::Decimal,
|
|
45
|
+
Types::Bool.pristine => Schema::Bool,
|
|
46
|
+
Types::Date.pristine => Schema::Date,
|
|
47
|
+
Types::DateTime.pristine => Schema::DateTime,
|
|
48
|
+
Types::Time.pristine => Schema::Time,
|
|
49
|
+
Types::Array.pristine => Schema::Array,
|
|
50
|
+
Types::Hash.pristine => Schema::Hash,
|
|
51
|
+
Types::String.optional.pristine => Schema::String,
|
|
52
|
+
Types::Int.optional.pristine => Schema::Int,
|
|
53
|
+
Types::Float.optional.pristine => Schema::Float,
|
|
54
|
+
Types::Decimal.optional.pristine => Schema::Decimal,
|
|
55
|
+
Types::Bool.optional.pristine => Schema::Bool,
|
|
56
|
+
Types::Date.optional.pristine => Schema::Date,
|
|
55
57
|
Types::DateTime.optional.pristine => Schema::DateTime,
|
|
56
|
-
Types::Time.optional.pristine
|
|
57
|
-
Types::Array.optional.pristine
|
|
58
|
-
Types::Hash.optional.pristine
|
|
58
|
+
Types::Time.optional.pristine => Schema::Time,
|
|
59
|
+
Types::Array.optional.pristine => Schema::Array,
|
|
60
|
+
Types::Hash.optional.pristine => Schema::Hash
|
|
59
61
|
}.freeze
|
|
60
62
|
|
|
61
63
|
# Convert given type into coercible
|
|
@@ -86,17 +88,15 @@ module Hanami
|
|
|
86
88
|
# @api private
|
|
87
89
|
def self.pg_json_pristines
|
|
88
90
|
@pg_json_pristines ||= ::Hash.new do |hash, type|
|
|
89
|
-
hash[type] = if defined?(ROM::SQL::Types::PG)
|
|
90
|
-
ROM::SQL::Types::PG.const_get(type).pristine
|
|
91
|
-
end
|
|
91
|
+
hash[type] = (ROM::SQL::Types::PG.const_get(type).pristine if defined?(ROM::SQL::Types::PG))
|
|
92
92
|
end
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
# @since 1.0.2
|
|
96
96
|
# @api private
|
|
97
97
|
def self.pg_json?(pristine)
|
|
98
|
-
pristine == pg_json_pristines[
|
|
99
|
-
pristine == pg_json_pristines[
|
|
98
|
+
pristine == pg_json_pristines["JSONB"] || # rubocop:disable Style/MultipleComparison
|
|
99
|
+
pristine == pg_json_pristines["JSON"]
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
private_class_method :pg_json?
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "hanami/utils/string"
|
|
4
|
+
require "hanami/utils/hash"
|
|
3
5
|
|
|
4
6
|
module Hanami
|
|
5
7
|
module Model
|
|
@@ -12,7 +14,6 @@ module Hanami
|
|
|
12
14
|
# @api private
|
|
13
15
|
#
|
|
14
16
|
# rubocop:disable Metrics/ModuleLength
|
|
15
|
-
# rubocop:disable Metrics/MethodLength
|
|
16
17
|
module Coercions
|
|
17
18
|
# Coerces given argument into Integer
|
|
18
19
|
#
|
|
@@ -215,7 +216,7 @@ module Hanami
|
|
|
215
216
|
end
|
|
216
217
|
end
|
|
217
218
|
end
|
|
218
|
-
|
|
219
|
+
|
|
219
220
|
# rubocop:enable Metrics/ModuleLength
|
|
220
221
|
end
|
|
221
222
|
end
|
data/lib/hanami/model/types.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rom/types"
|
|
2
4
|
|
|
3
5
|
module Hanami
|
|
4
6
|
module Model
|
|
@@ -17,7 +19,6 @@ module Hanami
|
|
|
17
19
|
# Class level interface
|
|
18
20
|
#
|
|
19
21
|
# @since 0.7.0
|
|
20
|
-
# rubocop:disable Naming/MethodName
|
|
21
22
|
module ClassMethods
|
|
22
23
|
# Define an entity of the given type
|
|
23
24
|
#
|
|
@@ -77,7 +78,6 @@ module Hanami
|
|
|
77
78
|
Types::Array.member(type)
|
|
78
79
|
end
|
|
79
80
|
end
|
|
80
|
-
# rubocop:enable Naming/MethodName
|
|
81
81
|
|
|
82
82
|
# Types for schema definitions
|
|
83
83
|
#
|
|
@@ -101,7 +101,7 @@ module Hanami
|
|
|
101
101
|
def call(value)
|
|
102
102
|
return if value.nil?
|
|
103
103
|
|
|
104
|
-
if valid?(value)
|
|
104
|
+
if valid?(value)
|
|
105
105
|
coerce(value)
|
|
106
106
|
else
|
|
107
107
|
raise TypeError.new("#{value.inspect} must be coercible into #{object}")
|
data/lib/hanami/model/version.rb
CHANGED
data/lib/hanami/repository.rb
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rom-repository"
|
|
4
|
+
require "hanami/model/entity_name"
|
|
5
|
+
require "hanami/model/relation_name"
|
|
6
|
+
require "hanami/model/mapped_relation"
|
|
7
|
+
require "hanami/model/associations/dsl"
|
|
8
|
+
require "hanami/model/association"
|
|
9
|
+
require "hanami/utils/class"
|
|
10
|
+
require "hanami/utils/class_attribute"
|
|
11
|
+
require "hanami/utils/io"
|
|
10
12
|
|
|
11
13
|
module Hanami
|
|
12
14
|
# Mediates between the entities and the persistence layer, by offering an API
|
|
@@ -107,7 +109,7 @@ module Hanami
|
|
|
107
109
|
# @see Hanami::Entity
|
|
108
110
|
# @see http://martinfowler.com/eaaCatalog/repository.html
|
|
109
111
|
# @see http://en.wikipedia.org/wiki/Dependency_inversion_principle
|
|
110
|
-
class Repository < ROM::Repository::Root
|
|
112
|
+
class Repository < ROM::Repository::Root
|
|
111
113
|
# Plugins for database commands
|
|
112
114
|
#
|
|
113
115
|
# @since 0.7.0
|
|
@@ -155,7 +157,6 @@ module Hanami
|
|
|
155
157
|
def command(*args, **opts, &block)
|
|
156
158
|
opts[:use] = COMMAND_PLUGINS | Array(opts[:use])
|
|
157
159
|
opts[:mapper] = opts.fetch(:mapper, Model::MappedRelation.mapper_name)
|
|
158
|
-
|
|
159
160
|
super(*args, **opts, &block)
|
|
160
161
|
end
|
|
161
162
|
|
|
@@ -167,8 +168,6 @@ module Hanami
|
|
|
167
168
|
# @since 0.7.0
|
|
168
169
|
# @api private
|
|
169
170
|
#
|
|
170
|
-
# rubocop:disable Metrics/MethodLength
|
|
171
|
-
# rubocop:disable Metrics/AbcSize
|
|
172
171
|
def self.define_relation
|
|
173
172
|
a = @associations
|
|
174
173
|
s = @schema
|
|
@@ -191,8 +190,6 @@ module Hanami
|
|
|
191
190
|
end
|
|
192
191
|
}, __FILE__, __LINE__ - 4
|
|
193
192
|
end
|
|
194
|
-
# rubocop:enable Metrics/AbcSize
|
|
195
|
-
# rubocop:enable Metrics/MethodLength
|
|
196
193
|
|
|
197
194
|
# Defines the mapping between a database table and an entity.
|
|
198
195
|
#
|
|
@@ -201,8 +198,6 @@ module Hanami
|
|
|
201
198
|
# @since 0.7.0
|
|
202
199
|
# @api private
|
|
203
200
|
#
|
|
204
|
-
# rubocop:disable Metrics/MethodLength
|
|
205
|
-
# rubocop:disable Metrics/AbcSize
|
|
206
201
|
def self.define_mapping
|
|
207
202
|
self.entity = Utils::Class.load!(entity_name)
|
|
208
203
|
e = entity
|
|
@@ -219,8 +214,6 @@ module Hanami
|
|
|
219
214
|
configuration.define_mappings(root, &blk)
|
|
220
215
|
configuration.register_entity(relation, entity_name.underscore, e)
|
|
221
216
|
end
|
|
222
|
-
# rubocop:enable Metrics/AbcSize
|
|
223
|
-
# rubocop:enable Metrics/MethodLength
|
|
224
217
|
|
|
225
218
|
# It defines associations, by adding relations to the repository
|
|
226
219
|
#
|
|
@@ -302,8 +295,6 @@ module Hanami
|
|
|
302
295
|
# @since 0.7.0
|
|
303
296
|
# @api private
|
|
304
297
|
#
|
|
305
|
-
# rubocop:disable Metrics/MethodLength
|
|
306
|
-
# rubocop:disable Metrics/AbcSize
|
|
307
298
|
def self.inherited(klass)
|
|
308
299
|
klass.class_eval do
|
|
309
300
|
include Utils::ClassAttribute
|
|
@@ -332,8 +323,6 @@ module Hanami
|
|
|
332
323
|
|
|
333
324
|
Hanami::Model.repositories << klass
|
|
334
325
|
end
|
|
335
|
-
# rubocop:enable Metrics/AbcSize
|
|
336
|
-
# rubocop:enable Metrics/MethodLength
|
|
337
326
|
|
|
338
327
|
# Extend commands from ROM::Repository with error management
|
|
339
328
|
#
|
|
@@ -358,8 +347,8 @@ module Hanami
|
|
|
358
347
|
# entity.id # => nil - It doesn't mutate original entity
|
|
359
348
|
def create(*args)
|
|
360
349
|
super
|
|
361
|
-
rescue =>
|
|
362
|
-
raise Hanami::Model::Error.for(
|
|
350
|
+
rescue => exception
|
|
351
|
+
raise Hanami::Model::Error.for(exception)
|
|
363
352
|
end
|
|
364
353
|
|
|
365
354
|
# Update a record
|
|
@@ -387,8 +376,8 @@ module Hanami
|
|
|
387
376
|
# entity.id # => nil - It doesn't mutate original entity
|
|
388
377
|
def update(*args)
|
|
389
378
|
super
|
|
390
|
-
rescue =>
|
|
391
|
-
raise Hanami::Model::Error.for(
|
|
379
|
+
rescue => exception
|
|
380
|
+
raise Hanami::Model::Error.for(exception)
|
|
392
381
|
end
|
|
393
382
|
|
|
394
383
|
# Delete a record
|
|
@@ -406,8 +395,8 @@ module Hanami
|
|
|
406
395
|
# user = repository.delete(user.id)
|
|
407
396
|
def delete(*args)
|
|
408
397
|
super
|
|
409
|
-
rescue =>
|
|
410
|
-
raise Hanami::Model::Error.for(
|
|
398
|
+
rescue => exception
|
|
399
|
+
raise Hanami::Model::Error.for(exception)
|
|
411
400
|
end
|
|
412
401
|
end
|
|
413
402
|
|
|
@@ -436,8 +425,8 @@ module Hanami
|
|
|
436
425
|
# user = repository.find(user.id)
|
|
437
426
|
def find(id)
|
|
438
427
|
root.by_pk(id).as(:entity).one
|
|
439
|
-
rescue =>
|
|
440
|
-
raise Hanami::Model::Error.for(
|
|
428
|
+
rescue => exception
|
|
429
|
+
raise Hanami::Model::Error.for(exception)
|
|
441
430
|
end
|
|
442
431
|
|
|
443
432
|
# Return all the records for the relation
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hanami-model
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Luca Guidi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-05-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: hanami-utils
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.3'
|
|
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: '1.
|
|
26
|
+
version: '1.3'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rom
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -92,6 +92,26 @@ dependencies:
|
|
|
92
92
|
- - "~>"
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
94
|
version: 0.11.0
|
|
95
|
+
- !ruby/object:Gem::Dependency
|
|
96
|
+
name: dry-logic
|
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
|
98
|
+
requirements:
|
|
99
|
+
- - "~>"
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: 0.4.2
|
|
102
|
+
- - "<"
|
|
103
|
+
- !ruby/object:Gem::Version
|
|
104
|
+
version: '0.5'
|
|
105
|
+
type: :runtime
|
|
106
|
+
prerelease: false
|
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
108
|
+
requirements:
|
|
109
|
+
- - "~>"
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: 0.4.2
|
|
112
|
+
- - "<"
|
|
113
|
+
- !ruby/object:Gem::Version
|
|
114
|
+
version: '0.5'
|
|
95
115
|
- !ruby/object:Gem::Dependency
|
|
96
116
|
name: concurrent-ruby
|
|
97
117
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,20 +126,40 @@ dependencies:
|
|
|
106
126
|
- - "~>"
|
|
107
127
|
- !ruby/object:Gem::Version
|
|
108
128
|
version: '1.0'
|
|
129
|
+
- !ruby/object:Gem::Dependency
|
|
130
|
+
name: bigdecimal
|
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
|
132
|
+
requirements:
|
|
133
|
+
- - "~>"
|
|
134
|
+
- !ruby/object:Gem::Version
|
|
135
|
+
version: '1.4'
|
|
136
|
+
type: :runtime
|
|
137
|
+
prerelease: false
|
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
139
|
+
requirements:
|
|
140
|
+
- - "~>"
|
|
141
|
+
- !ruby/object:Gem::Version
|
|
142
|
+
version: '1.4'
|
|
109
143
|
- !ruby/object:Gem::Dependency
|
|
110
144
|
name: bundler
|
|
111
145
|
requirement: !ruby/object:Gem::Requirement
|
|
112
146
|
requirements:
|
|
113
147
|
- - ">="
|
|
114
148
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: '
|
|
149
|
+
version: '1.6'
|
|
150
|
+
- - "<"
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '3'
|
|
116
153
|
type: :development
|
|
117
154
|
prerelease: false
|
|
118
155
|
version_requirements: !ruby/object:Gem::Requirement
|
|
119
156
|
requirements:
|
|
120
157
|
- - ">="
|
|
121
158
|
- !ruby/object:Gem::Version
|
|
122
|
-
version: '
|
|
159
|
+
version: '1.6'
|
|
160
|
+
- - "<"
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '3'
|
|
123
163
|
- !ruby/object:Gem::Dependency
|
|
124
164
|
name: rake
|
|
125
165
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -148,6 +188,20 @@ dependencies:
|
|
|
148
188
|
- - "~>"
|
|
149
189
|
- !ruby/object:Gem::Version
|
|
150
190
|
version: '3.7'
|
|
191
|
+
- !ruby/object:Gem::Dependency
|
|
192
|
+
name: rubocop
|
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
|
194
|
+
requirements:
|
|
195
|
+
- - '='
|
|
196
|
+
- !ruby/object:Gem::Version
|
|
197
|
+
version: '0.81'
|
|
198
|
+
type: :development
|
|
199
|
+
prerelease: false
|
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
+
requirements:
|
|
202
|
+
- - '='
|
|
203
|
+
- !ruby/object:Gem::Version
|
|
204
|
+
version: '0.81'
|
|
151
205
|
description: A persistence framework with entities and repositories
|
|
152
206
|
email:
|
|
153
207
|
- me@lucaguidi.com
|
|
@@ -213,14 +267,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
213
267
|
- - ">="
|
|
214
268
|
- !ruby/object:Gem::Version
|
|
215
269
|
version: 2.3.0
|
|
270
|
+
- - "<"
|
|
271
|
+
- !ruby/object:Gem::Version
|
|
272
|
+
version: '3'
|
|
216
273
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
274
|
requirements:
|
|
218
275
|
- - ">="
|
|
219
276
|
- !ruby/object:Gem::Version
|
|
220
277
|
version: '0'
|
|
221
278
|
requirements: []
|
|
222
|
-
|
|
223
|
-
rubygems_version: 2.7.6
|
|
279
|
+
rubygems_version: 3.2.2
|
|
224
280
|
signing_key:
|
|
225
281
|
specification_version: 4
|
|
226
282
|
summary: A persistence layer for Hanami
|