rom-rails 1.1.1 → 1.2.0

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.
Files changed (37) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +42 -9
  3. data/CHANGELOG.md +11 -0
  4. data/Gemfile +5 -4
  5. data/Rakefile +1 -1
  6. data/lib/generators/rom.rb +8 -0
  7. data/lib/generators/rom/commands/templates/create.rb.erb +0 -2
  8. data/lib/generators/rom/commands/templates/delete.rb.erb +0 -1
  9. data/lib/generators/rom/commands/templates/update.rb.erb +0 -2
  10. data/lib/generators/rom/commands_generator.rb +1 -1
  11. data/lib/generators/rom/install_generator.rb +1 -4
  12. data/lib/generators/rom/relation_generator.rb +1 -1
  13. data/lib/generators/rom/repository_generator.rb +1 -2
  14. data/lib/rom/rails/active_record/configuration.rb +1 -1
  15. data/lib/rom/rails/configuration.rb +1 -1
  16. data/lib/rom/rails/railtie.rb +11 -3
  17. data/lib/rom/rails/version.rb +1 -1
  18. data/rom-rails.gemspec +5 -6
  19. data/spec/dummy/app/commands/create_user.rb +0 -1
  20. data/spec/dummy/app/forms/user_form.rb +1 -2
  21. data/spec/dummy/app/relations/dummy_relation.rb +1 -1
  22. data/spec/dummy/app/relations/tasks.rb +1 -0
  23. data/spec/dummy/app/relations/users.rb +1 -0
  24. data/spec/dummy/bin/bundle +1 -1
  25. data/spec/dummy/bin/rails +1 -1
  26. data/spec/dummy/config/initializers/rom.rb +4 -3
  27. data/spec/dummy/lib/additional_app/{app → persistence}/commands/create_additional_task.rb +0 -0
  28. data/spec/dummy/lib/rom/test_adapter.rb +1 -0
  29. data/spec/integration/controller_extensions_spec.rb +23 -0
  30. data/spec/integration/initializer_spec.rb +1 -1
  31. data/spec/integration/user_commands_spec.rb +1 -1
  32. data/spec/lib/generators/commands_generator_spec.rb +2 -3
  33. data/spec/lib/generators/install_generator_spec.rb +1 -4
  34. data/spec/lib/generators/mapper_generator_spec.rb +1 -1
  35. data/spec/lib/generators/relation_generator_spec.rb +5 -2
  36. data/spec/lib/generators/repository_generator_spec.rb +1 -1
  37. metadata +30 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fc367b93c03bff59169c5950ad7625b02a67a4a1
4
- data.tar.gz: a71b5b357bee8e8e52f2eefb6479509f2e4182db
2
+ SHA256:
3
+ metadata.gz: e5acc8ec1307f8d3d91dc9918bff1e25d359685d57525ec3ddfbed5296ce38b2
4
+ data.tar.gz: 688d949fe6d60bebb5e48162370a62694a6aa8f6f965696952252c9e044a008f
5
5
  SHA512:
6
- metadata.gz: f33b1479ca0e501244d7d3ccc76b6859af0739e8ed3bc2fb60faee8a7a71cbfc1863c9e43ad7a36a56fb1096c9f6944fe851306b8d9ee240acb833148d9a7255
7
- data.tar.gz: c66dee4d8b7538755269aa2689cf2d008bc7cb048967a71f55752b5c3883b72153a8c3d41b5e77cbad4fd91fed6b0d2434bd05ef7ee2e7ac373c2d73e54b3830
6
+ metadata.gz: 47bdcf5a66ae1f5dbcf683cdf7d8a8873a23a12bd9cd0029bd2881ee1c68e9b26aeffb271c80e132a7587a07e10db767d9bd5dd63e097979a4be3e89b5d5b688
7
+ data.tar.gz: 7ac28d31ef0a9c86b3a49104cce96c9b46c2302e3a063c7e9d7fd53ed3ac39483dc1fa1f893fcff826a4123d55a073af57c9d0e61e3f78d8874651febd361e82
data/.rubocop.yml CHANGED
@@ -22,6 +22,7 @@ Metrics/PerceivedComplexity:
22
22
 
