rom-rails 0.8.0 → 0.9.0.beta1

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: c71af912d846495ada02031cada0f862e572ae3a
4
- data.tar.gz: f4a68403dd222af657cbea87ab6531be66f27191
3
+ metadata.gz: 8007e09944a10d2fb2f652bb08c5885cd79d61a6
4
+ data.tar.gz: 8320458f6c6a7c4289236bc3a0a493996d0d4e5a
5
5
  SHA512:
6
- metadata.gz: 28d19550136b0bf857f3728edfe5a374426f9612d719cb37ffbf63868f7673af93cdeb837fea2a34e70861ea532942f720a72740d0cdad680060cc475a75fff7
7
- data.tar.gz: 12c820a8f0ffdb019fc53dba13f6f90f573e2cff9bc7a04b7361ee48ee906fd45b6d485611373dde921df2e48200bab14a5b1595576081a719ecb119b1bd4e67
6
+ metadata.gz: 3444eab0ee0087fa9ce52a46b26ced93b3b6c5541417b3c570503b451eea42ae89db3f73680a277de8ef36d21cf8419228dcea6b56fdd0995773eb9cc9575541
7
+ data.tar.gz: 8a916b3534bf0a59b21087a6a60f2cb7f076694d63f4faad70fa6779e5edb19b6745a41c1328d92bd15c36cb151f569da6a0193437961f240559015a3b683169
data/CHANGELOG.md CHANGED
@@ -1,29 +1,43 @@
1
+ ## v0.9.0 to-be-released
2
+
3
+ ### Added
4
+
5
+ * Add `rom-repository` generator (fmartin91)
6
+
7
+ ### Changed
8
+
9
+ * Updated to work with ROM 3.0.beta (maximderbin, cflipse)
10
+ * Command generators now produce a flat directory structure (cflipse)
11
+ * Dropped runtime dependency on `virtus` (bilby91)
12
+ * Updated generators to remove validatior hints (cflipse)
13
+ * Updated generators to provide before hook hints, rather than override `execute` (cflipse)
14
+
1
15
  ## v0.8.0 2016-08-08
2
16
  ### Changed
3
17
 
4
- - Updated to work with Rails 5 (cflipse)
5
- - Form validations are now handled entirely within form (cflipse)
6
- - [Rails5] when applicable, parmeters are converted to unsafe hash (cflipse)
18
+ * Updated to work with Rails 5 (cflipse)
19
+ * Form validations are now handled entirely within form (cflipse)
20
+ * [Rails5] when applicable, parmeters are converted to unsafe hash (cflipse)
7
21
 
8
22
  ### Deprecated
9
- - Dropping support for ruby 2.1 and below
23
+ * Dropping support for ruby 2.1 and below
10
24
 
11
25
  ## v0.7.0 2016-07-27
12
26
 
13
27
  ### Changed
14
- - Updated to work with rom 2.0
15
- - Loosen Gem dependencies for Rails 4.2
16
- - Allow multiple auto_registration paths (vbyno)
28
+ * Updated to work with rom 2.0
29
+ * Loosen Gem dependencies for Rails 4.2
30
+ * Allow multiple auto_registration paths (vbyno)
17
31
 
