trailblazer-rails 2.1.6 → 2.4.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.
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ trailblazer-rails (2.4.0)
5
+ railties (>= 5.2.0)
6
+ trailblazer (>= 2.1.0, < 2.2.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actionpack (6.1.4.1)
12
+ actionview (= 6.1.4.1)
13
+ activesupport (= 6.1.4.1)
14
+ rack (~> 2.0, >= 2.0.9)
15
+ rack-test (>= 0.6.3)
16
+ rails-dom-testing (~> 2.0)
17
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
+ actionview (6.1.4.1)
19
+ activesupport (= 6.1.4.1)
20
+ builder (~> 3.1)
21
+ erubi (~> 1.4)
22
+ rails-dom-testing (~> 2.0)
23
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
+ activemodel (6.1.4.1)
25
+ activesupport (= 6.1.4.1)
26
+ activerecord (6.1.4.1)
27
+ activemodel (= 6.1.4.1)
28
+ activesupport (= 6.1.4.1)
29
+ activesupport (6.1.4.1)
30
+ concurrent-ruby (~> 1.0, >= 1.0.2)
31
+ i18n (>= 1.6, < 2)
32
+ minitest (>= 5.1)
33
+ tzinfo (~> 2.0)
34
+ zeitwerk (~> 2.3)
35
+ addressable (2.8.0)
36
+ public_suffix (>= 2.0.2, < 5.0)
37
+ appraisal (2.4.1)
38
+ bundler
39
+ rake
40
+ thor (>= 0.14.0)
41
+ builder (3.2.4)
42
+ capybara (3.36.0)
43
+ addressable
44
+ matrix
45
+ mini_mime (>= 0.1.3)
46
+ nokogiri (~> 1.8)
47
+ rack (>= 1.6.0)
48
+ rack-test (>= 0.6.3)
49
+ regexp_parser (>= 1.5, < 3.0)
50
+ xpath (~> 3.2)
51
+ cells (4.1.7)
52
+ declarative-builder (< 0.2.0)
53
+ declarative-option (< 0.2.0)
54
+ tilt (>= 1.4, < 3)
55
+ uber (< 0.2.0)
56
+ cells-erb (0.1.0)
57
+ cells (~> 4.0)
58
+ erbse (>= 0.1.1)
59
+ cells-rails (0.1.4)
60
+ actionpack (>= 5.0)
61
+ cells (>= 4.1.6, < 5.0.0)
62
+ concurrent-ruby (1.1.9)
63
+ crass (1.0.6)
64
+ declarative (0.0.20)
65
+ declarative-builder (0.1.0)
66
+ declarative-option (< 0.2.0)
67
+ declarative-option (0.1.0)
68
+ disposable (0.6.2)
69
+ declarative (>= 0.0.9, < 1.0.0)
70
+ representable (>= 3.1.1, < 3.2.0)
71
+ erbse (0.1.4)
72
+ temple
73
+ erubi (1.10.0)
74
+ hashie (5.0.0)
75
+ hirb (0.7.3)
76
+ i18n (1.8.11)
77
+ concurrent-ruby (~> 1.0)
78
+ loofah (2.12.0)
79
+ crass (~> 1.0.2)
80
+ nokogiri (>= 1.5.9)
81
+ matrix (0.4.2)
82
+ method_source (1.0.0)
83
+ mini_mime (1.1.2)
84
+ minitest (5.14.4)
85
+ minitest-capybara (0.9.0)
86
+ capybara
87
+ minitest (~> 5.0)
88
+ rake
89
+ nokogiri (1.12.5-x86_64-linux)
90
+ racc (~> 1.4)
91
+ public_suffix (4.0.6)
92
+ racc (1.6.0)
93
+ rack (2.2.3)
94
+ rack-test (1.1.0)
95
+ rack (>= 1.0, < 3)
96
+ rails-dom-testing (2.0.3)
97
+ activesupport (>= 4.2.0)
98
+ nokogiri (>= 1.6)
99
+ rails-html-sanitizer (1.4.2)
100
+ loofah (~> 2.3)
101
+ railties (6.1.4.1)
102
+ actionpack (= 6.1.4.1)
103
+ activesupport (= 6.1.4.1)
104
+ method_source
105
+ rake (>= 0.13)
106
+ thor (~> 1.0)
107
+ rake (13.0.6)
108
+ reform (2.6.1)
109
+ disposable (>= 0.5.0, < 1.0.0)
110
+ representable (>= 3.1.1, < 3.2.0)
111
+ uber (< 0.2.0)
112
+ reform-rails (0.2.3)
113
+ activemodel (>= 5.0)
114
+ reform (>= 2.3.1, < 3.0.0)
115
+ regexp_parser (2.2.0)
116
+ representable (3.1.1)
117
+ declarative (< 0.1.0)
118
+ trailblazer-option (>= 0.1.1, < 0.2.0)
119
+ uber (< 0.2.0)
120
+ sqlite3 (1.4.2)
121
+ temple (0.8.2)
122
+ thor (1.1.0)
123
+ tilt (2.0.10)
124
+ trailblazer (2.1.0)
125
+ trailblazer-macro (>= 2.1.0, < 2.2.0)
126
+ trailblazer-macro-contract (>= 2.1.0, < 2.2.0)
127
+ trailblazer-operation
128
+ trailblazer-activity (0.12.2)
129
+ trailblazer-context (~> 0.5.0)
130
+ trailblazer-option (~> 0.1.0)
131
+ trailblazer-activity-dsl-linear (0.4.3)
132
+ trailblazer-activity (>= 0.12.2, < 0.13.0)
133
+ trailblazer-cells (0.0.3)
134
+ cells (>= 4.1.0.rc1, < 5.0.0)
135
+ trailblazer-context (0.5.0)
136
+ hashie (>= 3.0.0)
137
+ trailblazer-developer (0.0.22)
138
+ hirb
139
+ representable (>= 3.1.1, < 4.0.0)
140
+ trailblazer-activity (>= 0.12.2, < 1.0.0)
141
+ trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
142
+ trailblazer-loader (0.1.2)
143
+ trailblazer-macro (2.1.7)
144
+ trailblazer-activity-dsl-linear (>= 0.4.0, < 0.5.0)
145
+ trailblazer-operation (>= 0.7.0)
146
+ trailblazer-macro-contract (2.1.1)
147
+ reform (>= 2.2.0, < 3.0.0)
148
+ trailblazer-activity-dsl-linear (>= 0.4.0, < 0.5.0)
149
+ trailblazer-operation (0.7.5)
150
+ trailblazer-activity (>= 0.12.2, < 1.0.0)
151
+ trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
152
+ trailblazer-developer (>= 0.0.21, < 1.0.0)
153
+ trailblazer-option (0.1.2)
154
+ tzinfo (2.0.4)
155
+ concurrent-ruby (~> 1.0)
156
+ uber (0.1.0)
157
+ xpath (3.2.0)
158
+ nokogiri (~> 1.8)
159
+ zeitwerk (2.5.1)
160
+
161
+ PLATFORMS
162
+ x86_64-linux
163
+
164
+ DEPENDENCIES
165
+ actionpack (~> 6.1.0)
166
+ activerecord (~> 6.1.0)
167
+ appraisal
168
+ bundler
169
+ cells-erb
170
+ cells-rails
171
+ minitest
172
+ minitest-capybara
173
+ rake
174
+ reform-rails
175
+ sqlite3
176
+ trailblazer
177
+ trailblazer-cells
178
+ trailblazer-loader
179
+ trailblazer-rails!
180
+
181
+ BUNDLED WITH
182
+ 2.2.33
@@ -0,0 +1,17 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "cells-erb"
6
+ gem "cells-rails"
7
+ gem "reform-rails"
8
+ gem "trailblazer"
9
+ gem "trailblazer-cells"
10
+ gem "trailblazer-loader"
11
+ gem "sqlite3"
12
+ gem "minitest-capybara"
13
+ gem "appraisal"
14
+ gem "actionpack", "~> 7.0.0.rc1"
15
+ gem "activerecord", "~> 7.0.0.rc1"
16
+
17
+ gemspec path: "../"
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ trailblazer-rails (2.4.0)
5
+ railties (>= 5.2.0)
6
+ trailblazer (>= 2.1.0, < 2.2.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actionpack (7.0.0.rc1)
12
+ actionview (= 7.0.0.rc1)
13
+ activesupport (= 7.0.0.rc1)
14
+ rack (~> 2.0, >= 2.2.0)
15
+ rack-test (>= 0.6.3)
16
+ rails-dom-testing (~> 2.0)
17
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
+ actionview (7.0.0.rc1)
19
+ activesupport (= 7.0.0.rc1)
20
+ builder (~> 3.1)
21
+ erubi (~> 1.4)
22
+ rails-dom-testing (~> 2.0)
23
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
+ activemodel (7.0.0.rc1)
25
+ activesupport (= 7.0.0.rc1)
26
+ activerecord (7.0.0.rc1)
27
+ activemodel (= 7.0.0.rc1)
28
+ activesupport (= 7.0.0.rc1)
29
+ activesupport (7.0.0.rc1)
30
+ concurrent-ruby (~> 1.0, >= 1.0.2)
31
+ i18n (>= 1.6, < 2)
32
+ minitest (>= 5.1)
33
+ tzinfo (~> 2.0)
34
+ addressable (2.8.0)
35
+ public_suffix (>= 2.0.2, < 5.0)
36
+ appraisal (2.4.1)
37
+ bundler
38
+ rake
39
+ thor (>= 0.14.0)
40
+ builder (3.2.4)
41
+ capybara (3.36.0)
42
+ addressable
43
+ matrix
44
+ mini_mime (>= 0.1.3)
45
+ nokogiri (~> 1.8)
46
+ rack (>= 1.6.0)
47
+ rack-test (>= 0.6.3)
48
+ regexp_parser (>= 1.5, < 3.0)
49
+ xpath (~> 3.2)
50
+ cells (4.1.7)
51
+ declarative-builder (< 0.2.0)
52
+ declarative-option (< 0.2.0)
53
+ tilt (>= 1.4, < 3)
54
+ uber (< 0.2.0)
55
+ cells-erb (0.1.0)
56
+ cells (~> 4.0)
57
+ erbse (>= 0.1.1)
58
+ cells-rails (0.1.4)
59
+ actionpack (>= 5.0)
60
+ cells (>= 4.1.6, < 5.0.0)
61
+ concurrent-ruby (1.1.9)
62
+ crass (1.0.6)
63
+ declarative (0.0.20)
64
+ declarative-builder (0.1.0)
65
+ declarative-option (< 0.2.0)
66
+ declarative-option (0.1.0)
67
+ disposable (0.6.2)
68
+ declarative (>= 0.0.9, < 1.0.0)
69
+ representable (>= 3.1.1, < 3.2.0)
70
+ erbse (0.1.4)
71
+ temple
72
+ erubi (1.10.0)
73
+ hashie (5.0.0)
74
+ hirb (0.7.3)
75
+ i18n (1.8.11)
76
+ concurrent-ruby (~> 1.0)
77
+ loofah (2.12.0)
78
+ crass (~> 1.0.2)
79
+ nokogiri (>= 1.5.9)
80
+ matrix (0.4.2)
81
+ method_source (1.0.0)
82
+ mini_mime (1.1.2)
83
+ minitest (5.14.4)
84
+ minitest-capybara (0.9.0)
85
+ capybara
86
+ minitest (~> 5.0)
87
+ rake
88
+ nokogiri (1.12.5-x86_64-linux)
89
+ racc (~> 1.4)
90
+ public_suffix (4.0.6)
91
+ racc (1.6.0)
92
+ rack (2.2.3)
93
+ rack-test (1.1.0)
94
+ rack (>= 1.0, < 3)
95
+ rails-dom-testing (2.0.3)
96
+ activesupport (>= 4.2.0)
97
+ nokogiri (>= 1.6)
98
+ rails-html-sanitizer (1.4.2)
99
+ loofah (~> 2.3)
100
+ railties (7.0.0.rc1)
101
+ actionpack (= 7.0.0.rc1)
102
+ activesupport (= 7.0.0.rc1)
103
+ method_source
104
+ rake (>= 12.2)
105
+ thor (~> 1.0)
106
+ zeitwerk (~> 2.5)
107
+ rake (13.0.6)
108
+ reform (2.6.1)
109
+ disposable (>= 0.5.0, < 1.0.0)
110
+ representable (>= 3.1.1, < 3.2.0)
111
+ uber (< 0.2.0)
112
+ reform-rails (0.2.3)
113
+ activemodel (>= 5.0)
114
+ reform (>= 2.3.1, < 3.0.0)
115
+ regexp_parser (2.2.0)
116
+ representable (3.1.1)
117
+ declarative (< 0.1.0)
118
+ trailblazer-option (>= 0.1.1, < 0.2.0)
119
+ uber (< 0.2.0)
120
+ sqlite3 (1.4.2)
121
+ temple (0.8.2)
122
+ thor (1.1.0)
123
+ tilt (2.0.10)
124
+ trailblazer (2.1.0)
125
+ trailblazer-macro (>= 2.1.0, < 2.2.0)
126
+ trailblazer-macro-contract (>= 2.1.0, < 2.2.0)
127
+ trailblazer-operation
128
+ trailblazer-activity (0.12.2)
129
+ trailblazer-context (~> 0.5.0)
130
+ trailblazer-option (~> 0.1.0)
131
+ trailblazer-activity-dsl-linear (0.4.3)
132
+ trailblazer-activity (>= 0.12.2, < 0.13.0)
133
+ trailblazer-cells (0.0.3)
134
+ cells (>= 4.1.0.rc1, < 5.0.0)
135
+ trailblazer-context (0.5.0)
136
+ hashie (>= 3.0.0)
137
+ trailblazer-developer (0.0.22)
138
+ hirb
139
+ representable (>= 3.1.1, < 4.0.0)
140
+ trailblazer-activity (>= 0.12.2, < 1.0.0)
141
+ trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
142
+ trailblazer-loader (0.1.2)
143
+ trailblazer-macro (2.1.7)
144
+ trailblazer-activity-dsl-linear (>= 0.4.0, < 0.5.0)
145
+ trailblazer-operation (>= 0.7.0)
146
+ trailblazer-macro-contract (2.1.1)
147
+ reform (>= 2.2.0, < 3.0.0)
148
+ trailblazer-activity-dsl-linear (>= 0.4.0, < 0.5.0)
149
+ trailblazer-operation (0.7.5)
150
+ trailblazer-activity (>= 0.12.2, < 1.0.0)
151
+ trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
152
+ trailblazer-developer (>= 0.0.21, < 1.0.0)
153
+ trailblazer-option (0.1.2)
154
+ tzinfo (2.0.4)
155
+ concurrent-ruby (~> 1.0)
156
+ uber (0.1.0)
157
+ xpath (3.2.0)
158
+ nokogiri (~> 1.8)
159
+ zeitwerk (2.5.2)
160
+
161
+ PLATFORMS
162
+ x86_64-linux
163
+
164
+ DEPENDENCIES
165
+ actionpack (~> 7.0.0.rc1)
166
+ activerecord (~> 7.0.0.rc1)
167
+ appraisal
168
+ bundler
169
+ cells-erb
170
+ cells-rails
171
+ minitest
172
+ minitest-capybara
173
+ rake
174
+ reform-rails
175
+ sqlite3
176
+ trailblazer
177
+ trailblazer-cells
178
+ trailblazer-loader
179
+ trailblazer-rails!
180
+
181
+ BUNDLED WITH
182
+ 2.2.33
@@ -1,6 +1,4 @@
1
1
  module Trailblazer::Rails::Controller::Cell
2
- private # rubocop:disable Lint/UselessAccessModifier
3
-
4
2
  module Render
5
3
  def render(cell = nil, options = {}, *, &block)
6
4
  return super unless cell.kind_of?(::Cell::ViewModel)
@@ -16,7 +14,19 @@ module Trailblazer::Rails::Controller::Cell
16
14
 
17
15
  render({html: content}.merge(options))
18
16
  end
17
+
18
+ def cell(constant, model, options={})
19
+ cell_options = options.reverse_merge(options_for_cell(model, options))
20
+
21
+ super(constant, model, cell_options)
22
+ end
23
+
24
+ # Override this to customize what options are passed into the cell constructor.
25
+ # E.g. `{layout: Song::Cell::Layout}`
26
+ def options_for_cell(_model, _options)
27
+ {}
28
+ end
19
29
  end
20
30
 
21
- include Render unless method_defined?(:render_cell)
31
+ include Render unless method_defined?(:render_cell) # FIXME: this will be removed soon.
22
32
  end
@@ -1,10 +1,11 @@
1
1
  module Trailblazer::Rails
2
2
  module Controller
3
- def run_v21(operation, *dependencies)
3
+ # TODO: deprecate {*dependencies}.
4
+ def run_v21(operation, *dependencies, **variables)
4
5
  result = if Rails.application.config.trailblazer.enable_tracing
5
- _run_operation_v21(operation, :trace, *dependencies).tap { |r| _operation_trace(r) }
6
+ _run_operation_v21(operation, :trace, *dependencies, **variables).tap { |r| _operation_trace(r) }
6
7
  else
7
- _run_operation_v21(operation, :call, *dependencies)
8
+ _run_operation_v21(operation, :call, *dependencies, **variables)
8
9
  end
9
10
 
10
11
  _assign_trb_ivars(result)
@@ -20,8 +21,8 @@ module Trailblazer::Rails
20
21
 
21
22
  # Override to tweak params. Not recommended.
22
23
  # Use a deserializer instead.
23
- def _run_params(params)
24
- params
24
+ def _run_params(run_params)
25
+ run_params
25
26
  end
26
27
 
27
28
  # This is where we can inject Dry.RB containers and the like via dependencies.
@@ -35,10 +36,12 @@ module Trailblazer::Rails
35
36
  ctx
36
37
  end
37
38
 
38
- def _run_operation_v21(operation, call_method, *dependencies)
39
- operation.send(
39
+ def _run_operation_v21(operation, call_method, *dependencies, **variables)
40
+ operation.public_send(
40
41
  call_method,
41
- {params: _run_params(self.params)}.merge(*_run_runtime_options(*dependencies)) # rubocop:disable Style/RedundantSelf
42
+ {params: _run_params(params.dup)}.
43
+ merge(*_run_runtime_options(*dependencies)).
44
+ merge(variables)
42
45
  )
43
46
  end
44
47
 
@@ -1,31 +1,25 @@
1
1
  require "rails/railtie"
2
- require "trailblazer/loader"
3
- require "trailblazer/rails/railtie/extend_application_controller"
4
- require "trailblazer/rails/railtie/loader"
5
2
 
6
3
  module Trailblazer
7
4
  class Railtie < ::Rails::Railtie
8
5
  config.trailblazer = ActiveSupport::OrderedOptions.new
9
6
  ## Accept also an Array of controllers
10
- config.trailblazer.application_controller ||= 'ActionController::Base'
11
- config.trailblazer.enable_loader ||= true
12
- config.trailblazer.use_loader ||= true # TODO: remove with next release
7
+ config.trailblazer.application_controller ||= %w[ActionController::Base ActionController::API]
13
8
  config.trailblazer.enable_tracing ||= false
14
9
 
15
- include Loader
16
- include ExtendApplicationController
17
-
18
- private
10
+ initializer "trailblazer.application_controller", before: "finisher_hook" do
11
+ ActiveSupport.on_load(:action_controller) do |app|
12
+ Trailblazer::Railtie.extend_application_controller!(app)
13
+ end
14
+ end
19
15
 
20
- def reloader_class
21
- # Rails 5.0.0.rc1 says:
22
- # DEPRECATION WARNING: to_prepare is deprecated and will be removed from Rails 5.1
23
- # (use ActiveSupport::Reloader.to_prepare instead)
24
- if Gem.loaded_specs['activesupport'].version >= Gem::Version.new('5')
25
- ActiveSupport::Reloader
26
- else
27
- ActionDispatch::Reloader
16
+ def extend_application_controller!(app)
17
+ controllers = Array(::Rails.application.config.trailblazer.application_controller).map(&:to_s)
18
+ if controllers.include? app.to_s
19
+ app.send :include, Trailblazer::Rails::Controller
20
+ app.send :include, Trailblazer::Rails::Controller::Cell if defined?(::Cell)
28
21
  end
22
+ app
29
23
  end
30
24
  end
31
25
  end
@@ -1,5 +1,5 @@
1
1
  module Trailblazer
2
2
  module Rails
3
- VERSION = "2.1.6".freeze
3
+ VERSION = "2.4.0".freeze
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
- lib = File.expand_path('lib', __dir__)
1
+ lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'trailblazer/rails/version'
3
+ require "trailblazer/rails/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "trailblazer-rails"
@@ -9,18 +9,16 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ["apotonick@gmail.com"]
10
10
 
11
11
  spec.summary = "Convenient Rails support for Trailblazer."
12
- spec.homepage = "http://trailblazer.to/gems/trailblazer/2.0/rails.html"
12
+ spec.homepage = "https://trailblazer.to/2.1/docs/trailblazer.html#trailblazer-rails"
13
13
  spec.license = "MIT"
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- spec.add_dependency "railties", ">= 4.0.0"
19
- spec.add_dependency "trailblazer", ">= 2.1.0.beta1", "< 2.2.0"
20
- spec.add_dependency "trailblazer-loader", ">= 0.1.0"
18
+ spec.add_dependency "railties", ">= 5.2.0"
19
+ spec.add_dependency "trailblazer", ">= 2.1.0", "< 2.2.0"
21
20
 
22
- spec.add_development_dependency "bundler", "~> 1.10"
21
+ spec.add_development_dependency "bundler"
23
22
  spec.add_development_dependency "minitest"
24
23
  spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rubocop"
26
24
  end