common-content 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,7 +17,7 @@ class ContentsController < ApplicationController
17
17
 
18
18
  def edit
19
19
  @content = Content.find_by_ancestry(params[:ancestors].try(:split,'/'), params[:id])
20
- @content.build_seo unless @content.seo
20
+ # @content.build_seo unless @content.seo
21
21
  # @content.child_contents.create(slug:"#{@content.slug}-kid-#{@content.child_contents.count}", title:"#{@content.slug} Kid") if @content.child_contents.size == 0
22
22
  respond_with @content
23
23
  end
@@ -17,7 +17,12 @@ module ContentsHelper
17
17
  # end
18
18
 
19
19
  def link_to_add_fields(name, f, association)
20
- new_object = f.object.send(association).klass.new
20
+ begin
21
+ new_object = f.object.send(association).klass.new
22
+ rescue Exception => e
23
+ p e
24
+ end
25
+ new_object ||= ::Content.const_get(association.to_s.camelize).new
21
26
  id = new_object.object_id
22
27
  fields = f.fields_for(association, new_object, child_index: id) do |builder|
23
28
  render(partial: association.to_s.singularize + "_fields", locals: { f: builder })
@@ -11,10 +11,10 @@ class Content
11
11
 
12
12
  field :body, type: Textile # optional html block of text for this content
13
13
 
14
- embeds_one :seo # optional SEO fields
14
+ embeds_one :seo, class_name: 'Content::Seo' # optional SEO fields
15
15
  accepts_nested_attributes_for :seo # mongoid BUG see http://stackoverflow.com/questions/9392315/mongoid-and-nested-form-for-embeds-one-document
16
16
 
17
- embeds_many :resources # optional 1-n resources like images, videos, REST urls, etc
17
+ embeds_many :resources, class_name: 'Content::Resource' # optional 1-n resources like images, videos, REST urls, etc
18
18
  accepts_nested_attributes_for :resources # mongoid BUG see http://stackoverflow.com/questions/9392315/mongoid-and-nested-form-for-embeds-one-document
19
19
 
20
20
  recursively_embeds_many # optionaal 1-n embedded child Content objects, the editable field controls if user can change
@@ -46,4 +46,22 @@ class Content
46
46
  parent_content ? parent_content.to_param + '/' + id : id
47
47
  end
48
48
 
49
+ class Resource
50
+ include Mongoid::Document
51
+ embedded_in :content
52
+
53
+ field :slug, type: String
54
+ field :uri, type: String # the URI of the entity we're linking to
55
+ field :content_type, type: String # mime type if there is one
56
+ end
57
+
58
+ class Seo
59
+ include Mongoid::Document
60
+ embedded_in :content
61
+
62
+ field :description, type: String
63
+ field :keywords, type: String
64
+ field :metatitle, type: String
65
+ # validates :description, :keywords, :metatitle, presence: true
66
+ end
49
67
  end
@@ -17,7 +17,7 @@
17
17
  <%= render :partial => 'fields_new', :locals => {f: f} %>
18
18
  <%= render :partial => 'fields_edit', :locals => {f: f} %>
19
19
  <hr/>
20
- <h4>Seo</h4>
20
+ <%= link_to_add_fields "+ seo", f, :seo unless @content.seo %>
21
21
  <%= f.fields_for :seo do |seo| %>
22
22
  <%= render :partial => 'seo_fields', :locals => {f: seo} %>
23
23
  <% end %>
@@ -1,6 +1,5 @@
1
1
  module CommonContent
2
2
  class Engine < ::Rails::Engine
3
- isolate_namespace CommonContent
4
3
  config.to_prepare do
5
4
  ApplicationController.helper(ContentsHelper)
6
5
  end
@@ -1,3 +1,3 @@
1
1
  module CommonContent
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: common-content
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -126,8 +126,6 @@ files:
126
126
  - app/controllers/contents_controller.rb
127
127
  - app/helpers/contents_helper.rb
128
128
  - app/models/content.rb
129
- - app/models/resource.rb
130
- - app/models/seo.rb
131
129
  - app/models/textile.rb
132
130
  - app/views/contents/_array_form.html.erb
133
131
  - app/views/contents/_child_content_fields.html.erb
@@ -144,7 +142,7 @@ files:
144
142
  - app/views/contents/new.html.erb
145
143
  - app/views/contents/show.html.erb
146
144
  - app/views/contents/show.xml.builder
147
- - app/views/layouts/application.html.erb
145
+ - app/views/layouts/contents.html.erb
148
146
  - config/routes.rb
149
147
  - lib/common-content/engine.rb
150
148
  - lib/common-content/version.rb
@@ -1,10 +0,0 @@
1
- class Resource
2
- include Mongoid::Document
3
-
4
- embedded_in :content
5
-
6
- field :slug, type: String
7
- field :uri, type: String # the URI of the entity we're linking to
8
- field :content_type, type: String # mime type if there is one
9
-
10
- end
data/app/models/seo.rb DELETED
@@ -1,11 +0,0 @@
1
- class Seo
2
- include Mongoid::Document
3
-
4
- embedded_in :content
5
-
6
- field :description, type: String
7
- field :keywords, type: String
8
- field :metatitle, type: String
9
-
10
- # validates :description, :keywords, :metatitle, presence: true
11
- end