frontline 0.0.7
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.
- data/CHANGELOG.md +0 -0
- data/LICENSE +19 -0
- data/README.md +92 -0
- data/Rakefile +21 -0
- data/assets/ansi_up.js +143 -0
- data/assets/api.js +533 -0
- data/assets/bootstrap/css/bootstrap-responsive.min.css +9 -0
- data/assets/bootstrap/css/bootstrap.min.css +9 -0
- data/assets/bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/assets/bootstrap/img/glyphicons-halflings.png +0 -0
- data/assets/bootstrap/js/bootstrap.min.js +6 -0
- data/assets/jquery.cookie.js +95 -0
- data/assets/jquery.js +6 -0
- data/assets/noty/jquery.noty.js +520 -0
- data/assets/noty/layouts/top.js +34 -0
- data/assets/noty/layouts/topRight.js +43 -0
- data/assets/noty/promise.js +432 -0
- data/assets/noty/themes/default.js +156 -0
- data/assets/select2-bootstrap.css +86 -0
- data/assets/select2/select2-spinner.gif +0 -0
- data/assets/select2/select2.css +615 -0
- data/assets/select2/select2.min.js +22 -0
- data/assets/select2/select2.png +0 -0
- data/assets/select2/select2x2.png +0 -0
- data/assets/typeahead.js-bootstrap.css +49 -0
- data/assets/typeahead.min.js +7 -0
- data/assets/ui.css +28 -0
- data/assets/xhr.js +19 -0
- data/bin/frontline +19 -0
- data/frontline.gemspec +31 -0
- data/images/0.png +0 -0
- data/lib/frontline.rb +23 -0
- data/lib/frontline/actions.rb +15 -0
- data/lib/frontline/app.rb +86 -0
- data/lib/frontline/controllers/controllers.rb +71 -0
- data/lib/frontline/controllers/index.rb +167 -0
- data/lib/frontline/controllers/models.rb +104 -0
- data/lib/frontline/controllers/sources.rb +11 -0
- data/lib/frontline/frontline.rb +11 -0
- data/lib/frontline/helpers.rb +179 -0
- data/lib/frontline/inflect.rb +183 -0
- data/lib/frontline/templates/controllers/controller.slim +27 -0
- data/lib/frontline/templates/controllers/index.slim +56 -0
- data/lib/frontline/templates/controllers/route.slim +17 -0
- data/lib/frontline/templates/controllers/route_editor.slim +45 -0
- data/lib/frontline/templates/controllers/route_layout.slim +88 -0
- data/lib/frontline/templates/editor.slim +17 -0
- data/lib/frontline/templates/error.slim +36 -0
- data/lib/frontline/templates/index/applications.slim +123 -0
- data/lib/frontline/templates/layout.slim +182 -0
- data/lib/frontline/templates/models/index.slim +31 -0
- data/lib/frontline/templates/models/migration.slim +46 -0
- data/lib/frontline/templates/models/migration_layout.slim +159 -0
- data/lib/frontline/templates/models/model.slim +34 -0
- metadata +245 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
javascript:
|
|
2
|
+
var modelCrudifier = new Frontline.CRUD('#{route :model}', '#body');
|
|
3
|
+
|
|
4
|
+
ul.nav.nav-tabs
|
|
5
|
+
li.dropdown.active
|
|
6
|
+
a href="#modelsTab" data-toggle="tab" Models
|
|
7
|
+
li.dropdown
|
|
8
|
+
a href="#newModelTab" data-toggle="tab" New Model
|
|
9
|
+
|
|
10
|
+
.tab-content
|
|
11
|
+
.tab-pane.active#modelsTab
|
|
12
|
+
#body == render_p :model
|
|
13
|
+
|
|
14
|
+
.tab-pane#newModelTab
|
|
15
|
+
form.form-inline#modelForm
|
|
16
|
+
.input-append
|
|
17
|
+
input.input-xxlarge name="name" type="text" placeholder="Model names, space separated"
|
|
18
|
+
a.btn href="#" onclick="modelCrudifier.create('#modelForm');" value="Go"
|
|
19
|
+
i.icon-play
|
|
20
|
+
|
|
21
|
+
hr
|
|
22
|
+
.lead Associations
|
|
23
|
+
.form-horizontal
|
|
24
|
+
- Enginery::ORM_ASSOCIATIONS.each do |a|
|
|
25
|
+
.control-group
|
|
26
|
+
label.control-label = a
|
|
27
|
+
.controls
|
|
28
|
+
input name=a type="text" class=association_hint_class(a)
|
|
29
|
+
- if [:has_one, :has_many].include?(a)
|
|
30
|
+
div style="margin: .2em;"
|
|
31
|
+
input name=('throughFor[%s]' % a) type="text" placeholder="through"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
- if model = models[model]
|
|
2
|
+
== js_tag src: route(:assets, :xhr), suffix: Frontline::ASSETS_SUFFIX
|
|
3
|
+
|
|
4
|
+
- crudifier = 'migratorFor' + model[:dom_id]
|
|
5
|
+
- form_id = crudifier + 'Form'
|
|
6
|
+
|
|
7
|
+
form.form-inline.controls-row id=form_id
|
|
8
|
+
|
|
9
|
+
label.checkbox
|
|
10
|
+
- onclick = "$('#%s :input[name=migrations]').prop('checked', this.checked);"
|
|
11
|
+
input type="checkbox" onclick=(onclick % form_id)
|
|
12
|
+
span.text-info Toggle All
|
|
13
|
+
| |
|
|
14
|
+
|
|
15
|
+
label.checkbox
|
|
16
|
+
input name="forceRun" type="checkbox" value=true
|
|
17
|
+
span.text-warning Force Run
|
|
18
|
+
|
|
19
|
+
hr
|
|
20
|
+
- model[:migrations].each_pair do |name, m|
|
|
21
|
+
div style="display: inline-block; margin-bottom: .5em;"
|
|
22
|
+
- lastrunid = 'dropdownFor-%sModel-MigrationN%s' % [model[:dom_id], m[:step]]
|
|
23
|
+
.btn-group
|
|
24
|
+
a.btn href="#"
|
|
25
|
+
input name="migrations" type="checkbox" value=m[:step] style="margin:0;"
|
|
26
|
+
|
|
|
27
|
+
span onclick=("fileCrudifier.toggleEditor('%s');" % m[:file])
|
|
28
|
+
= name
|
|
29
|
+
- data = [route(:last_run, file: m[:path]), lastrunid]
|
|
30
|
+
- oncl = "$.get('%s', function(r) { $('#%s').html(r) })" % data
|
|
31
|
+
button.btn.dropdown-toggle data-toggle="dropdown" onclick=oncl
|
|
32
|
+
span.caret
|
|
33
|
+
ul.dropdown-menu
|
|
34
|
+
li
|
|
35
|
+
a
|
|
36
|
+
div
|
|
37
|
+
b Last Run
|
|
38
|
+
small id=lastrunid unknown
|
|
39
|
+
|
|
40
|
+
li.divider
|
|
41
|
+
li
|
|
42
|
+
- confirm = 'Migration will be deleted. Continue?'
|
|
43
|
+
- onclick = "%s.delete('%s', '%s');" % [crudifier, m[:step], confirm]
|
|
44
|
+
a href="#" onclick=onclick
|
|
45
|
+
i.icon-remove
|
|
46
|
+
| Delete
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
== js_tag src: route(:assets, :xhr), suffix: Frontline::ASSETS_SUFFIX
|
|
2
|
+
|
|
3
|
+
- migrator = 'migratorFor' + model[:dom_id]
|
|
4
|
+
- form_id = migrator + 'Form'
|
|
5
|
+
|
|
6
|
+
javascript:
|
|
7
|
+
var #{migrator} = new Frontline.Migrations(
|
|
8
|
+
'#{route(:migration, model[:name])}', '#migrationsFor#{model[:dom_id]}'
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
ul.nav.nav-pills
|
|
12
|
+
li.dropdown.active
|
|
13
|
+
a.dropdown-toggle href="#" data-toggle="dropdown"
|
|
14
|
+
= model[:name]
|
|
15
|
+
| Migrations
|
|
16
|
+
b class="caret"
|
|
17
|
+
ul.dropdown-menu
|
|
18
|
+
- %w[up down].each do |v|
|
|
19
|
+
li
|
|
20
|
+
- data = [route(:run_migrations), v, form_id]
|
|
21
|
+
- onclick = "new Frontline.Migrations('%s').run('%s', '#%s');" % data
|
|
22
|
+
a href="#" onclick=onclick
|
|
23
|
+
i class=('icon-arrow-%s' % v)
|
|
24
|
+
= " Run selected migrations %s" % v.upcase
|
|
25
|
+
|
|
26
|
+
- if datamapper?
|
|
27
|
+
li.divider
|
|
28
|
+
- %w[auto_upgrade auto_migrate].each do |task|
|
|
29
|
+
li
|
|
30
|
+
- confirm = 'This will run %s for %s model. Continue?' % [task, model[:name]]
|
|
31
|
+
- url = route(:run_datamapper_task, task, model[:name])
|
|
32
|
+
- onclick = "Frontline.runCmd('%s', '%s')" % [url, confirm]
|
|
33
|
+
a href="#" onclick=onclick
|
|
34
|
+
i.icon-play
|
|
35
|
+
|
|
|
36
|
+
= task.gsub('_', ' ')
|
|
37
|
+
|
|
38
|
+
li.dropdown
|
|
39
|
+
a.dropdown-toggle data-toggle="dropdown" href="#"
|
|
40
|
+
| Model
|
|
41
|
+
b class="caret"
|
|
42
|
+
ul.dropdown-menu
|
|
43
|
+
li
|
|
44
|
+
- onclick = "fileCrudifier.toggleEditor('%s');" % model[:file]
|
|
45
|
+
a href="#" onclick=onclick
|
|
46
|
+
i.icon-edit
|
|
47
|
+
span Edit
|
|
48
|
+
li.divider
|
|
49
|
+
li
|
|
50
|
+
- confirm = 'You are about to delete an entire Model! This action can not be undone! Continue?'
|
|
51
|
+
- onclick = "modelCrudifier.delete('%s', '%s');" % [model[:name], confirm]
|
|
52
|
+
a href="#" onclick=onclick
|
|
53
|
+
i.icon-remove
|
|
54
|
+
span Delete
|
|
55
|
+
|
|
56
|
+
li.dropdown
|
|
57
|
+
a.dropdown-toggle data-toggle="dropdown" href="#"
|
|
58
|
+
| Admin
|
|
59
|
+
b class="caret"
|
|
60
|
+
ul.dropdown-menu
|
|
61
|
+
li
|
|
62
|
+
- onclick = "fileCrudifier.toggleEditor('%s');" % model[:rear_file]
|
|
63
|
+
a href="#" onclick=onclick
|
|
64
|
+
i.icon-edit
|
|
65
|
+
span Edit
|
|
66
|
+
|
|
67
|
+
li.divider
|
|
68
|
+
li
|
|
69
|
+
- url = File.join(session[:application].last, model[:rear_path].to_s)
|
|
70
|
+
- onclick = "Frontline.openWindow({url: '%s'});" % url
|
|
71
|
+
a href="#" onclick=onclick
|
|
72
|
+
i.icon-arrow-right
|
|
73
|
+
span Open
|
|
74
|
+
|
|
75
|
+
div id=("migrationsFor%s" % model[:dom_id])
|
|
76
|
+
== render_p(:migration, model: model[:name])
|
|
77
|
+
|
|
78
|
+
- dom_id = %w[new update rename].inject({}) {|f,o| f.merge o.to_sym => [o, 'ColumnFor', model[:dom_id]].join}
|
|
79
|
+
.tabbable
|
|
80
|
+
ul.nav.nav-tabs
|
|
81
|
+
- dom_id.each_pair do |op,id|
|
|
82
|
+
li.text-right
|
|
83
|
+
a href=('#' + id) data-toggle="tab" = op.to_s + ' column'
|
|
84
|
+
|
|
85
|
+
.tab-content
|
|
86
|
+
.tab-pane id=dom_id[:new]
|
|
87
|
+
- form_id = 'FormFor' << dom_id[:new]
|
|
88
|
+
form.form-horizontal id=form_id
|
|
89
|
+
input type="hidden" name="model" value=model[:name]
|
|
90
|
+
|
|
91
|
+
.control-group
|
|
92
|
+
label.control-label column name
|
|
93
|
+
.controls
|
|
94
|
+
input name="name" type="text"
|
|
95
|
+
.control-group
|
|
96
|
+
label.control-label column type
|
|
97
|
+
.controls
|
|
98
|
+
input.columnTypeSelector name="type" type="text" placeholder="String"
|
|
99
|
+
.control-group
|
|
100
|
+
label.control-label migration label
|
|
101
|
+
.controls
|
|
102
|
+
input.columnTypeSelector name="label" type="text"
|
|
103
|
+
br
|
|
104
|
+
small.muted optional
|
|
105
|
+
.control-group
|
|
106
|
+
label
|
|
107
|
+
.controls
|
|
108
|
+
- onclick = "%s.newColumn('#%s');" % [migrator, form_id]
|
|
109
|
+
input.btn type="button" value="Go" onclick=onclick
|
|
110
|
+
|
|
111
|
+
.tab-pane id=dom_id[:update]
|
|
112
|
+
- form_id = 'FormFor' << dom_id[:update]
|
|
113
|
+
form.form-horizontal id=form_id
|
|
114
|
+
input type="hidden" name="model" value=model[:name]
|
|
115
|
+
|
|
116
|
+
.control-group
|
|
117
|
+
label.control-label column
|
|
118
|
+
.controls
|
|
119
|
+
input name="name" type="text"
|
|
120
|
+
.control-group
|
|
121
|
+
label.control-label new type
|
|
122
|
+
.controls
|
|
123
|
+
input.columnTypeSelector name="type" type="text"
|
|
124
|
+
.control-group
|
|
125
|
+
label.control-label migration label
|
|
126
|
+
.controls
|
|
127
|
+
input.columnTypeSelector name="label" type="text"
|
|
128
|
+
br
|
|
129
|
+
small.muted optional
|
|
130
|
+
.control-group
|
|
131
|
+
label
|
|
132
|
+
.controls
|
|
133
|
+
- onclick = "%s.updateColumn('#%s');" % [migrator, form_id]
|
|
134
|
+
input.btn type="button" value="Go" onclick=onclick
|
|
135
|
+
|
|
136
|
+
.tab-pane id=dom_id[:rename]
|
|
137
|
+
- form_id = 'FormFor' << dom_id[:rename]
|
|
138
|
+
form.form-horizontal id=form_id
|
|
139
|
+
input type="hidden" name="model" value=model[:name]
|
|
140
|
+
|
|
141
|
+
.control-group
|
|
142
|
+
label.control-label column
|
|
143
|
+
.controls
|
|
144
|
+
input name="name" type="text"
|
|
145
|
+
.control-group
|
|
146
|
+
label.control-label new name
|
|
147
|
+
.controls
|
|
148
|
+
input.columnTypeSelector name="new_name" type="text"
|
|
149
|
+
.control-group
|
|
150
|
+
label.control-label migration label
|
|
151
|
+
.controls
|
|
152
|
+
input.columnTypeSelector name="label" type="text"
|
|
153
|
+
br
|
|
154
|
+
small.muted optional
|
|
155
|
+
.control-group
|
|
156
|
+
label
|
|
157
|
+
.controls
|
|
158
|
+
- onclick = "%s.renameColumn('#%s');" % [migrator, form_id]
|
|
159
|
+
input.btn type="button" value="Go" onclick=onclick
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
== js_tag src: route(:assets, :xhr), suffix: Frontline::ASSETS_SUFFIX
|
|
2
|
+
|
|
3
|
+
- if (result = models).is_a?(Hash)
|
|
4
|
+
.tabbable.tabs-left
|
|
5
|
+
ul.nav.nav-tabs#modelsNav
|
|
6
|
+
- result.each_value do |model|
|
|
7
|
+
li.dropdown class=('active' if params[:name] == model[:name])
|
|
8
|
+
- onclick = "history.pushState(null, null, '%s');" % route(name: model[:name])
|
|
9
|
+
- url = route(:migration_layout, model[:name])
|
|
10
|
+
a href=("#" << model[:dom_id]) data-url=url data-toggle="tab" onclick=onclick
|
|
11
|
+
|
|
|
12
|
+
= model[:name]
|
|
13
|
+
|
|
14
|
+
.tab-content
|
|
15
|
+
- result.each_value do |model|
|
|
16
|
+
- active = params[:name] == model[:name]
|
|
17
|
+
.tab-pane class=('active' if active) id=model[:dom_id]
|
|
18
|
+
== render_p(:migration_layout, model: model) if active
|
|
19
|
+
|
|
20
|
+
javascript:
|
|
21
|
+
$(function() {
|
|
22
|
+
Frontline.ajaxifyTabs('#modelsNav');
|
|
23
|
+
$('.singularized_association_hints').typeahead('destroy');
|
|
24
|
+
$('.singularized_association_hints').typeahead({
|
|
25
|
+
local: ['#{singularized_association_hints*"', '"}']
|
|
26
|
+
});
|
|
27
|
+
$('.pluralized_association_hints').typeahead('destroy');
|
|
28
|
+
$('.pluralized_association_hints').typeahead({
|
|
29
|
+
local: ['#{pluralized_association_hints*"', '"}']
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
- else
|
|
34
|
+
- styled_halt 500, result.to_s.strip.split("\n")
|
metadata
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: frontline
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.7
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Silviu Rusu
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2013-06-28 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: e
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ! '>='
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 0.4.8
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ! '>='
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: 0.4.8
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: enginery
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ! '>='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: 0.2.0
|
|
38
|
+
type: :runtime
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 0.2.0
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: el
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ! '>='
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: 0.4.8
|
|
54
|
+
type: :runtime
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 0.4.8
|
|
62
|
+
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: el-ace
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
66
|
+
requirements:
|
|
67
|
+
- - ! '>='
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 0.0.5
|
|
70
|
+
type: :runtime
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: 0.0.5
|
|
78
|
+
- !ruby/object:Gem::Dependency
|
|
79
|
+
name: el-finder
|
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
|
81
|
+
none: false
|
|
82
|
+
requirements:
|
|
83
|
+
- - ! '>='
|
|
84
|
+
- !ruby/object:Gem::Version
|
|
85
|
+
version: 0.0.7
|
|
86
|
+
type: :runtime
|
|
87
|
+
prerelease: false
|
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
+
none: false
|
|
90
|
+
requirements:
|
|
91
|
+
- - ! '>='
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: 0.0.7
|
|
94
|
+
- !ruby/object:Gem::Dependency
|
|
95
|
+
name: slim
|
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
|
97
|
+
none: false
|
|
98
|
+
requirements:
|
|
99
|
+
- - ! '>='
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: '2.0'
|
|
102
|
+
type: :runtime
|
|
103
|
+
prerelease: false
|
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
+
none: false
|
|
106
|
+
requirements:
|
|
107
|
+
- - ! '>='
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '2.0'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: thin
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
none: false
|
|
114
|
+
requirements:
|
|
115
|
+
- - ! '>='
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
none: false
|
|
122
|
+
requirements:
|
|
123
|
+
- - ! '>='
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '0'
|
|
126
|
+
- !ruby/object:Gem::Dependency
|
|
127
|
+
name: json
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
129
|
+
none: false
|
|
130
|
+
requirements:
|
|
131
|
+
- - ! '>='
|
|
132
|
+
- !ruby/object:Gem::Version
|
|
133
|
+
version: '0'
|
|
134
|
+
type: :runtime
|
|
135
|
+
prerelease: false
|
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
+
none: false
|
|
138
|
+
requirements:
|
|
139
|
+
- - ! '>='
|
|
140
|
+
- !ruby/object:Gem::Version
|
|
141
|
+
version: '0'
|
|
142
|
+
- !ruby/object:Gem::Dependency
|
|
143
|
+
name: bundler
|
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
|
145
|
+
none: false
|
|
146
|
+
requirements:
|
|
147
|
+
- - ! '>='
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: '0'
|
|
150
|
+
type: :development
|
|
151
|
+
prerelease: false
|
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
153
|
+
none: false
|
|
154
|
+
requirements:
|
|
155
|
+
- - ! '>='
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '0'
|
|
158
|
+
description: A Web Application for building Web Applications
|
|
159
|
+
email:
|
|
160
|
+
- slivuz@gmail.com
|
|
161
|
+
executables:
|
|
162
|
+
- frontline
|
|
163
|
+
extensions: []
|
|
164
|
+
extra_rdoc_files: []
|
|
165
|
+
files:
|
|
166
|
+
- assets/ansi_up.js
|
|
167
|
+
- assets/api.js
|
|
168
|
+
- assets/bootstrap/css/bootstrap-responsive.min.css
|
|
169
|
+
- assets/bootstrap/css/bootstrap.min.css
|
|
170
|
+
- assets/bootstrap/img/glyphicons-halflings-white.png
|
|
171
|
+
- assets/bootstrap/img/glyphicons-halflings.png
|
|
172
|
+
- assets/bootstrap/js/bootstrap.min.js
|
|
173
|
+
- assets/jquery.cookie.js
|
|
174
|
+
- assets/jquery.js
|
|
175
|
+
- assets/noty/jquery.noty.js
|
|
176
|
+
- assets/noty/layouts/top.js
|
|
177
|
+
- assets/noty/layouts/topRight.js
|
|
178
|
+
- assets/noty/promise.js
|
|
179
|
+
- assets/noty/themes/default.js
|
|
180
|
+
- assets/select2/select2-spinner.gif
|
|
181
|
+
- assets/select2/select2.css
|
|
182
|
+
- assets/select2/select2.min.js
|
|
183
|
+
- assets/select2/select2.png
|
|
184
|
+
- assets/select2/select2x2.png
|
|
185
|
+
- assets/select2-bootstrap.css
|
|
186
|
+
- assets/typeahead.js-bootstrap.css
|
|
187
|
+
- assets/typeahead.min.js
|
|
188
|
+
- assets/ui.css
|
|
189
|
+
- assets/xhr.js
|
|
190
|
+
- bin/frontline
|
|
191
|
+
- CHANGELOG.md
|
|
192
|
+
- frontline.gemspec
|
|
193
|
+
- images/0.png
|
|
194
|
+
- lib/frontline/actions.rb
|
|
195
|
+
- lib/frontline/app.rb
|
|
196
|
+
- lib/frontline/controllers/controllers.rb
|
|
197
|
+
- lib/frontline/controllers/index.rb
|
|
198
|
+
- lib/frontline/controllers/models.rb
|
|
199
|
+
- lib/frontline/controllers/sources.rb
|
|
200
|
+
- lib/frontline/frontline.rb
|
|
201
|
+
- lib/frontline/helpers.rb
|
|
202
|
+
- lib/frontline/inflect.rb
|
|
203
|
+
- lib/frontline/templates/controllers/controller.slim
|
|
204
|
+
- lib/frontline/templates/controllers/index.slim
|
|
205
|
+
- lib/frontline/templates/controllers/route.slim
|
|
206
|
+
- lib/frontline/templates/controllers/route_editor.slim
|
|
207
|
+
- lib/frontline/templates/controllers/route_layout.slim
|
|
208
|
+
- lib/frontline/templates/editor.slim
|
|
209
|
+
- lib/frontline/templates/error.slim
|
|
210
|
+
- lib/frontline/templates/index/applications.slim
|
|
211
|
+
- lib/frontline/templates/layout.slim
|
|
212
|
+
- lib/frontline/templates/models/index.slim
|
|
213
|
+
- lib/frontline/templates/models/migration.slim
|
|
214
|
+
- lib/frontline/templates/models/migration_layout.slim
|
|
215
|
+
- lib/frontline/templates/models/model.slim
|
|
216
|
+
- lib/frontline.rb
|
|
217
|
+
- LICENSE
|
|
218
|
+
- Rakefile
|
|
219
|
+
- README.md
|
|
220
|
+
homepage: https://github.com/espresso/frontline
|
|
221
|
+
licenses:
|
|
222
|
+
- MIT
|
|
223
|
+
post_install_message:
|
|
224
|
+
rdoc_options: []
|
|
225
|
+
require_paths:
|
|
226
|
+
- lib
|
|
227
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
228
|
+
none: false
|
|
229
|
+
requirements:
|
|
230
|
+
- - ! '>='
|
|
231
|
+
- !ruby/object:Gem::Version
|
|
232
|
+
version: 1.9.2
|
|
233
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
|
+
none: false
|
|
235
|
+
requirements:
|
|
236
|
+
- - ! '>='
|
|
237
|
+
- !ruby/object:Gem::Version
|
|
238
|
+
version: '0'
|
|
239
|
+
requirements: []
|
|
240
|
+
rubyforge_project:
|
|
241
|
+
rubygems_version: 1.8.24
|
|
242
|
+
signing_key:
|
|
243
|
+
specification_version: 3
|
|
244
|
+
summary: frontline-0.0.7
|
|
245
|
+
test_files: []
|