jb 0.5.0 → 0.8.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb74db932925f1909325449f10a2ac2351ef0bb3b1a010828167d72455971f95
4
- data.tar.gz: 7164ea018d3efa679e7dcb87dd99c5c5747c04786abc970a8aa6a00144d36ed1
3
+ metadata.gz: b8532f278227b3fc1282898874bf192c8ccf72d8fd3c1d40f1fb4d2751c1894f
4
+ data.tar.gz: 395b638d4565433fa519951b12a906f32448d7c4a35a531f099679e0ed643366
5
5
  SHA512:
6
- metadata.gz: 723fe0582c315422cc15b0852ad5a3ddbefcad568aa0d98d1d0a2812bc293ca25a420e9111c15925c92ac9be1f848b63f00c0d0867ec60ba83c44940d434d607
7
- data.tar.gz: f7b76dadc834f0aefca888e502c641792eb7824e864bcf63374f162d38916f9a285a34f0463af37e4a3c507bb46b9dcd4ae7ac6cf0c7765a4d5a6442650108f1
6
+ metadata.gz: 7a1e9e60aee2347cc897ec6ec10061faf4b008b840dc6c95de373ca3d3ec1544853487c0be54b2a2777713dbff5b15a4fc35af04d25d106f6ba908db896af09c
7
+ data.tar.gz: c696aacf1ed03636f984980ab60a5a5b53eab6d4c54ad0562392daae1e32dc82464a59073e57c6061414634e6c49a8250787cda15c90be90dce7395e91a699f4
@@ -0,0 +1,63 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ schedule:
7
+ - cron: '26 13 * * *'
8
+
9
+ jobs:
10
+ build:
11
+ strategy:
12
+ matrix:
13
+ ruby_version: [ruby-head, '3.2', '3.1', '3.0', '2.7']
14
+ rails_version: [edge, '7.1', '7.0', '6.1']
15
+
16
+ include:
17
+ - ruby_version: '3.0'
18
+ rails_version: '6.0'
19
+
20
+ - ruby_version: '2.7'
21
+ rails_version: '6.0'
22
+
23
+ - ruby_version: '2.6'
24
+ rails_version: '6.1'
25
+ - ruby_version: '2.6'
26
+ rails_version: '6.0'
27
+ - ruby_version: '2.6'
28
+ rails_version: '5.2'
29
+ - ruby_version: '2.6'
30
+ rails_version: '5.1'
31
+ - ruby_version: '2.6'
32
+ rails_version: '5.0'
33
+ - ruby_version: '2.6'
34
+ rails_version: '4.2'
35
+ bundler_version: '1'
36
+
37
+ - ruby_version: '2.5'
38
+ rails_version: '5.2'
39
+ - ruby_version: '2.5'
40
+ rails_version: '4.2'
41
+ bundler_version: '1'
42
+
43
+ - ruby_version: '2.4'
44
+ rails_version: '5.2'
45
+ - ruby_version: '2.4'
46
+ rails_version: '4.2'
47
+ bundler_version: '1'
48
+
49
+ env:
50
+ RAILS_VERSION: ${{ matrix.rails_version }}
51
+
52
+ runs-on: ubuntu-latest
53
+
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ - uses: ruby/setup-ruby@v1
57
+ with:
58
+ ruby-version: ${{ matrix.ruby_version }}
59
+ bundler: ${{ matrix.bundler_version }}
60
+ bundler-cache: true
61
+ continue-on-error: ${{ (matrix.ruby_version == 'ruby-head') || (matrix.allow_failures == 'true') }}
62
+ - run: bundle exec rake
63
+ continue-on-error: ${{ (matrix.ruby_version == 'ruby-head') || (matrix.allow_failures == 'true') }}
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
+ gemfiles/*.lock
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
@@ -8,3 +9,4 @@
8
9
  /spec/reports/
9
10
  /tmp/
10
11
  /test/dummy_app/log/*
12
+ /test/dummy_app/tmp/
data/Gemfile CHANGED
@@ -1,10 +1,22 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  source 'https://rubygems.org'
3
4
 
4
5
  # Specify your gem's dependencies in jb.gemspec
5
6
  gemspec
6
7
 
8
+ if ENV['RAILS_VERSION'] == 'edge'
9
+ gem 'rails', git: 'https://github.com/rails/rails.git', branch: 'main'
10
+ elsif ENV['RAILS_VERSION']
11
+ gem 'rails', "~> #{ENV['RAILS_VERSION']}.0"
12
+ else
13
+ gem 'rails'
14
+ end
15
+
16
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
17
+ gem 'loofah', RUBY_VERSION < '2.5' ? '< 2.21.0' : '>= 0'
18
+ gem 'selenium-webdriver'
19
+ gem 'net-smtp' if RUBY_VERSION >= '3.1'
20
+
7
21
  # For benchmarking
8
- gem 'jbuilder'
9
- gem 'benchmark-ips'
10
22
  gem 'action_args'
data/README.md CHANGED
@@ -21,19 +21,34 @@ Put a template file named `*.jb` in your Rails app's `app/views/*` directory, an
21
21
 
22
22
  ## Features
23
23
 
24
- * No ugly builder syntax
24
+ * No original builder syntax that you have to learn
25
25
  * No `method_missing` calls
26
26
  * `render_partial` with :collection option actually renders the collection (unlike Jbuilder)
27
27
 
28
28
 
29
29
  ## Syntax
30
30
 
31
- A `.jb` template should contain Ruby code that returns any Ruby Object that responds_to `to_json` (generally Hash or Array).
32
- Then the return value will be `to_json`ed to a JSON String.
31
+ A `.jb` template should contain Ruby code that returns any Ruby Object that responds\_to `to_json` (generally Hash or Array). Then the return value will be `to_json`ed to a JSON String.
33
32
 
34
33
 
35
34
  ## Examples
36
35
 
36
+ Let's start with a very simple one. Just write a Ruby Hash as a template:
37
+
38
+ ``` ruby
39
+ {language: 'Ruby', author: {name: 'Matz'}}
40
+ ```
41
+
42
+ This renders the following JSON text:
43
+
44
+ ``` javascript
45
+ {"language": "Ruby", "author": {"name": "Matz"}}
46
+ ```
47
+
48
+ Note that modern Ruby Hash syntax pretty much looks alike JSON syntax. It's super-straight forward. Who needs a DSL to do this?
49
+
50
+ Next one is a little bit advanced usage. The template doesn't have to be a single literal but can be any code that returns a Hash object:
51
+
37
52
  ``` ruby
38
53
  # app/views/messages/show.json.jb
39
54
 
@@ -97,18 +112,17 @@ This will build the following structure:
97
112
  }
98
113
  ```
99
114
 
100
- To define attribute and structure names dynamically, just use Ruby Hash.
101
- Note that modern Ruby Hash syntax pretty much looks alike JSON syntax.
102
- It's super-straight forward. Who needs a DSL to do this?
115
+ If you want to define attribute and structure names dynamically, of course you still can do this with a Ruby Hash literal.
103
116
 
104
117
  ``` ruby
105
- {author: {name: 'Matz'}}
118
+ # model_name, column_name = :author, :name
119
+
120
+ {model_name => {column_name => 'Matz'}}
106
121
 
107
122
  # => {"author": {"name": "Matz"}}
108
123
  ```
109
124
 
110
- Top level arrays can be handled directly. Useful for index and other collection actions.
111
- And you know, Ruby is such a powerful language for manipulating collections:
125
+ Top level arrays can be handled directly. Useful for index and other collection actions. And you know, Ruby is such a powerful language for manipulating collections:
112
126
 
113
127
  ``` ruby
114
128
  # @comments = @post.comments
@@ -136,11 +150,7 @@ Jb has no special DSL method for extracting attributes from array directly, but
136
150
  # => [{"id": 1, "name": "Matz"}, {"id": 2, "name": "Nobu"}]
137
151
  ```
138
152
 
139
- You can use Jb directly as an Action View template language.
140
- When required in Rails, you can create views ala show.json.jb.
141
- You'll notice in the following example that the `.jb` template
142
- doesn't have to be one big Ruby Hash literal as a whole
143
- but it can be any Ruby code that finally returns a Hash instance.
153
+ You can use Jb directly as an Action View template language. When required in Rails, you can create views ala `show.json.jb`. You'll notice in the following example that the `.jb` template doesn't have to be one big Ruby Hash literal as a whole but it can be any Ruby code that finally returns a Hash instance.
144
154
 
145
155
  ``` ruby
146
156
  # Any helpers available to views are available in the template
@@ -163,10 +173,7 @@ end
163
173
  json
164
174
  ```
165
175
 
166
- You can use partials as well. The following will render the file
167
- `views/comments/_comments.json.jb`, and set a local variable
168
- `comments` with all this message's comments, which you can use inside
169
- the partial.
176
+ You can use partials as well. The following will render the file `views/comments/_comments.json.jb`, and set a local variable `comments` with all this message's comments, which you can use inside the partial.
170
177
 
171
178
  ```ruby
172
179
  render 'comments/comments', comments: @message.comments
@@ -176,12 +183,10 @@ It's also possible to render collections of partials:
176
183
 
177
184
  ```ruby
178
185
  render partial: 'posts/post', collection: @posts, as: :post
179
-
180
- # or
181
-
182
- render @post.comments
183
186
  ```
184
187
 
188
+ > NOTE: Don't use `render @post.comments` because if the collection is empty, `render` will return `nil` instead of an empty array.
189
+
185
190
  You can pass any objects into partial templates with or without `:locals` option.
186
191
 
187
192
  ```ruby
@@ -194,7 +199,7 @@ render 'sub_template', user: user
194
199
 
195
200
  You can of course include Ruby `nil` as a Hash value if you want. That would become `null` in the JSON.
196
201
 
197
- To prevent Jb from including null values in the output, Active Support provides `Hash#compact!` method for you:
202
+ You can use `Hash#compact`/`!` method to prevent including `null` values in the output:
198
203
 
199
204
  ```ruby
200
205
  {foo: nil, bar: 'bar'}.compact
@@ -212,8 +217,7 @@ end
212
217
 
213
218
 
214
219
  ## The Generator
215
- Jb extends the default Rails scaffold generator and adds some .jb templates.
216
- If you don't need them, please configure like so.
220
+ Jb extends the default Rails scaffold generator and adds some `.jb` templates. If you don't need them, please configure like so.
217
221
 
218
222
  ```ruby
219
223
  Rails.application.config.generators.jb false
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "bundler/gem_tasks"
3
4
  require "rake/testtask"
4
5
 
data/bin/benchmark.sh CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  cd $(dirname "$0")/../test/dummy_app
4
4
 
5
- BUNDLE_GEMFILE=../../Gemfile bundle e rails r bin/bench.rb
5
+ BUNDLE_GEMFILE=../../gemfiles/benchmark.gemfile bundle e rails r bin/bench.rb
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gem 'rake'
6
+ gem 'rails'
7
+
8
+ gem 'jbuilder'
9
+ gem 'benchmark-ips'
10
+ gem 'action_args'
data/jb.gemspec CHANGED
@@ -1,5 +1,6 @@
1
1
  # coding: utf-8
2
2
  # frozen_string_literal: true
3
+
3
4
  lib = File.expand_path('../lib', __FILE__)
4
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
6
  require 'jb/version'
@@ -20,11 +21,11 @@ Gem::Specification.new do |spec|
20
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
22
  spec.require_paths = ["lib"]
22
23
 
23
- spec.add_dependency 'multi_json'
24
-
25
- spec.add_development_dependency "bundler", "~> 1.12"
24
+ spec.add_development_dependency 'bundler'
26
25
  spec.add_development_dependency 'rake'
27
26
  spec.add_development_dependency 'test-unit-rails'
28
27
  spec.add_development_dependency 'rails'
29
- spec.add_development_dependency 'capybara'
28
+ spec.add_development_dependency 'action_args'
29
+ spec.add_development_dependency 'debug'
30
+ spec.add_development_dependency 'selenium-webdriver'
30
31
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'rails/generators/named_base'
3
4
  require 'rails/generators/resource_helpers'
4
5
 
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'rails/generators'
3
4
  require 'rails/generators/rails/scaffold_controller/scaffold_controller_generator'
4
5
 
5
6
  module Rails
6
7
  module Generators
7
8
  class ScaffoldControllerGenerator
8
- hook_for :jb, default: true
9
+ hook_for :jb, type: :boolean, default: true
9
10
  end
10
11
  end
11
12
  end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ # Monkey-patches for Action View 4 and 5
3
+
4
+ module Jb
5
+ module PartialRenderer
6
+ module JbTemplateDetector
7
+ # A monkey-patch to inject StrongArray module to Jb partial renderer
8
+ private def find_partial(*)
9
+ template = super
10
+ extend RenderCollectionExtension if template && (template.handler == Jb::Handler)
11
+ template
12
+ end
13
+ end
14
+
15
+ # A horrible monkey-patch to prevent rendered collection from being converted to String
16
+ module StrongArray
17
+ def join(*)
18
+ self
19
+ end
20
+
21
+ def html_safe
22
+ self
23
+ end
24
+ end
25
+
26
+ # A monkey-patch strengthening rendered collection
27
+ module RenderCollectionExtension
28
+ private def collection_with_template
29
+ super.extend StrongArray
30
+ end
31
+
32
+ private def collection_without_template
33
+ super.extend StrongArray
34
+ end
35
+
36
+ private def render_collection
37
+ return [] if @collection.blank?
38
+ super
39
+ end
40
+ end
41
+ end
42
+
43
+ # A monkey-patch that converts non-partial result to a JSON String
44
+ module TemplateRenderer
45
+ module JSONizer
46
+ def render_template(template, *)
47
+ template.respond_to?(:handler) && (template.handler == Jb::Handler) ? super.to_json : super
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ ::ActionView::PartialRenderer.prepend ::Jb::PartialRenderer::JbTemplateDetector
54
+ ::ActionView::TemplateRenderer.prepend ::Jb::TemplateRenderer::JSONizer
@@ -1,54 +1,70 @@
1
1
  # frozen_string_literal: true
2
- require 'multi_json'
2
+ # Monkey-patches for Action View 6+
3
3
 
4
4
  module Jb
5
- module PartialRenderer
6
- module JbTemplateDetector
7
- # A monkey-patch to inject StrongArray module to Jb partial renderer
8
- private def find_partial
9
- template = super
10
- extend RenderCollectionExtension if template && (template.handler == Jb::Handler)
11
- template
5
+ # A monkey-patch that converts non-partial result to a JSON String
6
+ module TemplateRenderer
7
+ module JSONizer
8
+ def render_template(_view, template, *)
9
+ rendered_template = super
10
+ rendered_template.instance_variable_set :@body, rendered_template.body.to_json if template.respond_to?(:handler) && (template.handler == Jb::Handler)
11
+ rendered_template
12
12
  end
13
13
  end
14
+ end
14
15
 
15
- # A horrible monkey-patch to prevent rendered collection from being converted to String
16
- module StrongArray
17
- def join(*)
18
- self
19
- end
20
-
21
- def html_safe
22
- self
23
- end
16
+ # A wrapper class for template result that makes `to_s` method do nothing
17
+ class TemplateResult < SimpleDelegator
18
+ def to_s
19
+ __getobj__
24
20
  end
21
+ end
25
22
 
26
- # A monkey-patch strengthening rendered collection
27
- module RenderCollectionExtension
28
- private def collection_with_template
29
- super.extend StrongArray
30
- end
31
-
32
- private def collection_without_template
33
- super.extend StrongArray
34
- end
23
+ # Rails 7.1+: A monkey-patch not to stringify rendered object from JB templates
24
+ module TemlateResultCaster
25
+ def _run(method, template, *, **)
26
+ val = super
27
+ val = Jb::TemplateResult.new val if template.respond_to?(:handler) && (template.handler == Jb::Handler)
28
+ val
29
+ end
30
+ end
35
31
 
36
- private def render_collection
37
- return [] if @collection.blank?
38
- super
32
+ # Rails 6.1+: A monkey-patch for jb template collection result's `body` not to return a String but an Array
33
+ module CollectionRendererExtension
34
+ private def render_collection(_collection, _view, _path, template, _layout, _block)
35
+ obj = super
36
+ if template.respond_to?(:handler) && (template.handler == Jb::Handler)
37
+ if ActionView::AbstractRenderer::RenderedCollection::EmptyCollection === obj
38
+ def obj.body; []; end
39
+ else
40
+ def obj.body; @rendered_templates.map(&:body); end
41
+ end
39
42
  end
43
+ obj
40
44
  end
41
45
  end
42
46
 
43
- # A monkey-patch that converts non-partial result to a JSON String
44
- module TemplateRenderer
45
- module JSONizer
46
- def render_template(template, *)
47
- template.respond_to?(:handler) && (template.handler == Jb::Handler) ? MultiJson.dump(super) : super
47
+ # Rails 6.0: A monkey-patch for jb template collection result's `body` not to return a String but an Array
48
+ module PartialRendererExtension
49
+ private def render_collection(_view, template)
50
+ obj = super
51
+ if template.respond_to?(:handler) && (template.handler == Jb::Handler)
52
+ if ActionView::AbstractRenderer::RenderedCollection::EmptyCollection === obj
53
+ def obj.body; []; end
54
+ else
55
+ def obj.body; @rendered_templates.map(&:body); end
56
+ end
48
57
  end
58
+ obj
49
59
  end
50
60
  end
51
61
  end
52
62
 
53
- ::ActionView::PartialRenderer.prepend ::Jb::PartialRenderer::JbTemplateDetector
54
63
  ::ActionView::TemplateRenderer.prepend ::Jb::TemplateRenderer::JSONizer
64
+ ::ActionView::Base.prepend ::Jb::TemlateResultCaster if (ActionView::VERSION::MAJOR >= 7) && (ActionView::VERSION::MINOR >= 1)
65
+ begin
66
+ # ActionView::CollectionRenderer is a newly added class since 6.1
67
+ ::ActionView::CollectionRenderer.prepend ::Jb::CollectionRendererExtension
68
+ rescue NameError
69
+ ::ActionView::PartialRenderer.prepend ::Jb::PartialRendererExtension
70
+ end
data/lib/jb/handler.rb CHANGED
@@ -1,11 +1,12 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Jb
3
4
  class Handler
4
5
  class_attribute :default_format
5
6
  self.default_format = :json
6
7
 
7
- def self.call(template)
8
- template.source
8
+ def self.call(template, source=nil)
9
+ source || template.source
9
10
  end
10
11
 
11
12
  def self.handles_encoding?
data/lib/jb/railtie.rb CHANGED
@@ -1,14 +1,34 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Jb
3
4
  class Railtie < ::Rails::Railtie
4
5
  initializer 'jb' do
5
6
  ActiveSupport.on_load :action_view do
6
- require 'jb/action_view_monkeys'
7
+ if Rails::VERSION::MAJOR >= 6
8
+ require 'jb/action_view_monkeys'
9
+ else
10
+ require 'jb/action_view_legacy_monkeys'
11
+ end
7
12
  require 'jb/handler'
8
13
  ::ActionView::Template.register_template_handler :jb, Jb::Handler
9
14
  end
10
15
  end
11
16
 
17
+ if Rails::VERSION::MAJOR >= 5
18
+ module ::ActionController
19
+ module ApiRendering
20
+ include ActionView::Rendering
21
+ end
22
+ end
23
+
24
+ ActiveSupport.on_load :action_controller do
25
+ if self == ActionController::API
26
+ include ActionController::Helpers
27
+ include ActionController::ImplicitRender
28
+ end
29
+ end
30
+ end
31
+
12
32
  generators do |app|
13
33
  Rails::Generators.configure! app.config.generators
14
34
  Rails::Generators.hidden_namespaces.uniq!
data/lib/jb/version.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Jb
3
- VERSION = '0.5.0'
4
+ VERSION = '0.8.2'
4
5
  end
data/lib/jb.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "jb/version"
3
4
  require 'jb/railtie'
metadata CHANGED
@@ -1,23 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-21 00:00:00.000000000 Z
11
+ date: 2023-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: multi_json
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -25,21 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.12'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.12'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: test-unit-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: test-unit-rails
56
+ name: rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,21 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rails
70
+ name: action_args
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: debug
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
@@ -81,7 +95,7 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: capybara
98
+ name: selenium-webdriver
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -101,8 +115,8 @@ executables: []
101
115
  extensions: []
102
116
  extra_rdoc_files: []
103
117
  files:
118
+ - ".github/workflows/main.yml"
104
119
  - ".gitignore"
105
- - ".travis.yml"
106
120
  - Gemfile
107
121
  - LICENSE.txt
108
122
  - README.md
@@ -110,12 +124,14 @@ files:
110
124
  - bin/benchmark.sh
111
125
  - bin/console
112
126
  - bin/setup
127
+ - gemfiles/benchmark.gemfile
113
128
  - jb.gemspec
114
129
  - lib/generators/rails/jb_generator.rb
115
130
  - lib/generators/rails/scaffold_controller_generator.rb
116
131
  - lib/generators/rails/templates/index.json.jb
117
132
  - lib/generators/rails/templates/show.json.jb
118
133
  - lib/jb.rb
134
+ - lib/jb/action_view_legacy_monkeys.rb
119
135
  - lib/jb/action_view_monkeys.rb
120
136
  - lib/jb/handler.rb
121
137
  - lib/jb/railtie.rb
@@ -124,7 +140,7 @@ homepage: https://github.com/amatsuda/jb
124
140
  licenses:
125
141
  - MIT
126
142
  metadata: {}
127
- post_install_message:
143
+ post_install_message:
128
144
  rdoc_options: []
129
145
  require_paths:
130
146
  - lib
@@ -139,9 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
155
  - !ruby/object:Gem::Version
140
156
  version: '0'
141
157
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.7.3
144
- signing_key:
158
+ rubygems_version: 3.5.0.dev
159
+ signing_key:
145
160
  specification_version: 4
146
161
  summary: Faster and simpler Jbuilder alternative
147
162
  test_files: []
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.4.1
5
- before_install: gem update bundler