trailblazer-rails 2.1.7 → 2.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.
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ trailblazer-rails (2.2.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.22
@@ -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.2.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.1)
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.22
@@ -1,9 +1,9 @@
1
1
  module Trailblazer::Rails::Controller::Cell
2
- private # rubocop:disable Lint/UselessAccessModifier
2
+ private
3
3
 
4
4
  module Render
5
5
  def render(cell = nil, options = {}, *, &block)
6
- return super unless cell.kind_of?(::Cell::ViewModel) # rubocop:disable Style/ClassCheck
6
+ return super unless cell.kind_of?(::Cell::ViewModel)
7
7
 
8
8
  render_cell(cell, options)
9
9
  end
@@ -16,7 +16,19 @@ module Trailblazer::Rails::Controller::Cell
16
16
 
17
17
  render({html: content}.merge(options))
18
18
  end
19
+
20
+ def cell(constant, model, options={})
21
+ cell_options = options.reverse_merge(options_for_cell(model, options))
22
+
23
+ super(constant, model, cell_options)
24
+ end
25
+
26
+ # Override this to customize what options are passed into the cell constructor.
27
+ # E.g. `{layout: Song::Cell::Layout}`
28
+ def options_for_cell(_model, _options)
29
+ {}
30
+ end
19
31
  end
20
32
 
21
- include Render unless method_defined?(:render_cell)
33
+ include Render unless method_defined?(:render_cell) # FIXME: this will be removed soon.
22
34
  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
 
@@ -7,7 +7,7 @@ module Trailblazer
7
7
 
8
8
  included do
9
9
  initializer "trailblazer.application_controller", before: "finisher_hook" do
10
- reloader_class.to_prepare do
10
+ ActiveSupport::Reloader.to_prepare do
11
11
  ActiveSupport.on_load(:action_controller) do |app|
12
12
  Trailblazer::Railtie.extend_application_controller!(app)
13
13
  end
@@ -5,7 +5,7 @@ module Trailblazer
5
5
  module Loader
6
6
  extend ActiveSupport::Concern
7
7
 
8
- included do # rubocop:disable Metrics/BlockLength
8
+ included do
9
9
  def self.load_concepts(app)
10
10
  load_for(app)
11
11
 
@@ -21,13 +21,13 @@ module Trailblazer
21
21
  end
22
22
 
23
23
  # Prepend model file, before the concept files like operation.rb get loaded.
24
- ModelFile = lambda do |input, options|
24
+ ModelFile = ->(input, options) do
25
25
  model = "app/models/#{options[:name]}.rb"
26
26
  File.exist?(model) ? [model] + input : input
27
27
  end
28
28
 
29
29
  # Load all model files before any TRB files.
30
- AllModelFiles = lambda do |input, options|
30
+ AllModelFiles = ->(input, options) do
31
31
  Dir.glob("#{options[:root]}/app/models/**/*.rb").sort + input
32
32
  end
33
33
 
@@ -47,7 +47,7 @@ module Trailblazer
47
47
  end
48
48
 
49
49
  if config.trailblazer.enable_loader || config.trailblazer.use_loader
50
- reloader_class.to_prepare do
50
+ ActiveSupport::Reloader.to_prepare do
51
51
  Trailblazer::Railtie.load_concepts(app)
52
52
  end
53
53
  end
@@ -13,18 +13,5 @@ module Trailblazer
13
13
 
14
14
  include Loader
15
15
  include ExtendApplicationController
16
-
17
- private
18
-
19
- def reloader_class
20
- # Rails 5.0.0.rc1 says:
21
- # DEPRECATION WARNING: to_prepare is deprecated and will be removed from Rails 5.1
22
- # (use ActiveSupport::Reloader.to_prepare instead)
23
- if Gem.loaded_specs["activesupport"].version >= Gem::Version.new("5")
24
- ActiveSupport::Reloader
25
- else
26
- ActionDispatch::Reloader
27
- end
28
- end
29
16
  end
30
17
  end
@@ -1,5 +1,5 @@
1
1
  module Trailblazer
2
2
  module Rails
3
- VERSION = "2.1.7".freeze
3
+ VERSION = "2.2.0".freeze
4
4
  end
5
5
  end
@@ -9,18 +9,17 @@ 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 "trailblazer-loader", ">= 0.1.0"
22
+ spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "minitest"
24
24
  spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rubocop"
26
25
  end