23
23
  # Don’t check temp and Rails-generated files
24
24
  AllCops:
25
+ TargetRubyVersion: 2.3.1
25
26
  Exclude:
26
27
  - spec/dummy/Rakefile
27
28
  - spec/dummy/config/**/*
@@ -31,7 +32,7 @@ AllCops:
31
32
  - vendor/**/*
32
33
 
33
34
  # The enforced style doesn’t match Vim’s defaults
34
- Style/AlignParameters:
35
+ Layout/AlignParameters:
35
36
  Enabled: false
36
37
 
37
38
  # UTF-8 is perfectly fine in comments
@@ -60,8 +61,8 @@ Style/ClassAndModuleChildren:
60
61
  Style/Documentation:
61
62
  Enabled: false
62
63
 
63
- # This is a shim file for those who require 'rom-mongo'
64
- Style/FileName:
64
+ # This is a shim file for those who require 'rom-rails'
65
+ Naming/FileName:
65
66
  Exclude:
66
67
  - lib/rom-rails.rb
67
68
 
@@ -78,7 +79,7 @@ Style/MultilineBlockChain:
78
79
  Enabled: false
79
80
 
80
81
  # Multiline operation chains are indented
81
- Style/MultilineOperationIndentation:
82
+ Layout/MultilineOperationIndentation:
82
83
  EnforcedStyle: indented
83
84
 
84
85
  # Model::Validator uses Model::ValidationError for this
@@ -91,7 +92,7 @@ Style/SignalException:
91
92
  EnforcedStyle: only_raise
92
93
 
93
94
  # Need to be skipped for >-> usage
94
- Style/SpaceAroundOperators:
95
+ Layout/SpaceAroundOperators:
95
96
  Enabled: false
96
97
 
97
98
  # Accept both single and double quotes
@@ -102,10 +103,6 @@ Style/StringLiterals:
102
103
  Style/TrivialAccessors:
103
104
  Enabled: false
104
105
 
105
- Style/AccessorMethodName:
106
- Exclude:
107
- - lib/rom/rails/model/params.rb
108
-
109
106
  # Allow logical `or`/`and` in conditionals
110
107
  Style/AndOr:
111
108
  EnforcedStyle: conditionals
@@ -114,3 +111,39 @@ Style/AndOr:
114
111
  Performance/RedundantBlockCall:
115
112
  Enabled: false
116
113
 
114
+ Style/FrozenStringLiteralComment:
115
+ Enabled: false
116
+
117
+ Style/PercentLiteralDelimiters:
118
+ Enabled: false
119
+
120
+ Lint/AmbiguousBlockAssociation:
121
+ Enabled: false
122
+
123
+ Metrics/BlockLength:
124
+ Enabled: false
125
+
126
+ Layout/SpaceInsideHashLiteralBraces:
127
+ Enabled: false
128
+
129
+ Style/BlockDelimiters:
130
+ Enabled: false
131
+
132
+
133
+ Layout/SpaceInsideArrayLiteralBrackets:
134
+ Enabled: false
135
+
136
+ Style/IfUnlessModifier:
137
+ Enabled: false
138
+
139
+ Layout/AccessModifierIndentation:
140
+ Enabled: false
141
+
142
+ Style/SymbolArray:
143
+ Enabled: false
144
+
145
+ Style/SafeNavigation:
146
+ Enabled: false
147
+
148
+ Lint/HandleExceptions:
149
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## v1.2.0 2018-10-20
2
+
3
+ ## Changed
4
+
5
+ * ROM output is broadcast to STDOUT during rails console (radar)
6
+ * Generators default to same adapter as the default gateway (cflipse)
7
+ * Default auto-registration path set to app (cflipse)
8
+ * Include controller extensions in API controllers (cflipse)
9
+
10
+ [Compare v1.1.1...v1.2.0](https://github.com/rom-rb/rom-rails/compare/v1.1.1...v1.2.0)
11
+
1
12
  ## v1.1.1 2018-04-17
2
13
 
3
14
  ### Changed
data/Gemfile CHANGED
@@ -8,8 +8,8 @@ RAILS_VERSION = ENV.fetch("RAILS_VERSION", '5.1.0').freeze
8
8
  gem name, "~> #{RAILS_VERSION}"
9
9
  end
10
10
 
11
- gem 'sqlite3', platforms: [:mri, :rbx]
12
11
  gem 'byebug', platforms: :mri
12
+ gem 'sqlite3', platforms: [:mri, :rbx]
13
13
 
14
14
  gem 'rom', git: 'https://github.com/rom-rb/rom', branch: 'master' do
15
15
  gem 'rom-core'
@@ -17,6 +17,7 @@ gem 'rom', git: 'https://github.com/rom-rb/rom', branch: 'master' do
17
17
  gem 'rom-repository', group: :tools
18
18
  end
19
19
 
20
+ gem 'rom-http'
20
21
  gem 'rom-sql', github: 'rom-rb/rom-sql', branch: 'master'
21
22
 
22
23
  platforms :jruby do
@@ -24,10 +25,10 @@ platforms :jruby do
24
25
  end
25
26
 
26
27
  group :test do
27
- gem 'rack-test'
28
- gem 'rspec-rails', '~> 3.1'
28
+ gem 'capybara'
29
29
  gem 'codeclimate-test-reporter', require: nil
30
30
  gem 'database_cleaner'
31
- gem 'capybara'
32
31
  gem 'generator_spec'
32
+ gem 'rack-test'
33
+ gem 'rspec-rails', '~> 3.1'
33
34
  end
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rubocop/rake_task'
3
3
 
4
4
  task default: %w(app:spec rubocop)
5
5
 
6
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
6
+ APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
7
7
  load 'rails/tasks/engine.rake'
8
8
 
9
9
  RuboCop::RakeTask.new do |task|
@@ -18,6 +18,14 @@ module ROM
18
18
  __FILE__
19
19
  )
