gearhead 0.1.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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +220 -0
- data/Rakefile +32 -0
- data/app/controllers/gearhead/application_controller.rb +5 -0
- data/app/controllers/gearhead/gears_controller.rb +98 -0
- data/config/routes.rb +9 -0
- data/lib/gearhead.rb +44 -0
- data/lib/gearhead/actions/create.rb +30 -0
- data/lib/gearhead/actions/index.rb +88 -0
- data/lib/gearhead/actions/show.rb +22 -0
- data/lib/gearhead/actions/update.rb +25 -0
- data/lib/gearhead/configuration.rb +68 -0
- data/lib/gearhead/engine.rb +10 -0
- data/lib/gearhead/extensions/actions.rb +29 -0
- data/lib/gearhead/extensions/associations.rb +13 -0
- data/lib/gearhead/extensions/attributes.rb +20 -0
- data/lib/gearhead/extensions/custom_actions.rb +36 -0
- data/lib/gearhead/extensions/enabled_actions.rb +9 -0
- data/lib/gearhead/extensions/finder.rb +14 -0
- data/lib/gearhead/extensions/pagination.rb +26 -0
- data/lib/gearhead/extensions/permitted_params.rb +36 -0
- data/lib/gearhead/extensions/querying.rb +13 -0
- data/lib/gearhead/extensions/scoping.rb +18 -0
- data/lib/gearhead/extensions/serialization.rb +21 -0
- data/lib/gearhead/gear.rb +56 -0
- data/lib/gearhead/gear_lookup.rb +35 -0
- data/lib/gearhead/gearbox.rb +83 -0
- data/lib/gearhead/paginators/lookup.rb +27 -0
- data/lib/gearhead/paginators/paginator.rb +48 -0
- data/lib/gearhead/paginators/pagy_paginator.rb +17 -0
- data/lib/gearhead/paginators/will_paginate_paginator.rb +13 -0
- data/lib/gearhead/params_builder.rb +14 -0
- data/lib/gearhead/registry.rb +26 -0
- data/lib/gearhead/resource_finder.rb +20 -0
- data/lib/gearhead/router.rb +51 -0
- data/lib/gearhead/serializers/active_model_serializers/invalid_request_serializer.rb +7 -0
- data/lib/gearhead/serializers/active_model_serializers/invalid_resource_serializer.rb +7 -0
- data/lib/gearhead/serializers/active_model_serializers/resource_serializer.rb +16 -0
- data/lib/gearhead/serializers/fast_jsonapi/invalid_request_serializer.rb +7 -0
- data/lib/gearhead/serializers/fast_jsonapi/invalid_resource_serializer.rb +7 -0
- data/lib/gearhead/serializers/fast_jsonapi/resource_serializer.rb +16 -0
- data/lib/gearhead/serializers/invalid_request_serializer.rb +24 -0
- data/lib/gearhead/serializers/invalid_resource_serializer.rb +59 -0
- data/lib/gearhead/serializers/lookup.rb +27 -0
- data/lib/gearhead/version.rb +3 -0
- data/lib/generators/gearhead/gear/gear_generator.rb +14 -0
- data/lib/generators/gearhead/gear/templates/gear.rb.erb +3 -0
- data/lib/generators/gearhead/install/install_generator.rb +17 -0
- data/lib/generators/gearhead/install/templates/gearhead.rb.erb +61 -0
- metadata +266 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Serializers
|
3
|
+
module FastJsonapi
|
4
|
+
class ResourceSerializer
|
5
|
+
def self.for(page)
|
6
|
+
klass = Class.new
|
7
|
+
klass.include JSONAPI::Serializer
|
8
|
+
klass.set_type page.resource.model_name.singular_route_key.to_param
|
9
|
+
klass.attributes *(page._gear_attributes.presence || page.default_attributes)
|
10
|
+
|
11
|
+
klass
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Serializers
|
3
|
+
class InvalidRequestSerializer
|
4
|
+
|
5
|
+
def initialize(request, message, status)
|
6
|
+
@request = request
|
7
|
+
@message = message
|
8
|
+
@status = status
|
9
|
+
end
|
10
|
+
|
11
|
+
def as_json(options = nil)
|
12
|
+
{}.tap do |hash|
|
13
|
+
hash[:status] = @status
|
14
|
+
hash[:url] = @request.url
|
15
|
+
hash[:message] = @message
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_json(options = nil)
|
20
|
+
as_json.to_json(options)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Serializers
|
3
|
+
class InvalidResourceSerializer
|
4
|
+
attr_reader :resource, :errors
|
5
|
+
alias_method :serializable_hash, :as_json
|
6
|
+
alias_method :serialized_json, :to_json
|
7
|
+
|
8
|
+
def initialize(resource, options = {})
|
9
|
+
@resource = resource
|
10
|
+
@errors = errors_for(resource).flatten
|
11
|
+
end
|
12
|
+
|
13
|
+
def id
|
14
|
+
resource.id.to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
def type
|
18
|
+
resource.class.name.downcase
|
19
|
+
end
|
20
|
+
|
21
|
+
def serializable_hash(options = nil)
|
22
|
+
{}.tap do |hash|
|
23
|
+
hash[:id] = id if has_id?
|
24
|
+
hash[:type] = type if has_id?
|
25
|
+
hash[:errors] = errors
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def serialized_json(options = nil)
|
30
|
+
serializable_hash.to_json(options)
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def has_id?
|
36
|
+
@resource.respond_to?(:id)
|
37
|
+
end
|
38
|
+
|
39
|
+
def errors_for(resource)
|
40
|
+
resource.errors.messages.map do |field, errors|
|
41
|
+
build_hashes_for(field, errors)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def build_hashes_for(field, errors)
|
46
|
+
errors.map do |error_message|
|
47
|
+
build_hash_for(field, error_message)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def build_hash_for(field, error_message)
|
52
|
+
{}.tap do |hash|
|
53
|
+
hash[:source] = {pointer: "/data/attributes/#{field}"}
|
54
|
+
hash[:detail] = error_message
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Serializers
|
3
|
+
class Lookup
|
4
|
+
def self.for(action)
|
5
|
+
new(action).serializer
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(action)
|
9
|
+
@action = action.to_s
|
10
|
+
end
|
11
|
+
|
12
|
+
def serializer
|
13
|
+
"::Gearhead::Serializers::#{adapter}::#{@action.classify}Serializer".constantize
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def adapter_name
|
19
|
+
::Gearhead.config.serialization.adapter
|
20
|
+
end
|
21
|
+
|
22
|
+
def adapter
|
23
|
+
adapter_name.to_s.classify
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Generators
|
3
|
+
class GearGenerator < Rails::Generators::NamedBase
|
4
|
+
desc "Registers resources with Gearhead"
|
5
|
+
|
6
|
+
source_root File.expand_path("templates", __dir__)
|
7
|
+
|
8
|
+
def generate_config_file
|
9
|
+
template "gear.rb.erb", "app/gears/#{file_path.tr('/', '_').pluralize}_gear.rb"
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Gearhead
|
2
|
+
module Generators
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
desc "Installs Gearhead"
|
5
|
+
|
6
|
+
source_root File.expand_path("templates", __dir__)
|
7
|
+
|
8
|
+
def generate_config_file
|
9
|
+
template "gearhead.rb.erb", "config/initializers/gearhead.rb"
|
10
|
+
end
|
11
|
+
|
12
|
+
def install_routes
|
13
|
+
inject_into_file "config/routes.rb", "\n Gearbox.routes(self)", after: /Rails.application.routes.draw do/
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
Gearhead.configure do |config|
|
2
|
+
# == Routing
|
3
|
+
#
|
4
|
+
# The endpoint in which to mount gearhead on.
|
5
|
+
# Default is "/gearhead" — must start with a slash, and have no trailing slash
|
6
|
+
# config.endpoint = "/api/v314"
|
7
|
+
#
|
8
|
+
# The default actions a Gear can respond to
|
9
|
+
# Default is [:index, :create, :show, :update, :destroy]
|
10
|
+
# config.actions = [:index, :show]
|
11
|
+
#
|
12
|
+
|
13
|
+
# == Querying
|
14
|
+
#
|
15
|
+
# The default scope of a Gear will be the default scope of the resource.
|
16
|
+
# Default is nil
|
17
|
+
# config.scope = :visible
|
18
|
+
#
|
19
|
+
|
20
|
+
# == Params
|
21
|
+
#
|
22
|
+
# Ignored params for creating/updating records
|
23
|
+
# Default is [:id, :created_at, :updated_at]
|
24
|
+
# config.ignored_params = [:id, :created_at, :updated_at]
|
25
|
+
#
|
26
|
+
|
27
|
+
# == Automount
|
28
|
+
#
|
29
|
+
# Change this to true if you want to automatically mount all your resources.
|
30
|
+
# config.automount.enabled = false
|
31
|
+
#
|
32
|
+
# Automatically mount most of your resources
|
33
|
+
# config.automount.resources = ['User', 'Post', 'Comment']
|
34
|
+
#
|
35
|
+
# Don't automatically mount these resources
|
36
|
+
# config.automount.excluded = ['User', 'Post']
|
37
|
+
#
|
38
|
+
|
39
|
+
# == Serialization
|
40
|
+
#
|
41
|
+
# Change the default serializer
|
42
|
+
# Currently supports FastJSONAPI (:fast_jsonapi) and ActiveModelSerializers (:active_model_serializers)
|
43
|
+
# Default is :fast_jsonapi
|
44
|
+
# config.serialization.adapter = :fast_jsonapi
|
45
|
+
#
|
46
|
+
|
47
|
+
# == Pagination
|
48
|
+
#
|
49
|
+
# Change the default paginator
|
50
|
+
# Currently supports :pagy and :will_paginate
|
51
|
+
# Default is :pagy
|
52
|
+
# config.pagination.adapter = :pagy
|
53
|
+
#
|
54
|
+
|
55
|
+
# == Controller
|
56
|
+
#
|
57
|
+
# Base class for the Gearhead controller
|
58
|
+
# Default is 'ApplicationController'
|
59
|
+
# config.base_controller = 'ApplicationController'
|
60
|
+
#
|
61
|
+
end
|
metadata
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gearhead
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Josh
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-09-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 6.0.3
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 6.0.3.2
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 6.0.3
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 6.0.3.2
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: pg
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: ffaker
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: will_paginate
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: active_model_serializers
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: better_errors
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: binding_of_caller
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: pry
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: ransack
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '2.3'
|
138
|
+
type: :runtime
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '2.3'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: jsonapi-serializer
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '1.17'
|
152
|
+
type: :runtime
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '1.17'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: pagy
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0.19'
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0.19'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: zeitwerk
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '2.2'
|
180
|
+
type: :runtime
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '2.2'
|
187
|
+
description: Description of Gearhead.
|
188
|
+
email:
|
189
|
+
- josh@josh.mn
|
190
|
+
executables: []
|
191
|
+
extensions: []
|
192
|
+
extra_rdoc_files: []
|
193
|
+
files:
|
194
|
+
- MIT-LICENSE
|
195
|
+
- README.md
|
196
|
+
- Rakefile
|
197
|
+
- app/controllers/gearhead/application_controller.rb
|
198
|
+
- app/controllers/gearhead/gears_controller.rb
|
199
|
+
- config/routes.rb
|
200
|
+
- lib/gearhead.rb
|
201
|
+
- lib/gearhead/actions/create.rb
|
202
|
+
- lib/gearhead/actions/index.rb
|
203
|
+
- lib/gearhead/actions/show.rb
|
204
|
+
- lib/gearhead/actions/update.rb
|
205
|
+
- lib/gearhead/configuration.rb
|
206
|
+
- lib/gearhead/engine.rb
|
207
|
+
- lib/gearhead/extensions/actions.rb
|
208
|
+
- lib/gearhead/extensions/associations.rb
|
209
|
+
- lib/gearhead/extensions/attributes.rb
|
210
|
+
- lib/gearhead/extensions/custom_actions.rb
|
211
|
+
- lib/gearhead/extensions/enabled_actions.rb
|
212
|
+
- lib/gearhead/extensions/finder.rb
|
213
|
+
- lib/gearhead/extensions/pagination.rb
|
214
|
+
- lib/gearhead/extensions/permitted_params.rb
|
215
|
+
- lib/gearhead/extensions/querying.rb
|
216
|
+
- lib/gearhead/extensions/scoping.rb
|
217
|
+
- lib/gearhead/extensions/serialization.rb
|
218
|
+
- lib/gearhead/gear.rb
|
219
|
+
- lib/gearhead/gear_lookup.rb
|
220
|
+
- lib/gearhead/gearbox.rb
|
221
|
+
- lib/gearhead/paginators/lookup.rb
|
222
|
+
- lib/gearhead/paginators/paginator.rb
|
223
|
+
- lib/gearhead/paginators/pagy_paginator.rb
|
224
|
+
- lib/gearhead/paginators/will_paginate_paginator.rb
|
225
|
+
- lib/gearhead/params_builder.rb
|
226
|
+
- lib/gearhead/registry.rb
|
227
|
+
- lib/gearhead/resource_finder.rb
|
228
|
+
- lib/gearhead/router.rb
|
229
|
+
- lib/gearhead/serializers/active_model_serializers/invalid_request_serializer.rb
|
230
|
+
- lib/gearhead/serializers/active_model_serializers/invalid_resource_serializer.rb
|
231
|
+
- lib/gearhead/serializers/active_model_serializers/resource_serializer.rb
|
232
|
+
- lib/gearhead/serializers/fast_jsonapi/invalid_request_serializer.rb
|
233
|
+
- lib/gearhead/serializers/fast_jsonapi/invalid_resource_serializer.rb
|
234
|
+
- lib/gearhead/serializers/fast_jsonapi/resource_serializer.rb
|
235
|
+
- lib/gearhead/serializers/invalid_request_serializer.rb
|
236
|
+
- lib/gearhead/serializers/invalid_resource_serializer.rb
|
237
|
+
- lib/gearhead/serializers/lookup.rb
|
238
|
+
- lib/gearhead/version.rb
|
239
|
+
- lib/generators/gearhead/gear/gear_generator.rb
|
240
|
+
- lib/generators/gearhead/gear/templates/gear.rb.erb
|
241
|
+
- lib/generators/gearhead/install/install_generator.rb
|
242
|
+
- lib/generators/gearhead/install/templates/gearhead.rb.erb
|
243
|
+
homepage: https://github.com/joshmn/gearhead
|
244
|
+
licenses:
|
245
|
+
- MIT
|
246
|
+
metadata: {}
|
247
|
+
post_install_message:
|
248
|
+
rdoc_options: []
|
249
|
+
require_paths:
|
250
|
+
- lib
|
251
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0'
|
256
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
257
|
+
requirements:
|
258
|
+
- - ">="
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: '0'
|
261
|
+
requirements: []
|
262
|
+
rubygems_version: 3.1.2
|
263
|
+
signing_key:
|
264
|
+
specification_version: 4
|
265
|
+
summary: Summary of Gearhead.
|
266
|
+
test_files: []
|