carload 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 +125 -0
- data/Rakefile +37 -0
- data/app/assets/config/carload_manifest.js +2 -0
- data/app/assets/javascripts/carload/application.js +5 -0
- data/app/assets/javascripts/carload/dashboard.js +12 -0
- data/app/assets/stylesheets/carload/_select2.scss +13 -0
- data/app/assets/stylesheets/carload/application.scss +25 -0
- data/app/assets/stylesheets/carload/colors.scss +2 -0
- data/app/assets/stylesheets/carload/common.scss +77 -0
- data/app/assets/stylesheets/carload/dashboard.scss +82 -0
- data/app/assets/stylesheets/carload/error.scss +4 -0
- data/app/controllers/carload/application_controller.rb +21 -0
- data/app/controllers/carload/dashboard_controller.rb +85 -0
- data/app/controllers/carload/errors_controller.rb +21 -0
- data/app/helpers/carload/application_helper.rb +4 -0
- data/app/helpers/carload/dashboard_helper.rb +30 -0
- data/app/jobs/carload/application_job.rb +4 -0
- data/app/mailers/carload/application_mailer.rb +6 -0
- data/app/models/carload/application_record.rb +5 -0
- data/app/policies/application_policy.rb +53 -0
- data/app/policies/dashboard_policy.rb +21 -0
- data/app/views/carload/dashboard/_form.html.erb +7 -0
- data/app/views/carload/dashboard/edit.html.erb +12 -0
- data/app/views/carload/dashboard/index.html.erb +46 -0
- data/app/views/carload/dashboard/new.html.erb +12 -0
- data/app/views/carload/dashboard/shared/_index_buttons.html.erb +3 -0
- data/app/views/carload/dashboard/shared/_search_fields.html.erb +11 -0
- data/app/views/carload/errors/dashboard_error.html.erb +8 -0
- data/app/views/carload/errors/unauthorized_error.html.erb +8 -0
- data/app/views/kaminari/_first_page.html.erb +3 -0
- data/app/views/kaminari/_gap.html.erb +3 -0
- data/app/views/kaminari/_last_page.html.erb +3 -0
- data/app/views/kaminari/_next_page.html.erb +3 -0
- data/app/views/kaminari/_page.html.erb +9 -0
- data/app/views/kaminari/_paginator.html.erb +15 -0
- data/app/views/kaminari/_prev_page.html.erb +3 -0
- data/app/views/layouts/carload/application.html.erb +20 -0
- data/app/views/layouts/carload/dashboard.html.erb +32 -0
- data/config/initializers/assets.rb +1 -0
- data/config/initializers/simple_form.rb +165 -0
- data/config/initializers/simple_form_bootstrap.rb +149 -0
- data/config/locales/en.yml +37 -0
- data/config/locales/simple_form.en.yml +31 -0
- data/config/locales/zh-CN.yml +37 -0
- data/config/routes.rb +16 -0
- data/lib/carload/dashboard.rb +47 -0
- data/lib/carload/engine.rb +12 -0
- data/lib/carload/exceptions.rb +17 -0
- data/lib/carload/extended_hash.rb +12 -0
- data/lib/carload/version.rb +3 -0
- data/lib/carload.rb +27 -0
- data/lib/generators/carload/USAGE +15 -0
- data/lib/generators/carload/install_generator.rb +30 -0
- data/lib/generators/carload/templates/carload.rb +18 -0
- data/lib/generators/carload/templates/dashboard.rb +19 -0
- data/lib/tasks/carload_tasks.rake +4 -0
- data/lib/templates/erb/scaffold/_form.html.erb +13 -0
- metadata +277 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
module Carload
|
2
|
+
class Dashboard
|
3
|
+
class ModelSpec
|
4
|
+
attr_accessor :default, :attributes, :index_page, :associated_models
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
@default = false
|
8
|
+
@attributes = ExtendedHash.new
|
9
|
+
@index_page = ExtendedHash.new
|
10
|
+
@index_page[:shows] = ExtendedHash.new
|
11
|
+
@index_page[:searches] = ExtendedHash.new
|
12
|
+
@associated_models = {}
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def model name, &block
|
18
|
+
if block_given?
|
19
|
+
@@models ||= {}
|
20
|
+
spec = ModelSpec.new
|
21
|
+
yield spec
|
22
|
+
@@models[name] = spec
|
23
|
+
else
|
24
|
+
@@models[name]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def associate args
|
29
|
+
model_a = args.keys.first
|
30
|
+
model_b = args.values.first
|
31
|
+
@@models[model_a].associated_models[model_b] = args[:choose_by]
|
32
|
+
@@models[model_b].associated_models[model_a] = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def models
|
36
|
+
@@models ||= {}
|
37
|
+
end
|
38
|
+
|
39
|
+
def default_model
|
40
|
+
return @@default_model if defined? @@default_model
|
41
|
+
@@models.each do |name, spec|
|
42
|
+
return @@default_model = name if spec.default
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Carload
|
2
|
+
class Engine < ::Rails::Engine
|
3
|
+
isolate_namespace Carload
|
4
|
+
|
5
|
+
initializer :set_autoload_paths do |app|
|
6
|
+
# Load dashboard.rb in app.
|
7
|
+
Dir.glob("#{app.root}/app/carload/*.rb").each do |file|
|
8
|
+
require_dependency file
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Carload
|
2
|
+
class Error < StandardError
|
3
|
+
attr_reader :message
|
4
|
+
end
|
5
|
+
|
6
|
+
class UnmanagedModelError < Error
|
7
|
+
def initialize data
|
8
|
+
@message = I18n.t('carload.error.message.unmanaged_model', model: data)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class UnsupportedError < Error
|
13
|
+
def initialize data
|
14
|
+
@message = "Carload does not support #{data} currently."
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/carload.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Require all dependencies (Rails does not do this for us in default).
|
2
|
+
Gem.loaded_specs['carload'].dependencies.each do |dependency|
|
3
|
+
require dependency.name
|
4
|
+
end
|
5
|
+
|
6
|
+
require 'carload/extended_hash'
|
7
|
+
require 'carload/dashboard'
|
8
|
+
require 'carload/engine'
|
9
|
+
require 'carload/exceptions'
|
10
|
+
|
11
|
+
module Carload
|
12
|
+
def self.setup &block
|
13
|
+
@@config = ExtendedHash.new
|
14
|
+
@@config[:dashboard] = ExtendedHash.new
|
15
|
+
@@config[:dashboard][:permits_user] = ExtendedHash.new
|
16
|
+
yield @@config
|
17
|
+
if not [:devise, :none].include? @@config[:auth_solution]
|
18
|
+
raise UnsupportedError.new("authentication solution #{@@config[:auth_solution]}")
|
19
|
+
end
|
20
|
+
|
21
|
+
@@config.each do |key, value|
|
22
|
+
define_singleton_method key do
|
23
|
+
value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Description:
|
2
|
+
Mount Carload routes.
|
3
|
+
|
4
|
+
Copy initializer and dashboard template files.
|
5
|
+
|
6
|
+
Example:
|
7
|
+
rails generate carload:install
|
8
|
+
|
9
|
+
This will modify:
|
10
|
+
config/routes.rb
|
11
|
+
config/application.rb
|
12
|
+
|
13
|
+
This will create:
|
14
|
+
config/initializers/carload.rb
|
15
|
+
app/carload/dashboard.rb
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Carload
|
2
|
+
class InstallGenerator < Rails::Generators::Base
|
3
|
+
source_root File.expand_path('../templates', __FILE__)
|
4
|
+
|
5
|
+
def mount_routes
|
6
|
+
return if File.read('config/routes.rb').include? 'mount Carload::Engine'
|
7
|
+
inject_into_file 'config/routes.rb', after: "Rails.application.routes.draw do\n" do <<-RUBY
|
8
|
+
mount Carload::Engine => '/carload'
|
9
|
+
RUBY
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_require
|
14
|
+
return if File.read('config/application.rb') =~ /require ['|"]carload['|"]/
|
15
|
+
inject_into_file 'config/application.rb', after: "Bundler.require(*Rails.groups)\n" do <<-RUBY
|
16
|
+
require 'carload'
|
17
|
+
RUBY
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def copy_initializer
|
22
|
+
return if File.exist? 'config/initializers/carload.rb'
|
23
|
+
copy_file 'carload.rb', 'config/initializers/carload.rb'
|
24
|
+
end
|
25
|
+
|
26
|
+
def copy_dashboard_file
|
27
|
+
copy_file 'dashboard.rb', 'app/carload/dashboard.rb'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Carload.setup do |config|
|
2
|
+
# Specify which authentication solution is used. Currently, we only support Devise.
|
3
|
+
config.auth_solution = :devise
|
4
|
+
|
5
|
+
# Set the actions used to discern user's permission to access dashboard.
|
6
|
+
#
|
7
|
+
# config.dashboard.permits_user.<method> = '...'
|
8
|
+
#
|
9
|
+
# There are four access methods can be configured:
|
10
|
+
#
|
11
|
+
# index, new, edit, destroy
|
12
|
+
#
|
13
|
+
# Also you can use a special method 'all' to set the default permission.
|
14
|
+
# The permission can also be array, the relation among them is OR.
|
15
|
+
# By doing this, you have full control on the access permission.
|
16
|
+
# TODO: Set the permissions for each data table.
|
17
|
+
config.dashboard.permits_user.all = 'role.admin?'
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Dashboard class is used to tell Carload what models are needed to administrated,
|
2
|
+
# which attributes are shown, etc.
|
3
|
+
|
4
|
+
class Dashboard < Carload::Dashboard
|
5
|
+
# There are two DSL block types:
|
6
|
+
#
|
7
|
+
# model :<model_name> do |spec|
|
8
|
+
# # Whether model should be displayed when URL does not specify one
|
9
|
+
# spec.default = <true_or_false>
|
10
|
+
# # List of attributes that can be edited
|
11
|
+
# spec.attributes.permitted = [...]
|
12
|
+
# # List of attributes that will be shown on index page
|
13
|
+
# spec.index_page.shows.attributes = [...]
|
14
|
+
# # List of attributes with search terms that can be searched on index page (using Ransack gem)
|
15
|
+
# spec.index_page.searches.attributes = [ { name: ..., term: ...}, ... ]
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# associate :<model_name_a> => :<model_name_b>, choose_by: :<attribute_in_model_b>
|
19
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%%= simple_form_for(@<%= singular_table_name %>) do |f| %>
|
2
|
+
<%%= f.error_notification %>
|
3
|
+
|
4
|
+
<div class="form-inputs">
|
5
|
+
<%- attributes.each do |attribute| -%>
|
6
|
+
<%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
|
7
|
+
<%- end -%>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="form-actions">
|
11
|
+
<%%= f.button :submit %>
|
12
|
+
</div>
|
13
|
+
<%% end %>
|
metadata
ADDED
@@ -0,0 +1,277 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: carload
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Li Dong
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-09-30 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: 5.0.0
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 5.0.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 5.0.0
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 5.0.0.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: jquery-rails
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '4.2'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '4.2'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: turbolinks
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '5'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '5'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: sass-rails
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '5.0'
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '5.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: uglifier
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '3.0'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: font-awesome-rails
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '4.6'
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '4.6'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: bootstrap-sass
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '3.3'
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '3.3'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: simple_form
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '3.3'
|
124
|
+
type: :runtime
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '3.3'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: ransack
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '1.8'
|
138
|
+
type: :runtime
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '1.8'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: kaminari
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0.17'
|
152
|
+
type: :runtime
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0.17'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: pundit
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '1.1'
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '1.1'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: select2-rails
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '4.0'
|
180
|
+
type: :runtime
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '4.0'
|
187
|
+
description: Carload is built with taste, and tries to be just right!
|
188
|
+
email:
|
189
|
+
- dongli.init@gmail.com
|
190
|
+
executables: []
|
191
|
+
extensions: []
|
192
|
+
extra_rdoc_files: []
|
193
|
+
files:
|
194
|
+
- MIT-LICENSE
|
195
|
+
- README.md
|
196
|
+
- Rakefile
|
197
|
+
- app/assets/config/carload_manifest.js
|
198
|
+
- app/assets/javascripts/carload/application.js
|
199
|
+
- app/assets/javascripts/carload/dashboard.js
|
200
|
+
- app/assets/stylesheets/carload/_select2.scss
|
201
|
+
- app/assets/stylesheets/carload/application.scss
|
202
|
+
- app/assets/stylesheets/carload/colors.scss
|
203
|
+
- app/assets/stylesheets/carload/common.scss
|
204
|
+
- app/assets/stylesheets/carload/dashboard.scss
|
205
|
+
- app/assets/stylesheets/carload/error.scss
|
206
|
+
- app/controllers/carload/application_controller.rb
|
207
|
+
- app/controllers/carload/dashboard_controller.rb
|
208
|
+
- app/controllers/carload/errors_controller.rb
|
209
|
+
- app/helpers/carload/application_helper.rb
|
210
|
+
- app/helpers/carload/dashboard_helper.rb
|
211
|
+
- app/jobs/carload/application_job.rb
|
212
|
+
- app/mailers/carload/application_mailer.rb
|
213
|
+
- app/models/carload/application_record.rb
|
214
|
+
- app/policies/application_policy.rb
|
215
|
+
- app/policies/dashboard_policy.rb
|
216
|
+
- app/views/carload/dashboard/_form.html.erb
|
217
|
+
- app/views/carload/dashboard/edit.html.erb
|
218
|
+
- app/views/carload/dashboard/index.html.erb
|
219
|
+
- app/views/carload/dashboard/new.html.erb
|
220
|
+
- app/views/carload/dashboard/shared/_index_buttons.html.erb
|
221
|
+
- app/views/carload/dashboard/shared/_search_fields.html.erb
|
222
|
+
- app/views/carload/errors/dashboard_error.html.erb
|
223
|
+
- app/views/carload/errors/unauthorized_error.html.erb
|
224
|
+
- app/views/kaminari/_first_page.html.erb
|
225
|
+
- app/views/kaminari/_gap.html.erb
|
226
|
+
- app/views/kaminari/_last_page.html.erb
|
227
|
+
- app/views/kaminari/_next_page.html.erb
|
228
|
+
- app/views/kaminari/_page.html.erb
|
229
|
+
- app/views/kaminari/_paginator.html.erb
|
230
|
+
- app/views/kaminari/_prev_page.html.erb
|
231
|
+
- app/views/layouts/carload/application.html.erb
|
232
|
+
- app/views/layouts/carload/dashboard.html.erb
|
233
|
+
- config/initializers/assets.rb
|
234
|
+
- config/initializers/simple_form.rb
|
235
|
+
- config/initializers/simple_form_bootstrap.rb
|
236
|
+
- config/locales/en.yml
|
237
|
+
- config/locales/simple_form.en.yml
|
238
|
+
- config/locales/zh-CN.yml
|
239
|
+
- config/routes.rb
|
240
|
+
- lib/carload.rb
|
241
|
+
- lib/carload/dashboard.rb
|
242
|
+
- lib/carload/engine.rb
|
243
|
+
- lib/carload/exceptions.rb
|
244
|
+
- lib/carload/extended_hash.rb
|
245
|
+
- lib/carload/version.rb
|
246
|
+
- lib/generators/carload/USAGE
|
247
|
+
- lib/generators/carload/install_generator.rb
|
248
|
+
- lib/generators/carload/templates/carload.rb
|
249
|
+
- lib/generators/carload/templates/dashboard.rb
|
250
|
+
- lib/tasks/carload_tasks.rake
|
251
|
+
- lib/templates/erb/scaffold/_form.html.erb
|
252
|
+
homepage: https://github.com/dongli/carload
|
253
|
+
licenses:
|
254
|
+
- MIT
|
255
|
+
metadata: {}
|
256
|
+
post_install_message:
|
257
|
+
rdoc_options: []
|
258
|
+
require_paths:
|
259
|
+
- lib
|
260
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
requirements: []
|
271
|
+
rubyforge_project:
|
272
|
+
rubygems_version: 2.5.1
|
273
|
+
signing_key:
|
274
|
+
specification_version: 4
|
275
|
+
summary: Another Rails administration dashboard gem.
|
276
|
+
test_files: []
|
277
|
+
has_rdoc:
|