20
20
  end
21
+
22
+ def self.default_gateway
23
+ ROM.env.gateways[:default]
24
+ end
25
+
26
+ def self.default_adapter
27
+ (default_gateway && default_gateway.adapter)
28
+ end
21
29
  end
22
30
  end
23
31
  end
@@ -3,9 +3,7 @@ class Create<%= model_name %> < ROM::Commands::Create<%= "[:#{adapter}]" %>
3
3
  register_as :create
4
4
  result :one
5
5
 
6
- <% if adapter.to_sym == :sql -%>
7
6
  # set Timestamp plugin
8
7
  # use :timestamps
9
8
  # timestamp :created_at, :updated_at
10
- <% end -%>
11
9
  end
@@ -2,5 +2,4 @@ class Delete<%= model_name %> < ROM::Commands::Delete<%= "[:#{adapter}]" %>
2
2
  relation :<%= relation %>
3
3
  register_as :delete
4
4
  result :one
5
-
6
5
  end
@@ -3,9 +3,7 @@ class Update<%= model_name %> < ROM::Commands::Update<%= "[:#{adapter}]" %>
3
3
  register_as :update
4
4
  result :one
5
5
 
6
- <% if adapter.to_sym == :sql -%>
7
6
  # set Timestamp plugin
8
7
  # use :timestamps
9
8
  # timestamp :updated_at
10
- <% end -%>
11
9
  end
@@ -6,7 +6,7 @@ module ROM
6
6
  class_option :adapter,
7
7
  banner: "--adapter=adapter",
8
8
  desc: "specify an adapter to use", required: true,
9
- default: ROM.adapters.keys.first
9
+ default: default_adapter
10
10
 
11
11
  def create_create_command
12
12
  template 'create.rb.erb', command_file(:create)
@@ -8,7 +8,7 @@ module ROM
8
8
  end
9
9
 
10
10
  def self.source_root
11
- File.expand_path("../install/templates", __FILE__)
11
+ File.expand_path('install/templates', __dir__)
12
12
  end
13
13
 
14
14
  class_option :adapter,
@@ -29,14 +29,11 @@ module ROM
29
29
  copy_file "application_model.rb", "app/models/application_model.rb"
30
30
  end
31
31
 
32
-
33
-
34
32
  private
35
33
 
36
34
  def adapter
37
35
  options[:adapter].to_sym
38
36
  end
39
-
40
37
  end
41
38
  end
42
39
  end
