bootbox_crud 0.1.1
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/.gitignore +31 -0
- data/MIT.license +20 -0
- data/README.md +301 -0
- data/app/views/layouts/_bb_alert.html.haml +2 -0
- data/app/views/layouts/_show_link_to.html.haml +5 -0
- data/app/views/layouts/_show_link_to_array.html.haml +6 -0
- data/app/views/layouts/_show_value.html.haml +4 -0
- data/app/views/modals/_alert.js.erb +5 -0
- data/app/views/modals/_create.js.erb +1 -0
- data/app/views/modals/_destroy.js.erb +1 -0
- data/app/views/modals/_form.js.erb +16 -0
- data/app/views/modals/_update.js.erb +1 -0
- data/bootbox_crud.gemspec +28 -0
- data/lib/bootbox_crud.rb +7 -0
- data/lib/bootbox_crud/action_view/helpers.rb +37 -0
- data/lib/bootbox_crud/engine.rb +23 -0
- data/lib/bootbox_crud/version.rb +5 -0
- data/lib/generators/bootbox_crud/install_generator.rb +16 -0
- data/lib/generators/bootbox_crud/templates/README +6 -0
- data/lib/generators/bootbox_crud/templates/app/assets/javascripts/models.js +7 -0
- data/lib/generators/bootbox_crud/templates/config/initializers/simple_form.rb +142 -0
- data/lib/generators/bootbox_crud/templates/config/initializers/simple_form_bootstrap.rb +163 -0
- data/lib/generators/rails/haml_modal_crud/USAGE +15 -0
- data/lib/generators/rails/haml_modal_crud/haml_modal_crud_generator.rb +30 -0
- data/lib/generators/rails/haml_modal_crud/templates/create.js.erb +2 -0
- data/lib/generators/rails/haml_modal_crud/templates/destroy.js.erb +1 -0
- data/lib/generators/rails/haml_modal_crud/templates/update.js.erb +1 -0
- data/lib/generators/rails/modal_crud_route/USAGE +9 -0
- data/lib/generators/rails/modal_crud_route/modal_crud_route_generator.rb +21 -0
- data/lib/generators/rails/modal_crud_route/templates/models.js +7 -0
- data/lib/templates/haml/scaffold/_form.html.haml +12 -0
- data/lib/templates/haml/scaffold/edit.html.haml +2 -0
- data/lib/templates/haml/scaffold/index.html.haml +51 -0
- data/lib/templates/haml/scaffold/new.html.haml +2 -0
- data/lib/templates/haml/scaffold/show.html.haml +7 -0
- data/lib/templates/rails/scaffold_controller/controller.rb +102 -0
- data/vendor/assets/javascripts/bootbox_crud_main.js +6 -0
- data/vendor/assets/javascripts/bootbox_crud_modals.js +206 -0
- data/vendor/assets/javascripts/sortable.js +177 -0
- data/vendor/assets/stylesheets/bootbox_crud.css.scss +25 -0
- data/vendor/assets/stylesheets/bootbox_crud_main.css.scss +2 -0
- data/vendor/assets/stylesheets/sortable-theme-minimal.css +47 -0
- metadata +255 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 327909d03311374db095666dbfdb1bb53fbeb67e
|
4
|
+
data.tar.gz: a6b888c27abd58112c69d967872e08f8cde0a7aa
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7f970bd5a452e99bfe27acc053c078829bddc3531730cf92c04ef829fa752122489a92700b43d118c94562d888d6c351258dcafe25737cfcc3104e05e72d272b
|
7
|
+
data.tar.gz: 63241a4c639a077b1d961cfb314a52950a855483560b28409bdfe7dbc939316d66deac24ecb295c12d5f20a653371fa125521ca03b38ae05680f4dda6692bfd4
|
data/.gitignore
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
/.config
|
4
|
+
/coverage/
|
5
|
+
/InstalledFiles
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
/test/tmp/
|
9
|
+
/test/version_tmp/
|
10
|
+
/tmp/
|
11
|
+
|
12
|
+
## Documentation cache and generated files:
|
13
|
+
/.yardoc/
|
14
|
+
/_yardoc/
|
15
|
+
/doc/
|
16
|
+
/rdoc/
|
17
|
+
|
18
|
+
## Environment normalisation:
|
19
|
+
/.bundle/
|
20
|
+
/vendor/bundle
|
21
|
+
/lib/bundler/man/
|
22
|
+
|
23
|
+
# for a library or gem, you might want to ignore these files since the code is
|
24
|
+
# intended to run in multiple environments; otherwise, check them in:
|
25
|
+
Gemfile.lock
|
26
|
+
.ruby-version
|
27
|
+
.ruby-gemset
|
28
|
+
|
29
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
30
|
+
.rvmrc
|
31
|
+
|
data/MIT.license
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2013 - 2014 Nguyen Huu Phuoc
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
7
|
+
the Software without restriction, including without limitation the rights to
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
10
|
+
subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,301 @@
|
|
1
|
+
# Bootbox modal CRUD
|
2
|
+
|
3
|
+
Provides Rails modal CRUD scaffolding powered by bootstrap & bootbox & simple_form. Built for use with Turbolinks, jQuery and Twitter Bootstrap 3.
|
4
|
+
|
5
|
+
## Initial setup
|
6
|
+
|
7
|
+
Set custom scaffolding generators in your ```config/application.rb```
|
8
|
+
|
9
|
+
config.generators do |g|
|
10
|
+
g.template_engine :haml_modal_crud
|
11
|
+
g.resource_route :modal_crud_route
|
12
|
+
end
|
13
|
+
|
14
|
+
Require the main javascript file in your ```app/assets/javascripts/application.js```
|
15
|
+
|
16
|
+
//= require bootbox_crud_main
|
17
|
+
|
18
|
+
Require the main stylesheet file in your ```app/assets/stylesheets/application.css``` and also don't forget to add the main Bootstrap stylesheet
|
19
|
+
|
20
|
+
*= require bootstrap
|
21
|
+
*= require bootbox_crud_main
|
22
|
+
|
23
|
+
Add bootbox alert markup into the main container of your ```app/views/layouts/application.html.haml```
|
24
|
+
|
25
|
+
%body
|
26
|
+
.container
|
27
|
+
= yeild
|
28
|
+
= bb_alert
|
29
|
+
|
30
|
+
Run the install generator to copy over default simple_form initializers and models.js for defining modal CRUD enabled models
|
31
|
+
|
32
|
+
$ bundle exec rails g bootbox_crud:install
|
33
|
+
|
34
|
+
## Scaffolding
|
35
|
+
|
36
|
+
Custom model scaffolding is enabled by installing and configuring this gem. The generated files are following the rules described in the Modal CRUD section.
|
37
|
+
|
38
|
+
$ bundle exec rails g scaffold Block name width:integer height:integer depth:integer
|
39
|
+
|
40
|
+
The above code will give you a ready to use, nicely formatted modal enabled Block CRUD. Just migrate the DB.
|
41
|
+
|
42
|
+
# Modal CRUD with [bootbox.js](https://github.com/rocsci/bootbox-rails)
|
43
|
+
|
44
|
+
This concept is a work in progress and suggestions are welcome.
|
45
|
+
|
46
|
+
Main source files are in the gem:
|
47
|
+
|
48
|
+
vendor/assets/javascripts/bootbox_crud_modals.js
|
49
|
+
app/views/modals/_form.js
|
50
|
+
app/views/modals/_alert.js
|
51
|
+
app/views/modals/_create.js
|
52
|
+
app/views/modals/_destroy.js
|
53
|
+
app/views/modals/_update.js
|
54
|
+
|
55
|
+
and in your application
|
56
|
+
|
57
|
+
app/assets/javascripts/models.js
|
58
|
+
|
59
|
+
## Controller
|
60
|
+
|
61
|
+
### Create, update and destroy
|
62
|
+
|
63
|
+
All of these methods must have a js response format defined in the respond_to block. Update example:
|
64
|
+
|
65
|
+
respond_to do |format|
|
66
|
+
if @model.update(model_params)
|
67
|
+
...
|
68
|
+
format.js
|
69
|
+
else
|
70
|
+
...
|
71
|
+
format.js
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
### New, edit and show
|
77
|
+
|
78
|
+
If you want your modals to be fast, related actions shouldn't render with a full layout. Instead return only the form or detail template.
|
79
|
+
In another words, use ``` render layout: false ```.
|
80
|
+
|
81
|
+
def new
|
82
|
+
@model = Model.new
|
83
|
+
|
84
|
+
respond_to do |format|
|
85
|
+
format.html { render layout: false }
|
86
|
+
format.json { render json: @model }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def edit
|
91
|
+
render layout: false
|
92
|
+
end
|
93
|
+
|
94
|
+
#### Different show view template for modal and normal page
|
95
|
+
|
96
|
+
In cases where a separate view template is needed for modal and normal full page show action, you can achieve that by doing the following.
|
97
|
+
The modal show request accepted content type is \*/\* so it is going to take the .js format response option as acceptable, because it is the first in the list.
|
98
|
+
A standard request will skip format.js and take the html option.
|
99
|
+
|
100
|
+
def show
|
101
|
+
respond_to do |format|
|
102
|
+
format.js { render 'show_modal', layout: false }
|
103
|
+
format.html
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
This method can also be used for differentiating edit and new actions for modal and normal views.
|
108
|
+
|
109
|
+
## Views
|
110
|
+
|
111
|
+
### Create, update and destroy
|
112
|
+
|
113
|
+
Three new files have to be added to the views directory of the related model:
|
114
|
+
|
115
|
+
**create.js.erb**
|
116
|
+
|
117
|
+
<%= render partial: 'modals/create', locals: { model: @model, form_path: 'model/form' } %>
|
118
|
+
|
119
|
+
**update.js.erb**
|
120
|
+
|
121
|
+
<%= render partial: 'modals/update', locals: { model: @model, form_path: 'model/form' } %>
|
122
|
+
|
123
|
+
**destroy.js.erb**
|
124
|
+
|
125
|
+
<%= render partial: 'modals/destroy', locals: { model: @model, form_path: 'model/form' } %>
|
126
|
+
|
127
|
+
|
128
|
+
The partials in app/views/modals directory should provide the necessary functionality for most cases. If you need some special behaviour, implement it instead of rendering the partial.
|
129
|
+
|
130
|
+
**Create/Destroy visit_path** [optional parameter]: determines what page to load after the model has been created/destroyed.
|
131
|
+
|
132
|
+
The path is visited by invoking Turbolinks.visit(visit_path). If it isn't set, the current page will be reloaded.
|
133
|
+
|
134
|
+
It is mostly useful in cases:
|
135
|
+
|
136
|
+
* when you create a new model and want to redirect to its full page detail or when you create a new subpage/tab and you want to refresh the page with an anchor after the base URL (the example is used for overviews)
|
137
|
+
|
138
|
+
|
139
|
+
<%= render partial: 'modals/create', locals: { model: @overview, form_path: 'overviews/form', visit_path: "#overview_#{@overview.id}" } %>
|
140
|
+
|
141
|
+
* where you can delete a model from its full page detail and you need to redirect the user to some list view, a simple page reload wouldn't be useful because the model was destroyed and its detail can't be shown anymore
|
142
|
+
|
143
|
+
|
144
|
+
<%= render partial: 'modals/destroy', locals: { visit_path: "/#{ location_name.to_s }/unipolars" } %>
|
145
|
+
|
146
|
+
### New, edit and show
|
147
|
+
|
148
|
+
All views being shown inside a modal window must have a root node with ```id='content'```.
|
149
|
+
Example in haml:
|
150
|
+
|
151
|
+
#content
|
152
|
+
= render 'form'
|
153
|
+
|
154
|
+
The javascript handling the response will fill this node and its contents into the modal window body.
|
155
|
+
|
156
|
+
#### Forms
|
157
|
+
|
158
|
+
Forms used inside of modal windows need to have the remote attribute set to true.
|
159
|
+
|
160
|
+
= simple_form @model, remote: true
|
161
|
+
|
162
|
+
This way they are submitted via an ajax request.
|
163
|
+
|
164
|
+
The ```ApplicationHelper#remote_form_options``` helper with default simple\_form formatting and layout wrapping options should be used instead of only writing ```remote: true``` to keep all forms unified.
|
165
|
+
But more on that in the main forms section of this readme.
|
166
|
+
|
167
|
+
#### Show helpers
|
168
|
+
|
169
|
+
Use these in case you want to show values of a model in a modal window.
|
170
|
+
|
171
|
+
show_value(label, value)
|
172
|
+
show_link_to(label, object, link_text)
|
173
|
+
show_link_to_array(label, objects, name_object_field)
|
174
|
+
|
175
|
+
show_value 'Name', @model.name
|
176
|
+
show_link_to 'Model', @model, @model.name
|
177
|
+
show_link_to_array 'Model blackboxes', @model.blackboxes, 'name'
|
178
|
+
|
179
|
+
Wrap them into a div with ```class='form-horizontal'```. Bootstrap horizontal form layout with little customization is used to display the values.
|
180
|
+
|
181
|
+
Adding ```class='show'``` to root node with ```id='content'``` is mandatory to get the right styling. If you forget this one, it will look like input fields.
|
182
|
+
|
183
|
+
#content.show
|
184
|
+
.form-horizontal
|
185
|
+
= show_value 'Name', @model.name
|
186
|
+
= show_value 'Status', @model.status
|
187
|
+
|
188
|
+
### Links to modals
|
189
|
+
|
190
|
+
Making links modal enabled is done via data attributes.
|
191
|
+
|
192
|
+
data-entity='Model'
|
193
|
+
data-action='update'
|
194
|
+
data-id='1'
|
195
|
+
|
196
|
+
In haml:
|
197
|
+
|
198
|
+
= link_to '#', :class => 'btn btn-primary btn-sm', data: { id: @model.id, entity: 'Model', action: 'update' } do
|
199
|
+
%i.fa.fa-edit
|
200
|
+
edit
|
201
|
+
|
202
|
+
There is a global button handler searching for any DOM nodes with 'data-entity' attribute. Click events of such nodes lead to modals.
|
203
|
+
The logic is simple, clicking on a node with the above values will lead to this function invocation:
|
204
|
+
|
205
|
+
BBCrud.Model.update({id: 1})
|
206
|
+
|
207
|
+
Available actions are:
|
208
|
+
|
209
|
+
* create
|
210
|
+
* update
|
211
|
+
* show
|
212
|
+
|
213
|
+
#### Adding a new model to modals on the client side
|
214
|
+
|
215
|
+
The above mentioned functions are defined in **models.js**, if you want to add modals to a new model, you have to add a new line there.
|
216
|
+
|
217
|
+
BBCrud.Models.add(namespace, baseUrl, modalHeaderTitle);
|
218
|
+
|
219
|
+
* **namespace** is used to define the BBCrud.Unipolar object
|
220
|
+
* **baseUrl** is setting the base route for the models actions
|
221
|
+
* **modalHeaderTitle** is used in modal titles, it should be a singular downcase name of the model
|
222
|
+
|
223
|
+
Filled in for unipolars:
|
224
|
+
|
225
|
+
BBCrud.Models.add('Unipolar', '/unipolars/', 'unipolar');
|
226
|
+
|
227
|
+
The above function invocation creates these functions:
|
228
|
+
|
229
|
+
BBCrud.Unipolar.create
|
230
|
+
BBCrud.Unipolar.update
|
231
|
+
BBCrud.Unipolar.show
|
232
|
+
|
233
|
+
Now you should be all set to click your data-entity links and call the functions from your scripts if needed.
|
234
|
+
|
235
|
+
*Note*: I18n is currently not supported on the client, there are a few ways how to approach it. The necessary changes should be simple.
|
236
|
+
|
237
|
+
#### Adding custom actions to models (non CRUD)
|
238
|
+
|
239
|
+
Is done in ```models.js``` by adding a line similar to the for defining CRUD actions. Here is an example for close event action:
|
240
|
+
|
241
|
+
BBCrud.Models.addAction('Event', '/events/', 'event', 'close');
|
242
|
+
|
243
|
+
The first three arguments are the same as for ```BBCrud.Models.add``` function, the last argument is the new action name.
|
244
|
+
After adding this line, you can create a button with the following data attributes and your modal is almost ready.
|
245
|
+
|
246
|
+
data-entity='Event'
|
247
|
+
data-action='close'
|
248
|
+
data-id='1'
|
249
|
+
|
250
|
+
Of course you have to do all the little tweaks on this action, as you did for CRUD. Meaning, adding ```#content``` to the form view and rendering it without layout. Next adding ```format.js``` to the relevant controller action and creating a ```*.js.erb``` view template for it.
|
251
|
+
|
252
|
+
To finish our ```Event.close``` example, the file will be named ```events/close_event.js.erb``` and it's contents:
|
253
|
+
|
254
|
+
<%= render partial: 'modals/form', locals: { model: @event, form_path: 'events/close', success_alert: 'Closed' , error_alert: 'Error while closing' } %>
|
255
|
+
|
256
|
+
The important detail to notice is the use of ```modals/form``` partial, which was made to handle custom actions. The rest of the arguments are self-explanatory.
|
257
|
+
|
258
|
+
## Modals in short
|
259
|
+
|
260
|
+
* Create format.js lines in respond_to block of controller :create, :update, :destroy
|
261
|
+
* Return views without layout in controller :new, :show, :edit
|
262
|
+
* Make sure your views have a root ```id='content'``` node & with ```class='show'``` in case of a show view using show helpers from this guide
|
263
|
+
* Make sure your form has ```remote: true``` or preferably ```remote_form_options``` with simple\_form, the layout should be the same as in the example in form section of this README
|
264
|
+
* Add create, update and destroy .js.erb files to the view directory and fill them according to this guide
|
265
|
+
* Add your model definition as a new line to models.js
|
266
|
+
* Add ```data-entity```, ```data-action``` and ```data-id``` with the right values to an element on the page and click it, or call ``BBCrud.ModelName.create/update/show()`` from your javascript to show the modal
|
267
|
+
|
268
|
+
|
269
|
+
## Custom scaffold source files
|
270
|
+
|
271
|
+
If you want have a peek or override some of the scaffolding templates, here is an overview of the files used:
|
272
|
+
|
273
|
+
**haml\_modal\_crud**
|
274
|
+
|
275
|
+
lib/generators/rails/haml_modal_crud/templates/create.js.erb
|
276
|
+
lib/generators/rails/haml_modal_crud/templates/destroy.js.erb
|
277
|
+
lib/generators/rails/haml_modal_crud/templates/update.js.erb
|
278
|
+
lib/generators/rails/haml_modal_crud/haml_modal_crud_generator.rb
|
279
|
+
lib/generators/rails/haml_modal_crud/USAGE
|
280
|
+
|
281
|
+
**modal\_crud\_route**
|
282
|
+
|
283
|
+
lib/generators/rails/modal_crud_route/modal_crud_route_generator.rb
|
284
|
+
|
285
|
+
**haml scaffold templates override**
|
286
|
+
|
287
|
+
lib/templates/haml/scaffold/_form.html.haml
|
288
|
+
lib/templates/haml/scaffold/edit.html.haml
|
289
|
+
lib/templates/haml/scaffold/index.html.haml
|
290
|
+
lib/templates/haml/scaffold/new.html.haml
|
291
|
+
lib/templates/haml/scaffold/show.html.haml
|
292
|
+
|
293
|
+
**controller scaffold template override**
|
294
|
+
|
295
|
+
lib/templates/rails/scaffold_controller/controller.rb
|
296
|
+
|
297
|
+
# TODOs
|
298
|
+
|
299
|
+
* I18n support on client side
|
300
|
+
* Improve BBCrud.Alert / integration with Rails flash messages
|
301
|
+
* Generator tests
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render partial: 'modals/form', locals: { model: model, form_path: form_path, success_alert: defined?(success_alert) ? success_alert : 'Created' , error_alert: defined?(error_alert) ? error_alert : 'Error while creating', visit_path: defined?(visit_path) ? visit_path : nil } %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render partial: 'modals/form', locals: { model: model, form_path: form_path, success_alert: defined?(success_alert) ? success_alert : 'Deleted' , error_alert: defined?(error_alert) ? error_alert : 'Error while deleting', visit_path: defined?(visit_path) ? visit_path : nil } %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
var modal = $('.bootbox.modal');
|
2
|
+
<%- if model.errors.any? %>
|
3
|
+
BBCrud.Alert.show('<%= error_alert %>');
|
4
|
+
<% if remotipart_submitted? %>
|
5
|
+
var form = "<%= j "#{render(form_path)}" %>";
|
6
|
+
<% else %>
|
7
|
+
var form = "<%= j render(form_path) %>";
|
8
|
+
<% end %>
|
9
|
+
modal.find('.modal-body').html(form);
|
10
|
+
modal.find('input[type="submit"]').hide();
|
11
|
+
<%- else %>
|
12
|
+
BBCrud.Alert.show('<%= success_alert %>');
|
13
|
+
modal.modal('hide');
|
14
|
+
var path = '<%= defined?(visit_path) ? visit_path : nil %>';
|
15
|
+
Turbolinks.visit(path === '' ? null : path);
|
16
|
+
<%- end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render partial: 'modals/form', locals: { model: model, form_path: form_path, success_alert: defined?(success_alert) ? success_alert : 'Updated' , error_alert: defined?(error_alert) ? error_alert : 'Error while updating', visit_path: defined?(visit_path) ? visit_path : nil } %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path('../lib/bootbox_crud/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.authors = ["Jiri Kaipr"]
|
5
|
+
gem.email = ["jiri.kaipr@gmail.com"]
|
6
|
+
gem.description = %q{Provides Rails modal CRUD scaffolding powered by bootstrap & bootbox & simple_form. Built for use with Turbolinks, jQuery and Twitter Bootstrap 3.}
|
7
|
+
gem.homepage = "https://github.com/Virtualmaster/bootbox_crud"
|
8
|
+
gem.summary = %q{Rails CRUD scaffold with bootbox modals.}
|
9
|
+
|
10
|
+
gem.name = "bootbox_crud"
|
11
|
+
gem.require_paths = ["lib"]
|
12
|
+
gem.files = `git ls-files`.split("\n")
|
13
|
+
gem.version = BootboxCrud::Rails::VERSION
|
14
|
+
gem.platform = Gem::Platform::RUBY
|
15
|
+
|
16
|
+
gem.add_dependency "railties", ">= 4.0"
|
17
|
+
gem.add_dependency "sass-rails", "~> 5.0"
|
18
|
+
gem.add_dependency "bootstrap-sass", "~> 3.0"
|
19
|
+
gem.add_dependency "haml", "~> 4.0"
|
20
|
+
gem.add_dependency "haml-rails", "~> 0.7"
|
21
|
+
gem.add_dependency "simple_form", "~> 3.0"
|
22
|
+
gem.add_dependency "bootbox-rails", "~> 0.5"
|
23
|
+
gem.add_dependency "jquery-rails", "~> 3.0"
|
24
|
+
gem.add_dependency "turbolinks", "~> 2.5"
|
25
|
+
gem.add_dependency "jquery-turbolinks", "~> 2.1"
|
26
|
+
gem.add_dependency "remotipart", "~> 1.2"
|
27
|
+
gem.add_development_dependency "bundler", "~> 1.0"
|
28
|
+
end
|