trailblazer-rails 2.1.5 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,182 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ trailblazer-rails (2.3.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.3.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,8 @@
1
1
  module Trailblazer::Rails::Controller::Cell
2
- private
3
-
4
2
  module Render
5
3
  def render(cell = nil, options = {}, *, &block)
6
4
  return super unless cell.kind_of?(::Cell::ViewModel)
5
+
7
6
  render_cell(cell, options)
8
7
  end
9
8
 
@@ -13,9 +12,21 @@ module Trailblazer::Rails::Controller::Cell
13
12
  # render the cell.
14
13
  content = cell.()
15
14
 
16
- render({ html: content }.merge(options))
15
+ render({html: content}.merge(options))
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
+ {}
17
28
  end
18
29
  end
19
30
 
20
- include Render
31
+ include Render unless method_defined?(:render_cell) # FIXME: this will be removed soon.
21
32
  end
@@ -1,14 +1,14 @@
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
- @model = result[:model]
11
- @form = Trailblazer::Rails::Form.new(result["contract.default"], @model.class)
11
+ _assign_trb_ivars(result)
12
12
 
13
13
  yield(result) if result.success? && block_given?
14
14
 
@@ -17,11 +17,12 @@ module Trailblazer::Rails
17
17
 
18
18
  alias run run_v21 unless method_defined?(:run)
19
19
 
20
- private
20
+ private
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))
42
+ {params: _run_params(params.dup)}.
43
+ merge(*_run_runtime_options(*dependencies)).
44
+ merge(variables)
42
45
  )
43
46
  end
44
47
 
@@ -46,6 +49,15 @@ module Trailblazer::Rails
46
49
  puts result.wtf?
47
50
  end
48
51
 
52
+ def _assign_trb_ivars(result)
53
+ @model = result[:model]
54
+ @form = _wrap_with_trb_form(result["contract.default"], @model.class)
55
+ end
56
+
57
+ def _wrap_with_trb_form(form, model)
58
+ Trailblazer::Rails::Form.new(form, model)
59
+ end
60
+
49
61
  module Result
50
62
  def result
51
63
  @_result
@@ -1,30 +1,27 @@
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.use_loader ||= true
7
+ config.trailblazer.application_controller ||= "ActionController::Base"
12
8
  config.trailblazer.enable_tracing ||= false
13
9
 
14
- include Loader
15
- include ExtendApplicationController
16
-
17
- private
10
+ initializer "trailblazer.application_controller", before: "finisher_hook" do
11
+ ActiveSupport::Reloader.to_prepare do
12
+ ActiveSupport.on_load(:action_controller) do |app|
13
+ Trailblazer::Railtie.extend_application_controller!(app)
14
+ end
15
+ end
16
+ end
18
17
 
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
18
+ def extend_application_controller!(app)
19
+ controllers = Array(::Rails.application.config.trailblazer.application_controller).map(&:to_s)
20
+ if controllers.include? app.to_s
21
+ app.send :include, Trailblazer::Rails::Controller
22
+ app.send :include, Trailblazer::Rails::Controller::Cell if defined?(::Cell)
27
23
  end
24
+ app
28
25
  end
29
26
  end
30
27
  end
@@ -1,5 +1,5 @@
1
1
  module Trailblazer
2
2
  module Rails
3
- VERSION = "2.1.5"
3
+ VERSION = "2.3.0".freeze
4
4
  end
5
5
  end
@@ -5,8 +5,6 @@ module Trailblazer
5
5
  end
6
6
  end
7
7
 
8
- require "reform/rails"
9
-
10
8
  require "trailblazer/rails/controller"
11
9
  require "trailblazer/rails/cell"
12
10
  require "trailblazer/rails/form"
@@ -1 +1 @@
1
- require "trailblazer/rails"
1
+ require "trailblazer/rails" # rubocop:disable Naming/FileName
@@ -1,6 +1,6 @@
1
- lib = File.expand_path('../lib', __FILE__)
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"
@@ -8,21 +8,17 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["Nick Sutterer"]
9
9
  spec.email = ["apotonick@gmail.com"]
10
10
 
11
- spec.summary = %q{Convenient Rails support for Trailblazer.}
12
- spec.homepage = "http://trailblazer.to/gems/trailblazer/2.0/rails.html"
11
+ spec.summary = "Convenient Rails support for Trailblazer."
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
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
17
16
  spec.require_paths = ["lib"]
18
17
 
19
- spec.add_dependency "trailblazer", ">= 2.1.0.beta1", "< 2.2.0"
20
- spec.add_dependency "trailblazer-loader", ">= 0.1.0"
21
- spec.add_dependency "reform-rails", ">= 0.1.4", "< 0.2.0"
22
- spec.add_dependency "activesupport", ">= 5.0.0"
18
+ spec.add_dependency "railties", ">= 5.2.0"
19
+ spec.add_dependency "trailblazer", ">= 2.1.0", "< 2.2.0"
23
20
 
24
- spec.add_development_dependency "bundler", "~> 1.10"
25
- spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_development_dependency "bundler"
26
22
  spec.add_development_dependency "minitest"
27
- spec.add_development_dependency "rubocop"
23
+ spec.add_development_dependency "rake"
28
24
  end