@@ -6,7 +6,7 @@ module ROM
6
6
  class_option :adapter,
7
7
  banner: "--adapter=adapter",
8
8
  desc: "specify an adapter to use", required: true,
9
- default: ROM.adapters.keys.first
9
+ default: default_adapter
10
10
 
11
11
  class_option :gateway,
12
12
  banner: "--gateway=repo",
@@ -4,11 +4,10 @@ if defined? ROM::Repository
4
4
  module ROM
5
5
  module Generators
6
6
  class RepositoryGenerator < Base
7
-
8
7
  class_option :namespace,
9
8
  banner: '--namespace=namespace',
10
9
  desc: "specify a struct namespace for the relation", required: true,
11
- default: ::Rails.application.class.name.split("::").first
10
+ default: ::Rails.application.class.name.split("::").first
12
11
 
13
12
  def create_repository_file
14
13
  template(
@@ -72,7 +72,7 @@ module ROM
72
72
  generic_uri(config.merge(
73
73
  host: config.fetch(:host) { '' },
74
74
  scheme: 'postgres'
75
- ))
75
+ ))
76
76
  end
77
77
 
78
78
  def self.mysql_uri(config)
@@ -11,7 +11,7 @@ module ROM
11
11
  end
12
12
 
13
13
  config_accessor :auto_registration_paths do
14
- []
14
+ ['app']
15
15
  end
16
16
  end
17
17
  end
@@ -16,20 +16,21 @@ module ROM
16
16
 
17
17
  # Make `ROM::Rails::Configuration` instance available to the user via
18
18
  # `Rails.application.config` before other initializers run.
19
- config.before_initialize do |_app|
19
+ config.before_configuration do |_app|
20
20
  config.rom = Configuration.new
21
21
  end
22
22
 
23
23
  initializer 'rom.configure_action_controller' do
24
24
  ActiveSupport.on_load(:action_controller) do
25
25
  ActionController::Base.send(:include, ControllerExtension)
26
+ ActionController::API.send(:include, ControllerExtension) if defined?(ActionController::API)
26
27
  end
27
28
  end
28
29
 
29
30
  initializer 'rom.adjust_eager_load_paths' do |app|
30
31
  paths =
31
32
  auto_registration_paths.inject([]) do |result, root_path|
32
- result.concat(COMPONENT_DIRS.map { |dir| root_path.join('app', dir).to_s })
33
+ result.concat(COMPONENT_DIRS.map { |dir| ::Rails.root.join(root_path, dir).to_s })
33
34
  end
34
35
 
35
36
  app.config.eager_load_paths -= paths
@@ -44,6 +45,13 @@ module ROM
44
45
  ROM.env = Railtie.create_container
45
46
  end
46
47
 
48
+ console do |_app|
49
+ unless ActiveSupport::Logger.logger_outputs_to?(::Rails.logger, STDERR, STDOUT)
50
+ console = ActiveSupport::Logger.new(STDERR)
51
+ ::Rails.logger.extend ActiveSupport::Logger.broadcast console
52
+ end
53
+ end
54
+
47
55
  # Behaves like `Railtie#configure` if the given block does not take any
48
56
  # arguments. Otherwise yields the ROM configuration to the block.
49
57
  #
@@ -73,7 +81,7 @@ module ROM
73
81
  configuration = create_configuration
74
82
 
75
83
  auto_registration_paths.each do |root_path|
76
- configuration.auto_registration(root_path.join('app'), namespace: false)
84
+ configuration.auto_registration(::Rails.root.join(root_path), namespace: false)
77
85
  end
78
86
 
79
87
  ROM.container(configuration)
@@ -1,5 +1,5 @@
1
1
  module ROM
2
2
  module Rails
3
- VERSION = '1.1.1'.freeze
3
+ VERSION = '1.2.0'.freeze
4
4
  end
5
5
  end
data/rom-rails.gemspec CHANGED
@@ -1,5 +1,4 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'rom/rails/version'
5
4
 
@@ -17,14 +16,14 @@ Gem::Specification.new do |spec|
17
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
17
  spec.require_paths = ["lib"]
19
18
 