18
32
  [Compare v0.6.0...v0.7.0](https://github.com/rom-rb/rom-rails/compare/v0.6.0...v0.7.0)
19
33
 
20
34
  ### Fixed
21
- - Fixed generated mapper's `register_as` (duduribeiro)
35
+ * Fixed generated mapper's `register_as` (duduribeiro)
22
36
 
23
37
  ## v0.6.0 2016-01-06
24
38
 
25
39
  ### Changed
26
- - Updated to work with new ROM configuration API.
40
+ * Updated to work with new ROM configuration API.
27
41
 
28
42
  [Compare v0.5.0...v0.6.0](https://github.com/rom-rb/rom-rails/compare/v0.5.0...v0.6.0)
29
43
 
@@ -31,13 +45,13 @@
31
45
 
32
46
  ### Changed
33
47
 
34
- - Raise a helpful error when trying to use uniqueness validation without a relation (xaviershay)
35
- - Switched to extracted rom-model (solnic)
36
- - Updated to work with ROM 0.9.0 (solnic)
48
+ * Raise a helpful error when trying to use uniqueness validation without a relation (xaviershay)
49
+ * Switched to extracted rom-model (solnic)
50
+ * Updated to work with ROM 0.9.0 (solnic)
37
51
 
38
52
  ### Fixed
39
53
 
40
- - Setting connectin URI for jruby that needs jdbc adapter (austinthecoder)
54
+ * Setting connectin URI for jruby that needs jdbc adapter (austinthecoder)
41
55
 
42
56
  [Compare v0.4.0...v0.5.0](https://github.com/rom-rb/rom-rails/compare/v0.4.0...v0.5.0)
43
57
 
data/Gemfile CHANGED
@@ -10,8 +10,11 @@ end
10
10
 
11
11
  gem 'sqlite3', platforms: [:mri, :rbx]
12
12
  gem 'byebug', platforms: :mri
13
- gem 'rom-sql', '~> 0.8'
13
+ gem 'rom', github: 'rom-rb/rom', branch: 'master'
14
+ gem 'rom-sql', github: 'rom-rb/rom-sql', branch: 'master'
14
15
  gem 'rom-model', github: 'rom-rb/rom-model', branch: 'master'
16
+ gem 'rom-repository', github: 'rom-rb/rom-repository', branch: 'master'
17
+ gem 'rom-mapper', github: 'rom-rb/rom-mapper', branch: 'master'
15
18
 
16
19
  platforms :jruby do
17
20
  gem 'jdbc-sqlite3'
data/README.md CHANGED
@@ -17,11 +17,17 @@
17
17
  Rails integration for [Ruby Object Mapper](https://github.com/rom-rb/rom) which
18
18
  ships with:
19
19
 
20
- * Params sanitizer/coercer extension
21
- * Validation extension based on `ActiveModel`
22
20
  * Relation generators
23
21
  * Mapper generators
24
22
  * Command generators
23
+ * Repository generators
24
+
25
+ You may also want to look at [ROM Model](https://github.com/rom-rb/rom-model)
26
+ which includes:
27
+
28
+ * Params sanitizer/coercer extension
29
+ * Validation extension based on `ActiveModel`
30
+
25
31
 
26
32
  ## Tests
27
33
 
@@ -1,10 +1,13 @@
1
- module <%= model_name %>Commands
2
- class Create < ROM::Commands::Create<%= "[:#{adapter}]" %>
3
- relation :<%= relation %>
4
- register_as :create
5
- result :one
1
+ class Create<%= model_name %> < ROM::Commands::Create<%= "[:#{adapter}]" %>
2
+ relation :<%= relation %>
3
+ register_as :create
4
+ result :one
6
5
 
7
- # define a validator to use
8
- # validator <%= model_name %>Validator
9
- end
6
+ # Modify input data before committing it.
7
+ # before :timestamp
8
+
9
+ # def timestamp(tuple)
10
+ # time = Time.current
11
+ # tuple.merge(created_at: time, updated_at: time)
12
+ # end
10
13
  end
@@ -1,7 +1,6 @@
1
- module <%= model_name %>Commands
2
- class Delete < ROM::Commands::Delete<%= "[:#{adapter}]" %>
3
- relation :<%= relation %>
4
- register_as :delete
5
- result :one
6
- end
1
+ class Delete<%= model_name %> < ROM::Commands::Delete<%= "[:#{adapter}]" %>
2
+ relation :<%= relation %>
3
+ register_as :delete
4
+ result :one
5
+
7
6
  end
@@ -1,10 +1,13 @@
1
- module <%= model_name %>Commands
2
- class Update < ROM::Commands::Update<%= "[:#{adapter}]" %>
3
- relation :<%= relation %>
4
- register_as :update
5
- result :one
1
+ class Update<%= model_name %> < ROM::Commands::Update<%= "[:#{adapter}]" %>
2
+ relation :<%= relation %>
3
+ register_as :update
4
+ result :one
6
5
 
7
- # define a validator to use
8
- # validator <%= model_name %>Validator
9
- end
6
+ # Modify input data before committing it.
7
+ # before :timestamp
8
+
9
+ # def timestamp(tuple)
10
+ # time = Time.current
11
+ # tuple.merge(created_at: time)
12
+ # end
10
13
  end
@@ -23,11 +23,7 @@ module ROM
23
23
  private
24
24
 
25
25
  def command_file(command)
26
- File.join('app', 'commands', command_dir, "#{command}.rb")
27
- end
28
-
29
- def command_dir
30
- "#{class_name.downcase.singularize}_commands"
26
+ File.join('app', 'commands', "#{command}_#{model_name.downcase}.rb")
31
27
  end
32
28
 
33
29
  def relation
@@ -0,0 +1,3 @@
1
+ class <%= model_name %>Repository < ROM::Repository<%="[:#{relation}]"%>
2
+ commands :create, update: :by_pk, delete: :by_pk, mapper: :<%= mapper %>
3
+ end
@@ -0,0 +1,34 @@
1
+ require 'generators/rom'
2
+
3
+ if defined? ROM::Repository
4
+ module ROM
5
+ module Generators
6
+ class RepositoryGenerator < Base
7
+ def create_repository_file
8
+ template(
9
+ 'repository.rb.erb',
10
+ File.join('app', 'repositories', "#{repository_name}_repository.rb")
11
+ )
12
+ end
13
+
14
+ private
15
+
16
+ def relation
17
+ class_name.pluralize.underscore
18
+ end
19
+
20
+ def model_name
21
+ class_name.singularize.camelcase
22
+ end
23
+
24
+ def repository_name
25
+ class_name.singularize.underscore
26
+ end
27
+
28
+ def mapper
29
+ repository_name
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,15 +1,18 @@
1
- require 'virtus'
2
1
  require 'rom/support/deprecations'
3
2
 
4
3
  module ROM
5
4
  module Rails
6
5
  class Configuration
7
6
  extend ROM::Deprecations
7
+ include ActiveSupport::Configurable
8
8
 
9
- include Virtus.model(strict: true)
9
+ config_accessor :gateways do
10
+ {}
11
+ end
10
12
 
11
- attribute :gateways, Hash, default: {}
12
- attribute :auto_registration_paths, Array, default: []
13
+ config_accessor :auto_registration_paths do
14
+ []
15
+ end
13
16
 
14
17
  deprecate :repositories, :gateways
15
18
  end
@@ -1,3 +1,5 @@
1
+ require 'dry/core/class_builder'
2
+
1
3
  module ROM
2
4
  module Model
3
5
  class Form
@@ -281,7 +283,7 @@ module ROM
281
283
  # @api private
282
284
  def define_attributes!(block)
283
285
  input_blocks << block
284
- @attributes = ClassBuilder.new(name: "#{name}::Attributes", parent: Object).call { |klass|
286
+ @attributes = Dry::Core::ClassBuilder.new(name: "#{name}::Attributes", parent: Object).call { |klass|
285
287
  klass.send(:include, ROM::Model::Attributes)
286
288
  }
287
289
  input_blocks.each do |input_block|
@@ -333,7 +335,7 @@ module ROM
333
335
  #
334
336
  # @api private
335
337
  def define_model!
336
- @model = ClassBuilder.new(name: "#{name}::Model", parent: @attributes).call { |klass|
338
+ @model = Dry::Core::ClassBuilder.new(name: "#{name}::Model", parent: @attributes).call { |klass|
337
339
  klass.class_eval <<-RUBY, __FILE__, __LINE__ + 1
338
340
  def persisted?
339
341
  to_key.any?
@@ -356,7 +358,7 @@ module ROM
356
358
  # @api private
357
359
  def define_validator!(block)
358
360
  validation_blocks << block
359
- @validator = ClassBuilder.new(name: "#{name}::Validator", parent: Object).call { |klass|
361
+ @validator = Dry::Core::ClassBuilder.new(name: "#{name}::Validator", parent: Object).call { |klass|
360
362
  klass.send(:include, ROM::Model::Validator)
361
363
  }
362
364
  validation_blocks.each { |validation| @validator.class_eval(&validation) }
@@ -90,6 +90,18 @@ module ROM
90
90
  delegate :model_name, to: :attributes
91
91
  end
92
92
 
93
+ # Raise deprecation warning when class is used:
94
+ #
95
+ # @api private
96
+ def self.inherited(klass)
97
+ ROM::Deprecations.announce "ROM::Model::Form", <<-MSG
98
+ We now recommend using Reform or another dedicated form library,
99
+ in conjunction with ROM::Repository or explicit command invocations.
100
+ MSG
101
+
102
+ super
103
+ end
104
+
93
105
  # @api private
94
106
  def initialize(params = {}, options = {})
95
107
  @params = params.respond_to?(:to_unsafe_hash) ?
@@ -1,5 +1,5 @@
1
1
  module ROM
2
2
  module Rails
3
- VERSION = '0.8.0'.freeze
3
+ VERSION = '0.9.0.beta1'.freeze
4
4
  end
5
5
  end
data/rom-rails.gemspec CHANGED
@@ -17,15 +17,16 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_runtime_dependency 'rom', '~> 2.0'
20
+ spec.add_runtime_dependency 'rom', '~> 3.0.0.beta'
21
21
  spec.add_runtime_dependency 'rom-support', '~> 2.0'
22
22
  spec.add_runtime_dependency 'rom-model', '~> 0.3'
23
23
  spec.add_runtime_dependency 'dry-equalizer', '~> 0.2'
24
+ spec.add_runtime_dependency 'dry-core', '~> 0.2', '>= 0.2.1'
24
25
  spec.add_runtime_dependency 'addressable', '~> 2.3'
25
26
  spec.add_runtime_dependency 'charlatan', '~> 0.1'
26
- spec.add_runtime_dependency 'virtus', '~> 1.0', '>= 1.0.5'
27
27
  spec.add_runtime_dependency 'railties', '>= 3.0', '< 6.0'
28
28
 
29
+ spec.add_development_dependency "rom-repository"
29
30
  spec.add_development_dependency "bundler"
30
31
  spec.add_development_dependency "rake"
31
32
  spec.add_development_dependency "rubocop", "~> 0.28"
@@ -17,48 +17,51 @@ describe ROM::Generators::CommandsGenerator do
17
17
  expect(destination_root).to have_structure {
18
18
  directory 'app' do
19
19
  directory 'commands' do
20
- directory 'user_commands' do
21
- file 'create.rb' do
22
- contains <<-CONTENT.strip_heredoc
23
- module UserCommands
24
- class Create < ROM::Commands::Create[:#{default_adapter}]
20
+ file 'create_user.rb' do
21
+ contains <<-CONTENT.strip_heredoc
22
+ class CreateUser < ROM::Commands::Create[:#{default_adapter}]
25
23
  relation :users
26
24
  register_as :create
27
25
  result :one
28
26
 
29
- # define a validator to use
30
- # validator UserValidator
27
+ # Modify input data before committing it.
28
+ # before :timestamp
29
+
30
+ # def timestamp(tuple)
31
+ # time = Time.current
32
+ # tuple.merge(created_at: time, updated_at: time)
33
+ # end
31
34
  end
32
- end
33
- CONTENT
34
- end
35
-
36
- file 'update.rb' do
37
- contains <<-CONTENT.strip_heredoc
38
- module UserCommands
39
- class Update < ROM::Commands::Update[:#{default_adapter}]
35
+ CONTENT
36
+ end
37
+
38
+ file 'update_user.rb' do
39
+ contains <<-CONTENT.strip_heredoc
40
+ class UpdateUser < ROM::Commands::Update[:#{default_adapter}]
40
41
  relation :users
41
42
  register_as :update
42
43
  result :one
43
44
 
44
- # define a validator to use
45
- # validator UserValidator
45
+ # Modify input data before committing it.
46
+ # before :timestamp
47
+
48
+ # def timestamp(tuple)
49
+ # time = Time.current
50
+ # tuple.merge(created_at: time)
51
+ # end
46
52
  end
47
- end
48
- CONTENT
49
- end
50
-
51
- file 'delete.rb' do
52
- contains <<-CONTENT.strip_heredoc
53
- module UserCommands
54
- class Delete < ROM::Commands::Delete[:#{default_adapter}]
53
+ CONTENT
54
+ end
55
+
56
+ file 'delete_user.rb' do
57
+ contains <<-CONTENT.strip_heredoc
58
+ class DeleteUser < ROM::Commands::Delete[:#{default_adapter}]
55
59
  relation :users
56
60
  register_as :delete
57
61
  result :one
62
+
58
63
  end
59
- end
60
- CONTENT
61
- end
64
+ CONTENT
62
65
  end
63
66
  end
64
67
  end
@@ -68,13 +71,13 @@ describe ROM::Generators::CommandsGenerator do
68
71
  specify "with given adapter" do
69
72
  run_generator ['users', '--adapter=memory']
70
73
 
71
- create = File.read(File.join(destination_root, 'app', 'commands', 'user_commands', 'create.rb'))
72
- expect(create).to include("class Create < ROM::Commands::Create[:memory]")
74
+ create = File.read(File.join(destination_root, 'app', 'commands', 'create_user.rb'))
75
+ expect(create).to include("class CreateUser < ROM::Commands::Create[:memory]")
73
76
 
74
- update = File.read(File.join(destination_root, 'app', 'commands', 'user_commands', 'update.rb'))
75
- expect(update).to include("class Update < ROM::Commands::Update[:memory]")
77
+ update = File.read(File.join(destination_root, 'app', 'commands', 'update_user.rb'))
78
+ expect(update).to include("class UpdateUser < ROM::Commands::Update[:memory]")
76
79
 
77
- delete = File.read(File.join(destination_root, 'app', 'commands', 'user_commands', 'delete.rb'))
78
- expect(delete).to include("class Delete < ROM::Commands::Delete[:memory]")
80
+ delete = File.read(File.join(destination_root, 'app', 'commands', 'delete_user.rb'))
81
+ expect(delete).to include("class DeleteUser < ROM::Commands::Delete[:memory]")
79
82
  end
80
83
  end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ require 'rom-repository'
4
+ require 'generators/rom/repository_generator'
5
+
6
+ describe ROM::Generators::RepositoryGenerator, type: :generator do
7
+ destination File.expand_path('../../../../tmp', __FILE__)
8
+
9
+ before(:each) do
10
+ prepare_destination
11
+ end
12
+
13
+ specify do
14
+ run_generator ['users']
15
+
16
+ expect(destination_root).to have_structure {
17
+ directory 'app' do
18
+ directory 'repositories' do
19
+ file 'user_repository.rb' do
20
+ contains <<-CONTENT.strip_heredoc
21
+ class UserRepository < ROM::Repository[:users]
22
+ commands :create, update: :by_pk, delete: :by_pk, mapper: :user
23
+ end
24
+ CONTENT
25
+ end
26
+ end
27
+ end
28
+ }
29
+ end
30
+
31
+ specify 'when generator has a compund name' do
32
+ run_generator ['user_profiles']
33
+
34
+ expect(destination_root).to have_structure {
35
+ directory 'app' do
36
+ directory 'repositories' do
37
+ file 'user_profile_repository.rb' do
38
+ contains <<-CONTENT.strip_heredoc
39
+ class UserProfileRepository < ROM::Repository[:user_profiles]
40
+ commands :create, update: :by_pk, delete: :by_pk, mapper: :user_profile
41
+ end
42
+ CONTENT
43
+ end
44
+ end
45
+ end
46
+ }
47
+ end
48
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-08 00:00:00.000000000 Z
11
+ date: 2017-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rom
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: 3.0.0.beta
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: '2.0'
26
+ version: 3.0.0.beta
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rom-support
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -67,53 +67,53 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.2'
69
69
  - !ruby/object:Gem::Dependency
70
- name: addressable
70
+ name: dry-core
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.3'
75
+ version: '0.2'
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 0.2.1
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
83
  - - "~>"
81
84
  - !ruby/object:Gem::Version
82
- version: '2.3'
85
+ version: '0.2'
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 0.2.1
83
89
  - !ruby/object:Gem::Dependency
84
- name: charlatan
90
+ name: addressable
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '0.1'
95
+ version: '2.3'
90
96
  type: :runtime
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '0.1'
102
+ version: '2.3'
97
103
  - !ruby/object:Gem::Dependency
98
- name: virtus
104
+ name: charlatan
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
107
  - - "~>"
102
108
  - !ruby/object:Gem::Version
103
- version: '1.0'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 1.0.5
109
+ version: '0.1'
107
110
  type: :runtime
108
111
  prerelease: false
109
112
  version_requirements: !ruby/object:Gem::Requirement
110
113
  requirements:
111
114
  - - "~>"
112
115
  - !ruby/object:Gem::Version
113
- version: '1.0'
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.0.5
116
+ version: '0.1'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: railties
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +134,20 @@ dependencies:
134
134
  - - "<"
135
135
  - !ruby/object:Gem::Version
136
136
  version: '6.0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: rom-repository
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
137
151
  - !ruby/object:Gem::Dependency
138
152
  name: bundler
139
153
  requirement: !ruby/object:Gem::Requirement
@@ -205,6 +219,8 @@ files:
205
219
  - lib/generators/rom/mapper_generator.rb
206
220
  - lib/generators/rom/relation/templates/relation.rb.erb
207
221
  - lib/generators/rom/relation_generator.rb
222
+ - lib/generators/rom/repository/templates/repository.rb.erb
223
+ - lib/generators/rom/repository_generator.rb
208
224
  - lib/rom-rails.rb
209
225
  - lib/rom/rails/active_record/configuration.rb
210
226
  - lib/rom/rails/configuration.rb
@@ -221,7 +237,6 @@ files:
221
237
  - spec/dummy/README.rdoc
222
238
  - spec/dummy/Rakefile
223
239
  - spec/dummy/app/commands/create_task.rb
224
- - spec/dummy/app/commands/create_task_with_validations.rb
225
240
  - spec/dummy/app/commands/delete_user.rb
226
241
  - spec/dummy/app/controllers/application_controller.rb
227
242
  - spec/dummy/app/controllers/users_controller.rb
@@ -279,7 +294,6 @@ files:
279
294
  - spec/dummy/vendor/assets/stylesheets/.keep
280
295
  - spec/features/users_spec.rb
281
296
  - spec/integration/activerecord_setup.rb
282
- - spec/integration/form_with_command_validation_spec.rb
283
297
  - spec/integration/form_with_injected_commands_spec.rb
284
298
  - spec/integration/initializer_spec.rb
285
299
  - spec/integration/logger_spec.rb
@@ -291,6 +305,7 @@ files:
291
305
  - spec/lib/generators/form_generator_spec.rb
292
306
  - spec/lib/generators/mapper_generator_spec.rb
293
307
  - spec/lib/generators/relation_generator_spec.rb
308
+ - spec/lib/generators/repository_generator_spec.rb
294
309
  - spec/spec_helper.rb
295
310
  - spec/unit/form_spec.rb
296
311
  homepage: http://rom-rb.org
@@ -308,9 +323,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
323
  version: '0'
309
324
  required_rubygems_version: !ruby/object:Gem::Requirement
310
325
  requirements:
311
- - - ">="
326
+ - - ">"
312
327
  - !ruby/object:Gem::Version
313
- version: '0'
328
+ version: 1.3.1
314
329
  requirements: []
315
330
  rubyforge_project:
316
331
  rubygems_version: 2.4.5.1
@@ -322,7 +337,6 @@ test_files:
322
337
  - spec/dummy/README.rdoc
323
338
  - spec/dummy/Rakefile
324
339
  - spec/dummy/app/commands/create_task.rb
325
- - spec/dummy/app/commands/create_task_with_validations.rb
326
340
  - spec/dummy/app/commands/delete_user.rb
327
341
  - spec/dummy/app/controllers/application_controller.rb
328
342
  - spec/dummy/app/controllers/users_controller.rb
@@ -380,7 +394,6 @@ test_files:
380
394
  - spec/dummy/vendor/assets/stylesheets/.keep
381
395
  - spec/features/users_spec.rb
382
396
  - spec/integration/activerecord_setup.rb
383
- - spec/integration/form_with_command_validation_spec.rb
384
397
  - spec/integration/form_with_injected_commands_spec.rb
385
398
  - spec/integration/initializer_spec.rb
386
399
  - spec/integration/logger_spec.rb
@@ -392,5 +405,6 @@ test_files:
392
405
  - spec/lib/generators/form_generator_spec.rb
393
406
  - spec/lib/generators/mapper_generator_spec.rb
394
407
  - spec/lib/generators/relation_generator_spec.rb
408
+ - spec/lib/generators/repository_generator_spec.rb
395
409
  - spec/spec_helper.rb
396
410
  - spec/unit/form_spec.rb
@@ -1,11 +0,0 @@
1
- class CreateTaskWithValidations < CreateTask
2
- register_as :create_task_with_validations
3
-
4
- class Validator
5
- include ROM::Model::Validator
6
-
7
- validates :title, presence: true
8
- end
9
-
10
- validator Validator
11
- end
@@ -1,33 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Form with command supplied validations' do
4
-
5
- subject(:form) { form_class.build(params) }
6
-
7
- let(:params) {{}}
8
-
9
- let(:form_class) do
10
- Class.new(ROM::Model::Form) do
11
- inject_commands_for :tasks
12
-
13
- input do
14
- set_model_name 'Task'
15
-
16
- attribute :title
17
- end
18
-
19
- def commit!
20
- tasks.try { tasks.create_task_with_validations.call(attributes) }
21
- end
22
- end
23
- end
24
-
25
-
26
- it "copies validation errors from command" do
27
- form.save
28
-
29
- errors = form.errors
30
- expect(errors[:title]).to be_present
31
- end
32
-
33
- end