mongoid_scribe 0.1.0 → 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 +4 -4
- data/README.md +4 -1
- data/app/controllers/mongoid/scribe/application_controller.rb +3 -1
- data/app/controllers/mongoid/scribe/documents_controller.rb +19 -4
- data/app/views/mongoid/scribe/documents/edit.html.erb +4 -5
- data/app/views/mongoid/scribe/documents/index.html.erb +2 -1
- data/app/views/mongoid/scribe/documents/new.html.erb +20 -0
- data/app/views/mongoid/scribe/documents/show.html.erb +5 -4
- data/config/routes.rb +11 -6
- data/lib/mongoid/scribe/version.rb +1 -1
- data/lib/mongoid/scribe.rb +8 -2
- data/mongoid_scribe.gemspec +8 -4
- metadata +84 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dec2ffa9d5083184e3cec4fd6ea4d06073cd612c
|
4
|
+
data.tar.gz: 33c2e8a614493bb90344479cdde918683c6bfc18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86a221f1891f8fe319311d210e0e02badb97a5bb3fc12b849ba2381bffe509c4d83ce4a219ae6c9846bda7faa3fc388115d9a382e1fd7aeafeea9aaf7724aab6
|
7
|
+
data.tar.gz: c783cc2326a59dc70f23190d4af6e0cb8a58bed9e6c8a72deff856fd68a615e1d2f3ba0f793ceac84610bb3669cb3284967146f1fcff8b245966d7a968bd2ea8
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Mongoid Scribe
|
2
2
|
|
3
|
+
[](https://travis-ci.org/nick-desteffen/mongoid-scribe)
|
4
|
+
[](https://codeclimate.com/github/nick-desteffen/mongoid-scribe)
|
5
|
+
|
3
6
|
Mongoid Scribe is a Rails Engine that provides a DSL for setting up simple admin interfaces to edit MongoDB documents. No configuration is required in order to get a basic form, however you can override any form you want to provide a more custom and usable interface.
|
4
7
|
|
5
8
|
### Generator
|
@@ -50,4 +53,4 @@ In your application visit: **/documents**
|
|
50
53
|
### Notes
|
51
54
|
In development mode set `preload_models: true`
|
52
55
|
|
53
|
-
Styled using [Base](http://matthewhartman.github.io/base/docs/index.html)
|
56
|
+
Styled using [Base](http://matthewhartman.github.io/base/docs/index.html)
|
@@ -3,7 +3,9 @@ module Mongoid
|
|
3
3
|
class ApplicationController < ::ApplicationController
|
4
4
|
include DocumentsHelper
|
5
5
|
|
6
|
-
|
6
|
+
if Mongoid::Scribe.authentication_filter
|
7
|
+
before_filter Mongoid::Scribe.authentication_filter
|
8
|
+
end
|
7
9
|
|
8
10
|
end
|
9
11
|
end
|
@@ -10,7 +10,7 @@ module Mongoid
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def index
|
13
|
-
@documents = @klass.all
|
13
|
+
@documents = @klass.all.asc(:created_at)
|
14
14
|
end
|
15
15
|
|
16
16
|
def edit
|
@@ -19,9 +19,11 @@ module Mongoid
|
|
19
19
|
|
20
20
|
def update
|
21
21
|
@document = @klass.find(params[:id])
|
22
|
-
@document.update_attributes(document_params)
|
23
|
-
|
24
|
-
|
22
|
+
if @document.update_attributes(document_params)
|
23
|
+
redirect_to document_path(params[:type], @document.id)
|
24
|
+
else
|
25
|
+
render :edit
|
26
|
+
end
|
25
27
|
end
|
26
28
|
|
27
29
|
def show
|
@@ -35,6 +37,19 @@ module Mongoid
|
|
35
37
|
redirect_to documents_path(params[:type])
|
36
38
|
end
|
37
39
|
|
40
|
+
def new
|
41
|
+
@document = @klass.new
|
42
|
+
end
|
43
|
+
|
44
|
+
def create
|
45
|
+
@document = @klass.new(document_params)
|
46
|
+
if @document.save
|
47
|
+
redirect_to documents_path(params[:type])
|
48
|
+
else
|
49
|
+
render :new
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
38
53
|
private
|
39
54
|
|
40
55
|
def document_params
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<% content_for :navigation do %>
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
<%= link_to "All Documents", root_path, class: "button orange-button mobile-full" %>
|
3
|
+
<%= link_to "All #{@klass.to_s.pluralize}", documents_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
4
|
+
<%= link_to "View #{relation_label(@document)}", document_path(model_param(@klass), @document.id), class: "button orange-button mobile-full" %>
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
<div class="section header">
|
8
8
|
<div class="container clear">
|
9
|
-
<h1 class='logo'>Editing: <%= @document
|
9
|
+
<h1 class='logo'>Editing: <%= relation_label(@document) %></h1>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
|
@@ -19,4 +19,3 @@
|
|
19
19
|
<%= form.submit("Update #{@klass}", class: "button orange-button mobile-full") %>
|
20
20
|
</fieldset>
|
21
21
|
<% end %>
|
22
|
-
|
@@ -1,5 +1,6 @@
|
|
1
1
|
<% content_for :navigation do %>
|
2
|
-
<%= link_to "All Documents",
|
2
|
+
<%= link_to "All Documents", root_path, class: "button orange-button mobile-full" %>
|
3
|
+
<%= link_to "New #{@klass.name}", new_document_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
3
4
|
<% end %>
|
4
5
|
|
5
6
|
<div class="section header">
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<% content_for :navigation do %>
|
2
|
+
<%= link_to "All Documents", root_path, class: "button orange-button mobile-full" %>
|
3
|
+
<%= link_to "All #{@klass.to_s.pluralize}", documents_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<div class="section header">
|
7
|
+
<div class="container clear">
|
8
|
+
<h1 class='logo'>New <%= @klass %></h1>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<%= form_for @document, url: create_document_path(model_param(@klass)) do |form| %>
|
13
|
+
<fieldset class='row'>
|
14
|
+
<% Mongoid::Scribe.fields_for(@klass).each_pair do |name, config| %>
|
15
|
+
<%= Mongoid::Scribe::Builders::Field.new(form, @klass, @document, name, config).field %>
|
16
|
+
<% end %>
|
17
|
+
<%= link_to("Cancel", documents_path(model_param(@klass)), class: "button orange-button mobile-full") %>
|
18
|
+
<%= form.submit("Create #{@klass}", class: "button orange-button mobile-full") %>
|
19
|
+
</fieldset>
|
20
|
+
<% end %>
|
@@ -1,14 +1,15 @@
|
|
1
1
|
<% content_for :navigation do %>
|
2
|
-
<%= link_to "All Documents",
|
3
|
-
<%= link_to @klass.to_s.pluralize, documents_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
2
|
+
<%= link_to "All Documents", root_path, class: "button orange-button mobile-full" %>
|
3
|
+
<%= link_to "All #{@klass.to_s.pluralize}", documents_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
4
|
+
<%= link_to "New #{@klass.name}", new_document_path(model_param(@klass)), class: "button orange-button mobile-full" %>
|
5
|
+
<%= link_to "Edit #{relation_label(@document)}", edit_document_path(model_param(@klass), @document.id), class: "button orange-button mobile-full" %>
|
4
6
|
<% end %>
|
5
7
|
|
6
8
|
<div class="section header">
|
7
9
|
<div class="container clear">
|
8
|
-
<h1 class='logo'>Viewing: <%= @document
|
10
|
+
<h1 class='logo'>Viewing: <%= relation_label(@document) %></h1>
|
9
11
|
</div>
|
10
12
|
</div>
|
11
|
-
<%= link_to "Edit", edit_document_path(model_param(@klass), @document.id), class: "button orange-button mobile-full" %>
|
12
13
|
|
13
14
|
<table>
|
14
15
|
<% @klass.fields.each do |attribute, meta| %>
|
data/config/routes.rb
CHANGED
@@ -1,10 +1,15 @@
|
|
1
1
|
Mongoid::Scribe::Engine.routes.draw do
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
scope("/:type/") do
|
4
|
+
get "new", to: "documents#new", as: :new_document
|
5
|
+
post "new", to: "documents#create", as: :create_document
|
6
|
+
get ":id/edit", to: "documents#edit", as: :edit_document
|
7
|
+
get ":id", to: "documents#show", as: :document
|
8
|
+
put ":id/edit", to: "documents#update", as: :update_document
|
9
|
+
get "", to: "documents#index", as: :documents
|
10
|
+
delete ":id", to: "documents#destroy", as: :destroy_document
|
11
|
+
end
|
12
|
+
|
13
|
+
root to: "documents#all"
|
9
14
|
|
10
15
|
end
|
data/lib/mongoid/scribe.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require "rails"
|
2
|
+
require "strong_parameters"
|
3
|
+
require "mongoid"
|
1
4
|
require "mongoid/scribe/version"
|
2
5
|
require "mongoid/scribe/engine"
|
3
6
|
require "mongoid/scribe/configuration"
|
@@ -11,6 +14,9 @@ module Mongoid
|
|
11
14
|
module Scribe
|
12
15
|
extend ActiveSupport::Autoload
|
13
16
|
|
17
|
+
DEFAULT_ENDPOINT = "/documents"
|
18
|
+
DEFAULT_AUTHENTICATION_FILTER = nil
|
19
|
+
|
14
20
|
mattr_accessor :form_configuration
|
15
21
|
@@form_configuration = {}
|
16
22
|
|
@@ -18,10 +24,10 @@ module Mongoid
|
|
18
24
|
@@index_configuration = {}
|
19
25
|
|
20
26
|
mattr_accessor :authentication_filter
|
21
|
-
@@authentication_filter =
|
27
|
+
@@authentication_filter = DEFAULT_AUTHENTICATION_FILTER
|
22
28
|
|
23
29
|
mattr_accessor :endpoint
|
24
|
-
@@endpoint =
|
30
|
+
@@endpoint = DEFAULT_ENDPOINT
|
25
31
|
|
26
32
|
mattr_accessor :models
|
27
33
|
@@models = Mongoid.models
|
data/mongoid_scribe.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Mongoid::Scribe::VERSION
|
9
9
|
spec.authors = ["Nick DeSteffen"]
|
10
10
|
spec.email = ["nick.desteffen@gmail.com"]
|
11
|
-
spec.description = %q{
|
12
|
-
spec.summary = %q{
|
11
|
+
spec.description = %q{Mongoid Scribe}
|
12
|
+
spec.summary = %q{Mongoid Scribe is a Rails Engine that provides a DSL for setting up simple admin interfaces to edit MongoDB documents. No configuration is required in order to get a basic form, however you can override any form you want to provide a more custom and usable interface.}
|
13
13
|
spec.homepage = "https://github.com/nick-desteffen/mongoid-scribe"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.files += Dir.glob("vendor/**/*")
|
20
20
|
spec.files += %w(README.md LICENSE.txt mongoid_scribe.gemspec)
|
21
21
|
|
22
|
-
spec.test_files = spec.files.grep(%r{^(
|
22
|
+
spec.test_files = spec.files.grep(%r{^(spec)/})
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
25
|
spec.add_dependency "rails", "~> 3.2.0"
|
@@ -29,5 +29,9 @@ Gem::Specification.new do |spec|
|
|
29
29
|
|
30
30
|
spec.add_development_dependency "bundler", "~> 1.3"
|
31
31
|
spec.add_development_dependency "rake"
|
32
|
-
spec.add_development_dependency "
|
32
|
+
spec.add_development_dependency "rspec-rails", "~> 2.14.2"
|
33
|
+
spec.add_development_dependency "combustion", "~> 0.5.1"
|
34
|
+
spec.add_development_dependency "pry", "~> 0.9.12.6"
|
35
|
+
spec.add_development_dependency "factory_girl_rails", "~> 4.4.0"
|
36
|
+
spec.add_development_dependency "database_cleaner", "~> 1.2.0"
|
33
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_scribe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick DeSteffen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -95,53 +95,110 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec-rails
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 2.14.2
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
|
110
|
+
version: 2.14.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: combustion
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.5.1
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.5.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: pry
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.9.12.6
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ~>
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.9.12.6
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: factory_girl_rails
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ~>
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 4.4.0
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ~>
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 4.4.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: database_cleaner
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 1.2.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ~>
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 1.2.0
|
167
|
+
description: Mongoid Scribe
|
112
168
|
email:
|
113
169
|
- nick.desteffen@gmail.com
|
114
170
|
executables: []
|
115
171
|
extensions: []
|
116
172
|
extra_rdoc_files: []
|
117
173
|
files:
|
174
|
+
- LICENSE.txt
|
175
|
+
- README.md
|
176
|
+
- app/controllers/mongoid/scribe/application_controller.rb
|
177
|
+
- app/controllers/mongoid/scribe/documents_controller.rb
|
178
|
+
- app/helpers/mongoid/scribe/documents_helper.rb
|
179
|
+
- app/views/mongoid/scribe/documents/all.html.erb
|
180
|
+
- app/views/mongoid/scribe/documents/edit.html.erb
|
181
|
+
- app/views/mongoid/scribe/documents/index.html.erb
|
182
|
+
- app/views/mongoid/scribe/documents/new.html.erb
|
183
|
+
- app/views/mongoid/scribe/documents/show.html.erb
|
184
|
+
- app/views/mongoid/scribe/layouts/application.html.erb
|
185
|
+
- config/routes.rb
|
118
186
|
- lib/generators/mongoid_scribe/install_generator.rb
|
119
187
|
- lib/generators/mongoid_scribe/templates/config/initializers/mongoid_scribe.rb
|
188
|
+
- lib/mongoid/scribe.rb
|
120
189
|
- lib/mongoid/scribe/builders/field.rb
|
121
190
|
- lib/mongoid/scribe/builders/relation.rb
|
122
191
|
- lib/mongoid/scribe/builders/table.rb
|
192
|
+
- lib/mongoid/scribe/configuration.rb
|
123
193
|
- lib/mongoid/scribe/configuration/form_configuration.rb
|
124
194
|
- lib/mongoid/scribe/configuration/index_configuration.rb
|
125
|
-
- lib/mongoid/scribe/configuration.rb
|
126
195
|
- lib/mongoid/scribe/engine.rb
|
127
196
|
- lib/mongoid/scribe/version.rb
|
128
|
-
- lib/mongoid/scribe.rb
|
129
197
|
- lib/mongoid_scribe.rb
|
130
|
-
-
|
131
|
-
- app/controllers/mongoid/scribe/documents_controller.rb
|
132
|
-
- app/helpers/mongoid/scribe/documents_helper.rb
|
133
|
-
- app/views/mongoid/scribe/documents/all.html.erb
|
134
|
-
- app/views/mongoid/scribe/documents/edit.html.erb
|
135
|
-
- app/views/mongoid/scribe/documents/index.html.erb
|
136
|
-
- app/views/mongoid/scribe/documents/show.html.erb
|
137
|
-
- app/views/mongoid/scribe/layouts/application.html.erb
|
138
|
-
- config/routes.rb
|
198
|
+
- mongoid_scribe.gemspec
|
139
199
|
- vendor/assets/stylesheets/base/custom.css
|
140
200
|
- vendor/assets/stylesheets/base/doc.css
|
141
201
|
- vendor/assets/stylesheets/base/style.css
|
142
|
-
- README.md
|
143
|
-
- LICENSE.txt
|
144
|
-
- mongoid_scribe.gemspec
|
145
202
|
homepage: https://github.com/nick-desteffen/mongoid-scribe
|
146
203
|
licenses:
|
147
204
|
- MIT
|
@@ -162,8 +219,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
219
|
version: '0'
|
163
220
|
requirements: []
|
164
221
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.
|
222
|
+
rubygems_version: 2.2.2
|
166
223
|
signing_key:
|
167
224
|
specification_version: 4
|
168
|
-
summary:
|
225
|
+
summary: Mongoid Scribe is a Rails Engine that provides a DSL for setting up simple
|
226
|
+
admin interfaces to edit MongoDB documents. No configuration is required in order
|
227
|
+
to get a basic form, however you can override any form you want to provide a more
|
228
|
+
custom and usable interface.
|
169
229
|
test_files: []
|