20
- spec.add_runtime_dependency 'rom', '~> 4.0'
21
- spec.add_runtime_dependency 'dry-equalizer', '~> 0.2'
22
- spec.add_runtime_dependency 'dry-core', '~> 0.3'
23
19
  spec.add_runtime_dependency 'addressable', '~> 2.3'
20
+ spec.add_runtime_dependency 'dry-core', '~> 0.3'
21
+ spec.add_runtime_dependency 'dry-equalizer', '~> 0.2'
24
22
  spec.add_runtime_dependency 'railties', '>= 3.0', '< 6.0'
23
+ spec.add_runtime_dependency 'rom', '~> 4.0'
25
24
 
26
- spec.add_development_dependency "rom-repository"
27
25
  spec.add_development_dependency "bundler"
28
26
  spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rom-repository"
29
28
  spec.add_development_dependency "rubocop", "~> 0.50"
30
29
  end
@@ -6,5 +6,4 @@ class CreateUser < ROM::Commands::Create[:sql]
6
6
  use :timestamps
7
7
 
8
8
  timestamp :created_at
9
-
10
9
  end
@@ -25,11 +25,10 @@ class UserForm
25
25
  end
26
26
 
27
27
  def persisted?
28
- !!id
28
+ id.present?
29
29
  end
30
30
 
31
31
  def self.model_name
32
32
  ActiveModel::Name.new(User)
33
33
  end
34
-
35
34
  end
@@ -1,5 +1,5 @@
1
1
  class DummyRelation < ROM::Relation[:test_adapter]
2
- gateway :test
2
+ gateway :default
3
3
 
4
4
  schema(:dummy, infer: true)
5
5
  end
@@ -1,4 +1,5 @@
1
1
  class Tasks < ROM::Relation[:sql]
2
+ gateway :sql
2
3
  schema(:tasks, infer: true)
3
4
 
4
5
  def by_id(id)
@@ -1,4 +1,5 @@
1
1
  class Users < ROM::Relation[:sql]
2
+ gateway :sql
2
3
  schema(:users, infer: true)
3
4
 
4
5
  def by_id(id)
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
3
  load Gem.bin_path('bundler', 'bundle')
data/spec/dummy/bin/rails CHANGED
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
3
  require_relative '../config/boot'
4
4
  require 'rails/commands'
@@ -1,6 +1,7 @@
1
1
  ROM::Rails::Railtie.configure do |config|
2
2
  scheme = RUBY_ENGINE == 'jruby' ? 'jdbc:sqlite' : 'sqlite'
3
- config.gateways[:default] = [:sql, "#{scheme}://#{Rails.root}/db/#{Rails.env}.sqlite3"]
4
- config.gateways[:test] = [:test_adapter, foo: :bar]
5
- config.auto_registration_paths += [Rails.root.join('lib', 'additional_app')]
3
+ config.gateways[:arro] = [:http, uri: 'http://example.org' ]
4
+ config.gateways[:sql] = [:sql, "#{scheme}://#{Rails.root}/db/#{Rails.env}.sqlite3"]
5
+ config.gateways[:default] = [:test_adapter, foo: :bar]
6
+ config.auto_registration_paths += [Rails.root.join('lib', 'additional_app', 'persistence')]
6
7
  end
@@ -6,6 +6,7 @@ module ROM
6
6
 
7
7
  class Gateway < ROM::Gateway
8
8
  include Dry::Equalizer(:args)
9
+ adapter :test_adapter
9
10
 
10
11
  attr_reader :args, :datasets
11
12
 
@@ -0,0 +1,23 @@
1
+ RSpec.describe "including controller extensions" do
2
+ describe "An application controller" do
3
+ let(:controller) do
4
+ Class.new(ActionController::Base)
5
+ end
6
+
7
+ it "includes the controller extensions" do
8
+ expect(controller.ancestors).to include(ROM::Rails::ControllerExtension)
9
+ end
10
+ end
11
+
12
+ if defined?(ActionController::API)
13
+ describe "An API controller" do
14
+ let(:controller) do
15
+ Class.new(ActionController::API)
16
+ end
17
+
18
+ it "includes the controller extensions" do
19
+ expect(controller.ancestors).to include(ROM::Rails::ControllerExtension)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -3,7 +3,7 @@ RSpec.describe 'ROM initializer' do
3
3
  gateway = ROM::TestAdapter::Gateway.new(foo: :bar)
