tbone 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/assets/javascripts/bootstrap.js.coffee +2 -2
- data/app/assets/javascripts/collections/paginated.js.coffee +4 -1
- data/app/assets/javascripts/views/common/confirm_view.js.coffee +2 -1
- data/app/assets/javascripts/views/common/form_view.js.coffee +1 -1
- data/app/controllers/home_controller.rb +7 -0
- data/app/controllers/tokens_controller.rb +4 -0
- data/app/helpers/tbone_helper.rb +1 -1
- data/lib/generators/tbone/backbone_model/backbone_model_generator.rb +24 -0
- data/lib/generators/tbone/backbone_model/templates/collection.coffee.erb +11 -0
- data/lib/generators/tbone/backbone_model/templates/model.coffee.erb +4 -0
- data/lib/generators/tbone/rabl_views/rabl_views_generator.rb +24 -0
- data/lib/generators/tbone/rabl_views/templates/index.rabl.erb +11 -0
- data/lib/generators/tbone/rabl_views/templates/show.rabl.erb +2 -0
- data/lib/generators/tbone/scaffold/scaffold_generator.rb +35 -0
- data/lib/generators/tbone/scaffold_backbone_router/scaffold_backbone_router_generator.rb +37 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/confirm.hamljs.erb +10 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/edit_view.coffee.erb +16 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/form.hamljs.erb +12 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/index.hamljs.erb +14 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/index_view.coffee.erb +41 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/new_view.coffee.erb +15 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/object.hamljs.erb +10 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/object_view.coffee.erb +30 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/router.coffee.erb +52 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/show.hamljs.erb +15 -0
- data/lib/generators/tbone/scaffold_backbone_router/templates/show_view.coffee.erb +41 -0
- data/lib/generators/tbone/scaffold_controller/scaffold_controller_generator.rb +21 -0
- data/lib/generators/tbone/scaffold_controller/templates/controller.rb.erb +49 -0
- data/lib/tbone/engine.rb +3 -0
- data/lib/tbone.rb +13 -0
- data/tbone.gemspec +23 -2
- metadata +30 -9
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -1,7 +1,10 @@
|
|
1
1
|
define ['backbone'], (Backbone) ->
|
2
2
|
class PaginatedCollection extends Backbone.Collection
|
3
3
|
constructor: (args) ->
|
4
|
-
|
4
|
+
if args?
|
5
|
+
super(this.parse(args))
|
6
|
+
else
|
7
|
+
super
|
5
8
|
|
6
9
|
initialize: ->
|
7
10
|
# _.bindAll this, "parse", "url", "pageInfo", "nextPage", "previousPage"
|
@@ -14,7 +14,8 @@ define [
|
|
14
14
|
"click .no": "reject"
|
15
15
|
|
16
16
|
render: ->
|
17
|
-
|
17
|
+
template = if @options.template? then @options.template else @template
|
18
|
+
@modal = $(template())
|
18
19
|
$(@el).html(@modal)
|
19
20
|
@modal.modal({ backdrop: true }).modal('show')
|
20
21
|
return this
|
data/app/helpers/tbone_helper.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Tbone
|
4
|
+
module Generators
|
5
|
+
class BackboneModelGenerator < ::Rails::Generators::NamedBase
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
desc "This generator generates simple T-bone generator"
|
8
|
+
def create_controller
|
9
|
+
template "model.coffee.erb", "app/assets/javascripts/models/#{single_name}.js.coffee"
|
10
|
+
template "collection.coffee.erb", "app/assets/javascripts/collections/#{plural_name}.js.coffee"
|
11
|
+
end
|
12
|
+
private
|
13
|
+
def class_name
|
14
|
+
name
|
15
|
+
end
|
16
|
+
def plural_name
|
17
|
+
name.underscore.pluralize
|
18
|
+
end
|
19
|
+
def single_name
|
20
|
+
name.underscore
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
define [
|
2
|
+
'underscore'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'models/<%= single_name %>'
|
6
|
+
'collections/paginated'
|
7
|
+
],
|
8
|
+
(_, Backbone, App, <%= class_name %>, PaginatedCollection) ->
|
9
|
+
class App.Collections.<%= class_name.pluralize %> extends PaginatedCollection
|
10
|
+
model: <%= class_name %>
|
11
|
+
baseUrl: '/<%= plural_name %>'
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Tbone
|
4
|
+
module Generators
|
5
|
+
class RablViewsGenerator < ::Rails::Generators::NamedBase
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
desc "This generator generates simple rabl views"
|
8
|
+
def create_views
|
9
|
+
template "index.rabl.erb", "app/views/#{plural_name}/index.json.rabl"
|
10
|
+
template "show.rabl.erb", "app/views/#{plural_name}/show.json.rabl"
|
11
|
+
end
|
12
|
+
private
|
13
|
+
def class_name
|
14
|
+
name
|
15
|
+
end
|
16
|
+
def plural_name
|
17
|
+
name.underscore.pluralize
|
18
|
+
end
|
19
|
+
def single_name
|
20
|
+
name.underscore
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
object false
|
2
|
+
@<%= plural_name %> ||= locals[:object][:page]
|
3
|
+
node(:current_page) { @<%= plural_name %>.current_page }
|
4
|
+
node(:total_items) { @<%= plural_name %>.total_count }
|
5
|
+
node(:per_page) { @<%= plural_name %>.limit_value }
|
6
|
+
node(:total_pages) { (@<%= plural_name %>.offset_value / @<%= plural_name %>.limit_value) + 1 }
|
7
|
+
node :items do
|
8
|
+
@<%= plural_name %>.map do |p|
|
9
|
+
partial '<%= plural_name %>/show', object: p, root: false
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Tbone
|
4
|
+
module Generators
|
5
|
+
class ScaffoldGenerator < ::Rails::Generators::NamedBase
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
desc "This generator generates simple T-bone router"
|
8
|
+
def create_model
|
9
|
+
generate "model #{class_name}"
|
10
|
+
end
|
11
|
+
def create_controller
|
12
|
+
generate "tbone:scaffold_controller #{class_name}"
|
13
|
+
end
|
14
|
+
def create_rabl_views
|
15
|
+
generate "tbone:rabl_views #{class_name}"
|
16
|
+
end
|
17
|
+
def create_backbone_model
|
18
|
+
generate "tbone:backbone_model #{class_name}"
|
19
|
+
end
|
20
|
+
def create_router
|
21
|
+
generate "tbone:scaffold_backbone_router #{class_name}"
|
22
|
+
end
|
23
|
+
private
|
24
|
+
def class_name
|
25
|
+
name
|
26
|
+
end
|
27
|
+
def plural_name
|
28
|
+
name.underscore.pluralize
|
29
|
+
end
|
30
|
+
def single_name
|
31
|
+
name.underscore
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Tbone
|
4
|
+
module Generators
|
5
|
+
class ScaffoldBackboneRouterGenerator < ::Rails::Generators::NamedBase
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
7
|
+
desc "This generator generates simple T-bone router"
|
8
|
+
def create_router
|
9
|
+
template "router.coffee.erb", "app/assets/javascripts/routers/#{plural_name}_router.js.coffee"
|
10
|
+
end
|
11
|
+
def create_views
|
12
|
+
template "new_view.coffee.erb", "app/assets/javascripts/views/#{plural_name}/new_view.js.coffee"
|
13
|
+
template "edit_view.coffee.erb", "app/assets/javascripts/views/#{plural_name}/edit_view.js.coffee"
|
14
|
+
template "show_view.coffee.erb", "app/assets/javascripts/views/#{plural_name}/show_view.js.coffee"
|
15
|
+
template "index_view.coffee.erb", "app/assets/javascripts/views/#{plural_name}/index_view.js.coffee"
|
16
|
+
template "object_view.coffee.erb", "app/assets/javascripts/views/#{plural_name}/#{single_name}_view.js.coffee"
|
17
|
+
end
|
18
|
+
def create_templates
|
19
|
+
template "form.hamljs.erb", "app/assets/javascripts/templates/#{plural_name}/form.jst.hamljs"
|
20
|
+
template "index.hamljs.erb", "app/assets/javascripts/templates/#{plural_name}/index.jst.hamljs"
|
21
|
+
template "show.hamljs.erb", "app/assets/javascripts/templates/#{plural_name}/show.jst.hamljs"
|
22
|
+
template "object.hamljs.erb", "app/assets/javascripts/templates/#{plural_name}/#{single_name}.jst.hamljs"
|
23
|
+
template "confirm.hamljs.erb", "app/assets/javascripts/templates/#{plural_name}/confirm.jst.hamljs"
|
24
|
+
end
|
25
|
+
private
|
26
|
+
def class_name
|
27
|
+
name
|
28
|
+
end
|
29
|
+
def plural_name
|
30
|
+
name.underscore.pluralize
|
31
|
+
end
|
32
|
+
def single_name
|
33
|
+
name.underscore
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#modal-from-dom.modal.hide.fade
|
2
|
+
.modal-header
|
3
|
+
%a.close{href: "#"} ×
|
4
|
+
%h3 Delete
|
5
|
+
.modal-body
|
6
|
+
%p You are about to delete this <%= single_name %>, this procedure is irreversible.
|
7
|
+
%p Do you want to proceed?
|
8
|
+
.modal-footer
|
9
|
+
%a.btn.danger.yes Yes
|
10
|
+
%a.btn.secondary.no No
|
@@ -0,0 +1,16 @@
|
|
1
|
+
define [
|
2
|
+
'jquery'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'views/common/form_view'
|
6
|
+
'templates/<%= plural_name %>/form'
|
7
|
+
'i18n'
|
8
|
+
], ($, Backbone, App, FormView) ->
|
9
|
+
|
10
|
+
class App.Views.<%= class_name.pluralize %>.EditView extends FormView
|
11
|
+
template: JST["templates/<%= plural_name %>/form"]
|
12
|
+
|
13
|
+
success: (<%= single_name %>) ->
|
14
|
+
@model = <%= single_name %>
|
15
|
+
@addSuccessAlert(I18n.t '<%= plural_name %>.updated')
|
16
|
+
window.location.hash = "/<%= plural_name %>/#{@model.id}"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
%form
|
2
|
+
%fieldset
|
3
|
+
%legend= this.model.isNew() ? I18n.t('<%= plural_name %>.new') : I18n.t('<%= plural_name %>.new')
|
4
|
+
|
5
|
+
# .control-group
|
6
|
+
# %label.control-label{for: "field"} Field:
|
7
|
+
# .controls
|
8
|
+
# %input.span6{name: "field", type: "text", value: field || '' }
|
9
|
+
|
10
|
+
.form-actions
|
11
|
+
%input.btn.btn-primary{type: "submit"}
|
12
|
+
%a.btn{href: "#/<%= plural_name %>/index"}= I18n.t('back')
|
@@ -0,0 +1,41 @@
|
|
1
|
+
define [
|
2
|
+
'jquery'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'views/<%= plural_name %>/<% single_name %>_view'
|
6
|
+
'views/common/pager_view'
|
7
|
+
'views/common/alert_view'
|
8
|
+
'templates/<%= plural_name %>/index'
|
9
|
+
], ($, Backbone, App, <% class_name %>View, PagerView, AlertView) ->
|
10
|
+
|
11
|
+
class App.Views.<% class_name.pluralize %>.IndexView extends AlertView
|
12
|
+
template: JST["templates/<%= plural_name %>/index"]
|
13
|
+
|
14
|
+
initialize: ->
|
15
|
+
@collection.on('reset', @render, this)
|
16
|
+
|
17
|
+
addAll: ->
|
18
|
+
@collection.each(@addOne, this)
|
19
|
+
|
20
|
+
addPager: ->
|
21
|
+
view = new PagerView({collection: @collection, urlPrefix: '#<%= plural_name %>/index?page='})
|
22
|
+
$(@el).find("table").after(view.render().el)
|
23
|
+
|
24
|
+
|
25
|
+
addOne: (<% single_name %>) ->
|
26
|
+
view = new <% class_name %>View({model: <% single_name %>})
|
27
|
+
$(@el).find("tbody").append(view.render().el)
|
28
|
+
|
29
|
+
render: ->
|
30
|
+
$(@el).html(@template())
|
31
|
+
@addAll()
|
32
|
+
@addPager()
|
33
|
+
@renderAlerts()
|
34
|
+
|
35
|
+
return this
|
36
|
+
|
37
|
+
close: ->
|
38
|
+
super
|
39
|
+
@collection.off('reset', @render, this)
|
40
|
+
@remove()
|
41
|
+
@off()
|
@@ -0,0 +1,15 @@
|
|
1
|
+
define [
|
2
|
+
'jquery'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'views/common/form_view'
|
6
|
+
'templates/<%= plural_name %>/form'
|
7
|
+
'i18n'
|
8
|
+
], ($, Backbone, App, FormView) ->
|
9
|
+
|
10
|
+
class App.Views.<% class_name.pluralize %>.NewView extends FormView
|
11
|
+
template: JST["templates/<%= plural_name %>/form"]
|
12
|
+
success: (<% single_name %>) ->
|
13
|
+
@model = <% single_name %>
|
14
|
+
@addSuccessAlert(I18n.t '<%= plural_name %>.created')
|
15
|
+
window.location.hash = "/<%= plural_name %>/#{@model.id}"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
%td!= id
|
2
|
+
|
3
|
+
- var show_link = "#/<%= plural_name %>/" + id
|
4
|
+
- var edit_link = "#/<%= plural_name %>/" + id + "/edit"
|
5
|
+
- var destroy_link = "#/<%= plural_name %>/" + id + "/destroy"
|
6
|
+
|
7
|
+
%td
|
8
|
+
%a.btn.btn-min1{href: show_link}= I18n.t('show')
|
9
|
+
%a.btn.btn-min1{href: edit_link}= I18n.t('edit')
|
10
|
+
%a.destroy.btn.btn-min1.btn-danger.confirm{href: destroy_link}= I18n.t('destroy')
|
@@ -0,0 +1,30 @@
|
|
1
|
+
define [
|
2
|
+
'jquery'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'views/common/confirm_view'
|
6
|
+
'templates/<%= plural_name %>/<% single_name %>'
|
7
|
+
'templates/<%= plural_name %>/confirm'
|
8
|
+
], ($, Backbone, App, ConfirmView) ->
|
9
|
+
class App.Views.<% class_name.pluralize %>.<% class_name %>View extends Backbone.View
|
10
|
+
template: JST["templates/<%= plural_name %>/<% single_name %>"]
|
11
|
+
|
12
|
+
events:
|
13
|
+
"click .destroy" : "destroy"
|
14
|
+
|
15
|
+
tagName: "tr"
|
16
|
+
|
17
|
+
destroy: ->
|
18
|
+
view = new ConfirmView(template: JST['templates/<%= plural_name %>/confirm'])
|
19
|
+
view.on('accept', ->
|
20
|
+
@model.destroy()
|
21
|
+
this.remove()
|
22
|
+
@addSuccessAlert(I18n.t '<%= plural_name %>.destroyed')
|
23
|
+
, this)
|
24
|
+
$(@el).append(view.render().el)
|
25
|
+
|
26
|
+
return false
|
27
|
+
|
28
|
+
render: ->
|
29
|
+
$(@el).html(@template(@model.toJSON()))
|
30
|
+
return this
|
@@ -0,0 +1,52 @@
|
|
1
|
+
define [
|
2
|
+
'backbone'
|
3
|
+
'bootstrap'
|
4
|
+
'helpers/layout'
|
5
|
+
'views/<%= plural_name %>/index_view'
|
6
|
+
'views/<%= plural_name %>/new_view'
|
7
|
+
'views/<%= plural_name %>/show_view'
|
8
|
+
'views/<%= plural_name %>/edit_view'
|
9
|
+
], (Backbone, App, Layout) ->
|
10
|
+
class App.Routers.<%= class_name.pluralize %>Router extends Backbone.Router
|
11
|
+
routes:
|
12
|
+
"<%= plural_name %>/new" : "new<%= class_name %>"
|
13
|
+
"<%= plural_name %>/index" : "index"
|
14
|
+
"<%= plural_name %>/index?page=:page" : "index"
|
15
|
+
"<%= plural_name %>/:id/edit" : "edit"
|
16
|
+
"<%= plural_name %>/:id" : "show"
|
17
|
+
"<%= plural_name %>.*" : "index"
|
18
|
+
|
19
|
+
initialize: (options) ->
|
20
|
+
@<% plural_name %> = options.collection
|
21
|
+
|
22
|
+
new<% class_name %>: ->
|
23
|
+
view = require 'views/<% plural_name %>/new_view'
|
24
|
+
@view = new view(collection: @<% plural_name %>, model: new @<% plural_name %>.model())
|
25
|
+
Layout.setContent(@view)
|
26
|
+
|
27
|
+
index: (page = 1) ->
|
28
|
+
@<% plural_name %>.setPage(page)
|
29
|
+
View = require 'views/<% plural_name %>/index_view'
|
30
|
+
@view = new View(collection: @<% plural_name %>)
|
31
|
+
Layout.setContent(@view)
|
32
|
+
|
33
|
+
show: (id) ->
|
34
|
+
View = require 'views/<% plural_name %>/show_view'
|
35
|
+
<% single_name %> = this.get<% class_name %> id, (<% single_name %>) ->
|
36
|
+
@view = new View(model: <% single_name %>)
|
37
|
+
Layout.setContent(@view)
|
38
|
+
|
39
|
+
edit: (id) ->
|
40
|
+
View = require 'views/<% plural_name %>/edit_view'
|
41
|
+
this.get<% class_name %> id, (<% single_name %>) ->
|
42
|
+
@view = new View(model: <% single_name %>)
|
43
|
+
Layout.setContent(@view)
|
44
|
+
|
45
|
+
get<% class_name %>: (id, handler) ->
|
46
|
+
<% single_name %> = @<% plural_name %>.get(id)
|
47
|
+
if <% single_name %>?
|
48
|
+
handler(<% single_name %>)
|
49
|
+
else
|
50
|
+
<% single_name %> = new @<% plural_name %>.model()
|
51
|
+
<% single_name %>.id = id
|
52
|
+
<% single_name %>.fetch(success: handler)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
%p
|
2
|
+
%strong Id:
|
3
|
+
%br
|
4
|
+
= id
|
5
|
+
|
6
|
+
- var index_link = "#/<%= plural_name %>/index"
|
7
|
+
- var edit_link = "#/<%= plural_name %>/" + id + "/edit"
|
8
|
+
- var destroy_link = "#/<%= plural_name %>/" + id + "/destroy"
|
9
|
+
|
10
|
+
.form-actions
|
11
|
+
.btn-toolbar
|
12
|
+
.btn-group
|
13
|
+
%a.btn{href: index_link}= I18n.t('back')
|
14
|
+
%a.btn{href: edit_link}= I18n.t('edit')
|
15
|
+
%a.destroy.btn.btn-danger{href: destroy_link}= I18n.t('destroy')
|
@@ -0,0 +1,41 @@
|
|
1
|
+
define [
|
2
|
+
'jquery'
|
3
|
+
'backbone'
|
4
|
+
'bootstrap'
|
5
|
+
'views/common/confirm_view'
|
6
|
+
'views/common/alert_view'
|
7
|
+
'templates/<%= plural_name %>/show'
|
8
|
+
'templates/<%= plural_name %>/confirm'
|
9
|
+
], ($, Backbone, App, ConfirmView, AlertView) ->
|
10
|
+
|
11
|
+
class App.Views.<% class_name.pluralize %>.ShowView extends AlertView
|
12
|
+
template: JST["templates/<%= plural_name %>/show"]
|
13
|
+
|
14
|
+
events:
|
15
|
+
"click .destroy" : "destroy"
|
16
|
+
|
17
|
+
initialize: ->
|
18
|
+
@model.on('change', @render, this)
|
19
|
+
|
20
|
+
destroy: ->
|
21
|
+
view = new ConfirmView(template: JST['templates/<%= plural_name %>/confirm'])
|
22
|
+
view.on('accept', ->
|
23
|
+
@model.destroy()
|
24
|
+
this.remove()
|
25
|
+
@addSuccessAlert(I18n.t '<%= plural_name %>.destroyed')
|
26
|
+
window.location.hash = "/<%= plural_name %>/index"
|
27
|
+
, this)
|
28
|
+
$(@el).append(view.render().el)
|
29
|
+
|
30
|
+
return false
|
31
|
+
|
32
|
+
render: ->
|
33
|
+
$(@el).html(@template(@model.toJSON()))
|
34
|
+
@renderAlerts()
|
35
|
+
return this
|
36
|
+
|
37
|
+
close: ->
|
38
|
+
super
|
39
|
+
@model.off('change', @render, this)
|
40
|
+
@remove()
|
41
|
+
@off()
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Tbone
|
4
|
+
module Generators
|
5
|
+
class ScaffoldControllerGenerator < ::Rails::Generators::NamedBase
|
6
|
+
|
7
|
+
source_root File.expand_path("../templates", __FILE__)
|
8
|
+
desc "This generator generates simple T-bone generator"
|
9
|
+
def create_controller
|
10
|
+
template "controller.rb.erb", "app/controllers/#{plural_name}_controller.rb"
|
11
|
+
end
|
12
|
+
private
|
13
|
+
def class_name
|
14
|
+
name
|
15
|
+
end
|
16
|
+
def plural_name
|
17
|
+
name.underscore.pluralize
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class <%= class_name.pluralize %>Controller < ApplicationController
|
2
|
+
# GET /<%= plural_name %>.json
|
3
|
+
def index
|
4
|
+
@<%= plural_name %> = <%= class_name %>.page(params[:page])
|
5
|
+
end
|
6
|
+
|
7
|
+
# GET /<%= plural_name %>/1.json
|
8
|
+
def show
|
9
|
+
@<%= plural_name.singularize %> = <%= class_name %>.find(params[:id])
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /<%= plural_name %>/new.json
|
13
|
+
def new
|
14
|
+
@<%= plural_name.singularize %> = <%= class_name %>.new
|
15
|
+
end
|
16
|
+
|
17
|
+
# GET /<%= plural_name %>/1/edit
|
18
|
+
def edit
|
19
|
+
@<%= plural_name.singularize %> = <%= class_name %>.find(params[:id])
|
20
|
+
end
|
21
|
+
|
22
|
+
# POST /<%= plural_name %>.json
|
23
|
+
def create
|
24
|
+
@<%= plural_name.singularize %> = <%= class_name %>.new(params[:<%= plural_name.singularize %>])
|
25
|
+
|
26
|
+
if @<%= plural_name.singularize %>.save
|
27
|
+
render action: "show", status: :created, location: @<%= plural_name.singularize %>
|
28
|
+
else
|
29
|
+
render json: @<%= plural_name.singularize %>.errors, status: :unprocessable_entity
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
# PUT /<%= plural_name %>/1.json
|
34
|
+
def update
|
35
|
+
@<%= plural_name.singularize %> = <%= class_name %>.find(params[:id])
|
36
|
+
if @<%= plural_name.singularize %>.update_attributes(params[:<%= plural_name.singularize %>])
|
37
|
+
render action: "show"
|
38
|
+
else
|
39
|
+
render json: @<%= plural_name.singularize %>.errors, status: :unprocessable_entity
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# DELETE /<%= plural_name %>/1.json
|
44
|
+
def destroy
|
45
|
+
@<%= plural_name.singularize %> = <%= class_name %>.find(params[:id])
|
46
|
+
@<%= plural_name.singularize %>.destroy
|
47
|
+
head :no_content
|
48
|
+
end
|
49
|
+
end
|
data/lib/tbone/engine.rb
CHANGED
@@ -36,6 +36,9 @@ module Tbone
|
|
36
36
|
conf['shim']['bootstrap-popover'] << 'bootstrap-tooltip'
|
37
37
|
conf['shim']['bootstrap'] = jquery_plugs
|
38
38
|
app.config.requirejs.user_config.deep_merge!(conf)
|
39
|
+
Rabl.configure do |config|
|
40
|
+
config.include_json_root = false
|
41
|
+
end
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
data/lib/tbone.rb
CHANGED
@@ -1,3 +1,16 @@
|
|
1
1
|
module Tbone
|
2
2
|
require 'tbone/engine' if defined?(Rails)
|
3
|
+
def self.configure(&block)
|
4
|
+
self.config.instance_eval(&block)
|
5
|
+
end
|
6
|
+
def self.config
|
7
|
+
@config ||= Config.new
|
8
|
+
end
|
9
|
+
class Config
|
10
|
+
attr_reader :params
|
11
|
+
def add_params(p)
|
12
|
+
@params ||= {}
|
13
|
+
@params.merge!(p)
|
14
|
+
end
|
15
|
+
end
|
3
16
|
end
|
data/tbone.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tbone}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Pavel Tatarsky}]
|
12
|
-
s.date = %q{2012-
|
12
|
+
s.date = %q{2012-07-08}
|
13
13
|
s.description = %q{Library for mixing together requirejs backbone and twitter bootstrap}
|
14
14
|
s.email = %q{fazzzenda@mail.ru}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -49,9 +49,30 @@ Gem::Specification.new do |s|
|
|
49
49
|
"app/views/home/index.html.haml",
|
50
50
|
"app/views/tokens/show.json.rabl",
|
51
51
|
"config/routes.rb",
|
52
|
+
"lib/generators/tbone/backbone_model/backbone_model_generator.rb",
|
53
|
+
"lib/generators/tbone/backbone_model/templates/collection.coffee.erb",
|
54
|
+
"lib/generators/tbone/backbone_model/templates/model.coffee.erb",
|
52
55
|
"lib/generators/tbone/install/install_generator.rb",
|
53
56
|
"lib/generators/tbone/install/templates/application.json.rabl",
|
54
57
|
"lib/generators/tbone/install/templates/requirejs.yml",
|
58
|
+
"lib/generators/tbone/rabl_views/rabl_views_generator.rb",
|
59
|
+
"lib/generators/tbone/rabl_views/templates/index.rabl.erb",
|
60
|
+
"lib/generators/tbone/rabl_views/templates/show.rabl.erb",
|
61
|
+
"lib/generators/tbone/scaffold/scaffold_generator.rb",
|
62
|
+
"lib/generators/tbone/scaffold_backbone_router/scaffold_backbone_router_generator.rb",
|
63
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/confirm.hamljs.erb",
|
64
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/edit_view.coffee.erb",
|
65
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/form.hamljs.erb",
|
66
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/index.hamljs.erb",
|
67
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/index_view.coffee.erb",
|
68
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/new_view.coffee.erb",
|
69
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/object.hamljs.erb",
|
70
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/object_view.coffee.erb",
|
71
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/router.coffee.erb",
|
72
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/show.hamljs.erb",
|
73
|
+
"lib/generators/tbone/scaffold_backbone_router/templates/show_view.coffee.erb",
|
74
|
+
"lib/generators/tbone/scaffold_controller/scaffold_controller_generator.rb",
|
75
|
+
"lib/generators/tbone/scaffold_controller/templates/controller.rb.erb",
|
55
76
|
"lib/tbone.rb",
|
56
77
|
"lib/tbone/engine.rb",
|
57
78
|
"tbone.gemspec",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rdoc
|
16
|
-
requirement: &
|
16
|
+
requirement: &70112086859280 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70112086859280
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70112086858140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70112086858140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70112086856380 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70112086856380
|
47
47
|
description: Library for mixing together requirejs backbone and twitter bootstrap
|
48
48
|
email: fazzzenda@mail.ru
|
49
49
|
executables: []
|
@@ -84,9 +84,30 @@ files:
|
|
84
84
|
- app/views/home/index.html.haml
|
85
85
|
- app/views/tokens/show.json.rabl
|
86
86
|
- config/routes.rb
|
87
|
+
- lib/generators/tbone/backbone_model/backbone_model_generator.rb
|
88
|
+
- lib/generators/tbone/backbone_model/templates/collection.coffee.erb
|
89
|
+
- lib/generators/tbone/backbone_model/templates/model.coffee.erb
|
87
90
|
- lib/generators/tbone/install/install_generator.rb
|
88
91
|
- lib/generators/tbone/install/templates/application.json.rabl
|
89
92
|
- lib/generators/tbone/install/templates/requirejs.yml
|
93
|
+
- lib/generators/tbone/rabl_views/rabl_views_generator.rb
|
94
|
+
- lib/generators/tbone/rabl_views/templates/index.rabl.erb
|
95
|
+
- lib/generators/tbone/rabl_views/templates/show.rabl.erb
|
96
|
+
- lib/generators/tbone/scaffold/scaffold_generator.rb
|
97
|
+
- lib/generators/tbone/scaffold_backbone_router/scaffold_backbone_router_generator.rb
|
98
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/confirm.hamljs.erb
|
99
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/edit_view.coffee.erb
|
100
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/form.hamljs.erb
|
101
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/index.hamljs.erb
|
102
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/index_view.coffee.erb
|
103
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/new_view.coffee.erb
|
104
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/object.hamljs.erb
|
105
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/object_view.coffee.erb
|
106
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/router.coffee.erb
|
107
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/show.hamljs.erb
|
108
|
+
- lib/generators/tbone/scaffold_backbone_router/templates/show_view.coffee.erb
|
109
|
+
- lib/generators/tbone/scaffold_controller/scaffold_controller_generator.rb
|
110
|
+
- lib/generators/tbone/scaffold_controller/templates/controller.rb.erb
|
90
111
|
- lib/tbone.rb
|
91
112
|
- lib/tbone/engine.rb
|
92
113
|
- tbone.gemspec
|
@@ -107,7 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
128
|
version: '0'
|
108
129
|
segments:
|
109
130
|
- 0
|
110
|
-
hash:
|
131
|
+
hash: 1657973681414455746
|
111
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
133
|
none: false
|
113
134
|
requirements:
|