4
4
  relation = DummyRelation.new([])
5
5
 
6
- expect(rom.gateways[:test]).to eql(gateway)
6
+ expect(rom.gateways[:default]).to eql(gateway)
7
7
  expect(rom.relations.dummy).to eql(relation)
8
8
  end
9
9
 
@@ -6,7 +6,7 @@ RSpec.describe 'User commands' do
6
6
  relation = rom.relations[:users]
7
7
  relation.insert(name: 'Piotr', email: 'piotr@test.com')
8
8
 
9
- expect{
9
+ expect {
10
10
  users.delete.by_name('Piotr').call
11
11
  }.to change(relation, :count).by(-1)
12
12
  end
@@ -1,7 +1,7 @@
1
1
  require 'generators/rom/commands_generator'
2
2
 
3
3
  RSpec.describe ROM::Generators::CommandsGenerator do
4
- destination File.expand_path('../../../../tmp', __FILE__)
4
+ destination File.expand_path('../../../tmp', __dir__)
5
5
 
6
6
  before(:each) do
7
7
  prepare_destination
@@ -10,7 +10,7 @@ RSpec.describe ROM::Generators::CommandsGenerator do
10
10
  specify do
11
11
  run_generator ['users']
12
12
 
13
- default_adapter = ROM.adapters.keys.first
13
+ default_adapter = ROM.env.gateways[:default].adapter
14
14
 
15
15
  expect(destination_root).to have_structure {
16
16
  directory 'app' do
@@ -49,7 +49,6 @@ RSpec.describe ROM::Generators::CommandsGenerator do
49
49
  relation :users
50
50
  register_as :delete
51
51
  result :one
52
-
53
52
  end
54
53
  CONTENT
55
54
  end
@@ -1,7 +1,7 @@
1
1
  require 'generators/rom/install_generator'
2
2
 
3
3
  RSpec.describe ROM::Generators::InstallGenerator, type: :generator do
4
- destination File.expand_path('../../../../tmp', __FILE__)
4
+ destination File.expand_path('../../../tmp', __dir__)
5
5
 
6
6
  before(:each) do
7
7
  prepare_destination
@@ -85,11 +85,8 @@ RSpec.describe ROM::Generators::InstallGenerator, type: :generator do
85
85
  end
86
86
  CONTENT
87
87
  end
88
-
89
88
  end
90
89
  end
91
90
  }
92
91
  end
93
-
94
-
95
92
  end
@@ -1,7 +1,7 @@
1
1
  require 'generators/rom/mapper_generator'
2
2
 
3
3
  RSpec.describe ROM::Generators::MapperGenerator do
4
- destination File.expand_path('../../../../tmp', __FILE__)
4
+ destination File.expand_path('../../../tmp', __dir__)
5
5
 
6
6
  before(:all) do
7
7
  prepare_destination
@@ -1,7 +1,7 @@
1
1
  require 'generators/rom/relation_generator'
2
2
 
3
3
  RSpec.describe ROM::Generators::RelationGenerator, type: :generator do
4
- destination File.expand_path('../../../../tmp', __FILE__)
4
+ destination File.expand_path('../../../tmp', __dir__)
5
5
 
6
6
  before(:each) do
7
7
  prepare_destination
@@ -9,7 +9,7 @@ RSpec.describe ROM::Generators::RelationGenerator, type: :generator do
9
9
 
10
10
  specify do
11
11
  run_generator ['users']
12
- default_adapter = ROM.adapters.keys.first
12
+ default_adapter = ROM.env.gateways[:default].adapter
13
13
 
14
14
  expect(destination_root).to have_structure {
15
15
  directory 'app' do
@@ -54,4 +54,7 @@ RSpec.describe ROM::Generators::RelationGenerator, type: :generator do
54
54
  relation = File.read(File.join(destination_root, 'app', 'relations', 'users_relation.rb'))
55
55
  expect(relation).to match(/schema.*as: :profiles/)
56
56
  end
57
+
58
+ specify "with multiple generators" do
59
+ end
57
60
  end
@@ -2,7 +2,7 @@ require 'rom-repository'
2
2
  require 'generators/rom/repository_generator'
3
3
 
4
4
  RSpec.describe ROM::Generators::RepositoryGenerator, type: :generator do
5
- destination File.expand_path('../../../../tmp', __FILE__)
5
+ destination File.expand_path('../../../tmp', __dir__)
6
6
 
7
7
  before(:each) do
8
8
  prepare_destination
metadata CHANGED
@@ -1,43 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.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: 2018-04-17 00:00:00.000000000 Z
11
+ date: 2018-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rom
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '4.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '4.0'
27
- - !ruby/object:Gem::Dependency
28
- name: dry-equalizer
14
+ name: addressable
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0.2'
19
+ version: '2.3'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '0.2'
26
+ version: '2.3'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: dry-core
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +39,19 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0.3'
55
41
  - !ruby/object:Gem::Dependency
56
- name: addressable
42
+ name: dry-equalizer
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '2.3'
47
+ version: '0.2'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '2.3'
54
+ version: '0.2'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: railties
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +73,21 @@ dependencies:
87
73
  - !ruby/object:Gem::Version
88
74
  version: '6.0'
89
75
  - !ruby/object:Gem::Dependency
90
- name: rom-repository
76
+ name: rom
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '4.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '4.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: bundler
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="
@@ -101,7 +101,7 @@ dependencies:
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  - !ruby/object:Gem::Dependency
104
- name: bundler
104
+ name: rake
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - ">="
@@ -115,7 +115,7 @@ dependencies:
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
- name: rake
118
+ name: rom-repository
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - ">="
@@ -232,7 +232,7 @@ files:
232
232
  - spec/dummy/db/migrate/20141110205016_add_users.rb
233
233
  - spec/dummy/db/migrate/20150202194440_create_tasks.rb
234
234
  - spec/dummy/db/migrate/20150403194906_create_tags.rb
235
- - spec/dummy/lib/additional_app/app/commands/create_additional_task.rb
235
+ - spec/dummy/lib/additional_app/persistence/commands/create_additional_task.rb
236
236
  - spec/dummy/lib/assets/.keep
237
237
  - spec/dummy/lib/rom/test_adapter.rb
238
238
  - spec/dummy/lib/tasks/.keep
@@ -246,6 +246,7 @@ files:
246
246
  - spec/dummy/vendor/assets/stylesheets/.keep
247
247
  - spec/features/users_spec.rb
248
248
  - spec/integration/activerecord_setup.rb
249
+ - spec/integration/controller_extensions_spec.rb
249
250
  - spec/integration/initializer_spec.rb
250
251
  - spec/integration/logger_spec.rb
251
252
  - spec/integration/user_commands_spec.rb
@@ -277,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
277
278
  version: '0'
278
279
  requirements: []
279
280
  rubyforge_project:
280
- rubygems_version: 2.6.13
281
+ rubygems_version: 2.7.7
281
282
  signing_key:
282
283
  specification_version: 4
283
284
  summary: Integrate Ruby Object Mapper with Rails
@@ -329,7 +330,7 @@ test_files:
329
330
  - spec/dummy/db/migrate/20141110205016_add_users.rb
330
331
  - spec/dummy/db/migrate/20150202194440_create_tasks.rb
331
332
  - spec/dummy/db/migrate/20150403194906_create_tags.rb
332
- - spec/dummy/lib/additional_app/app/commands/create_additional_task.rb
333
+ - spec/dummy/lib/additional_app/persistence/commands/create_additional_task.rb
333
334
  - spec/dummy/lib/assets/.keep
334
335
  - spec/dummy/lib/rom/test_adapter.rb
335
336
  - spec/dummy/lib/tasks/.keep
@@ -343,6 +344,7 @@ test_files:
343
344
  - spec/dummy/vendor/assets/stylesheets/.keep
344
345
  - spec/features/users_spec.rb
345
346
  - spec/integration/activerecord_setup.rb
347
+ - spec/integration/controller_extensions_spec.rb
346
348
  - spec/integration/initializer_spec.rb
347
349
  - spec/integration/logger_spec.rb
348
350
  - spec/integration/user_commands_spec.rb