refinerycms-nested_models 0.0.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.
data/README.md ADDED
@@ -0,0 +1,96 @@
1
+ # Nested Models extension for Refinery CMS.
2
+
3
+ ## How to use
4
+
5
+ ``` ruby
6
+ gem 'refinerycms-nested_models'
7
+ ```
8
+
9
+
10
+ ## Nesting Models
11
+
12
+ You need to nest models in the normal rails way, with accepts nested attributes for e.g. the following in the 'parent' model:
13
+
14
+ ``` ruby
15
+ has_many :nested_models
16
+ accepts_nested_attributes_for :nested_models, allow_destroy: true
17
+ attr_accessible :nested_models_attributes
18
+ ```
19
+
20
+ And the following in the nested model:
21
+
22
+ ``` ruby
23
+ belongs_to :page, class_name: 'Refinery::Page'
24
+ ```
25
+
26
+ This is the basic setup, you then need to add to your views.
27
+
28
+ In the form of the parent model you should add the followuing:
29
+
30
+ ``` erb
31
+ <div class='field'>
32
+ <%= f.label :nested_models %>
33
+ <%= f.fields_for :nested_models do |j| %>
34
+ <%= render 'refinery/admin/pages/nested_model_fields', :f => j %>
35
+ <% end %>
36
+ <%= link_to_add_fields 'Add nested model', f, :nested_models %>
37
+ </div>
38
+ ```
39
+
40
+ The this block renders any existing nested objects in the page and also adds a link for adding new nested models. This works by embedding the html which should be insert into the page in the data-field of the link. When you click the link JS is executed to replace some placeholders in the data-field and insert it into the page, above the link. Some callbacks are also executed to enable any modals in the newly inserted HTML.
41
+
42
+ You will also need to create the partial file mentioned (refinery/admin/pages/nested_model_fields - where nested_model_fields is the singular name of the association from the parent model with "_fields" appended to it).
43
+
44
+ Below is an example of the nested model fields:
45
+
46
+ ``` erb
47
+ <fieldset class='nested'>
48
+ <div class='field'>
49
+ <%= f.label :name %>
50
+ <%= f.text_field :name %>
51
+ </div>
52
+ <div class='field'>
53
+ <%= f.label :image %>
54
+ <%= render 'refinery/admin/image_picker', f: f, field: :image_id, image: f.object.image %>
55
+ </div>
56
+ <%= link_to_remove_field 'Remove this nested model', f %>
57
+ </fieldset>
58
+ ```
59
+
60
+ This form contains any attributes which should appear from the nested model as well as a link_to_remove_field. Link to remove field adds a link to a JS function and a hidden field to mark the nested element for removal.
61
+
62
+ ### Sorting nested elements
63
+
64
+ To sort nested elements you should add the following code in your parent form:
65
+
66
+ ``` erb
67
+ <div class='field' data-sortable='true'>
68
+ ```
69
+
70
+ And this into the nested model fields:
71
+
72
+ ``` erb
73
+ <%= refinery_icon_tag 'arrow_switch', 'data-handle' => true, :title => 'Reorder', :class => 'handle' %>
74
+ <%= f.hidden_field :position, 'data-position' => true %>
75
+ ```
76
+
77
+ And the following to the nested model:
78
+
79
+ ``` ruby
80
+ attr_accessible :position
81
+ ```
82
+
83
+ ### Adding refinery images to nested models
84
+
85
+ Add the following to the nested model:
86
+
87
+ ``` ruby
88
+ belongs_to :image, class_name: 'Refinery::Image'
89
+ ```
90
+
91
+ And this to the nested field partial:
92
+
93
+ ``` erb
94
+ <%= render 'refinery/admin/image_picker', f: f, field: :image_id, image: f.object.image %>
95
+ ```
96
+
@@ -0,0 +1,34 @@
1
+ jQuery ->
2
+ window.init_nested_sorts()
3
+
4
+ $('form').on 'click', '[data-remove="true"]', (event) ->
5
+ $(this).prev('input[type=hidden]').val('1')
6
+ $(this).closest('[data-sortable-item="true"]').hide()
7
+ event.preventDefault()
8
+
9
+ $('form').on 'click', '[data-add="true"]', (event) ->
10
+ time = new Date().getTime()
11
+ regexp = new RegExp($(this).data('id'), 'g')
12
+ fields = $(this).data('fields')
13
+ $(this).before(fields.replace(regexp, time))
14
+ init_modal_dialogs()
15
+ init_nested_sorts()
16
+ event.preventDefault()
17
+
18
+ window.init_nested_sorts = ->
19
+ $('[data-sortable="true"]').each (index,value) ->
20
+ $(value).sortable
21
+ axis: 'y',
22
+ stop: ->
23
+ updateNestedSortablePositions()
24
+ handle: '[data-handle="true"]'
25
+ forcePlaceholderSize: true
26
+ items: '[data-sortable-item="true"]'
27
+ updateNestedSortablePositions()
28
+
29
+ window.updateNestedSortablePositions = ->
30
+ $('[data-sortable="true"]').each (index,value) ->
31
+ $(value).find('[data-sortable-item="true"]').each (nestedIndex,nestedValue) ->
32
+ $(nestedValue).find('[data-position="true"]').val(nestedIndex)
33
+
34
+
@@ -0,0 +1,20 @@
1
+ fieldset.nested {
2
+ margin-top: 10px;
3
+ border: 1px dotted #CCC;
4
+ }
5
+
6
+ a.add_fields, a.remove_fields {
7
+ margin-top: 10px;
8
+ display: inline-block;
9
+ }
10
+
11
+ .ui-sortable-placeholder {
12
+ background-color: #FFFFCC;
13
+ border: 2px dashed #FFFF00;
14
+ visibility: visible !important;
15
+ min-height: 200px;
16
+ }
17
+
18
+ .handle {
19
+ float: right;
20
+ }
@@ -0,0 +1,89 @@
1
+ <%
2
+ description ||= 'image'
3
+ thumbnail ||= 'medium'
4
+ toggle_image_display ||= false
5
+ conditions ||= nil
6
+ randomiser = f.object.new_record? ? f.object.object_id : rand(Time.now.yesterday.to_i * Time.now.to_i)
7
+ current_image_link_href = refinery.insert_admin_images_path(:dialog => true, :callback => "image_picker_#{randomiser}_changed",
8
+ :width => 866, :height => 510, :conditions => conditions)
9
+ current_image_title = t('.change', :what => description.titleize)
10
+ -%>
11
+ <div id='image_picker_container_<%= randomiser %>'>
12
+ <%= link_to t('.show'), '', :class => "current_image_toggler" if toggle_image_display %>
13
+ <%= f.hidden_field field, :class => "current_image_id" -%>
14
+
15
+ <div class='current_image_container' style="margin-top: 10px<%= ";display: none" if toggle_image_display %>">
16
+ <a class='current_image_link dialog' href="<%= current_image_link_href %>" style='border: 0px' title='<%= current_image_title %>' name='<%= current_image_title %>'>
17
+ <% unless image.nil? -%>
18
+ <%= image_fu image, Refinery::Images.user_image_sizes[thumbnail.to_sym],
19
+ :class => "brown_border",
20
+ :class => "current_picked_image" %>
21
+ <% else -%>
22
+ <img class="current_picked_image" src="" alt="" style='display: none' />
23
+ <% end -%>
24
+ <span class='no_picked_image_selected nothing_selected'<%= " style='display: none;'".html_safe if image.present? %>>
25
+ <%= t('.none_selected') %>
26
+ </span>
27
+ </a>
28
+ <br/>
29
+ <%= link_to t('.remove_current'), "#",
30
+ :class => "remove_picked_image",
31
+ :style => "#{"display:none;" if image.nil?}" %>
32
+ </div>
33
+ </div>
34
+
35
+ <% if f.object.new_record? %>
36
+ <script>
37
+ var image_picker_<%= randomiser %> = {};
38
+ $.extend(true, image_picker_<%= randomiser %>, image_picker);
39
+ image_picker_<%= randomiser %> = image_picker_<%= randomiser %>.init({
40
+ thumbnail: '<%= thumbnail.html_safe %>'
41
+ , image_toggler: '<%= toggle_image_display ? ".current_image_toggler" : "null" %>'
42
+ , description: '<%= description %>'
43
+ , field: '.current_image_id'
44
+ , image_display: '.current_picked_image'
45
+ , no_image_message: '.no_picked_image_selected'
46
+ , remove_image_button: '.remove_picked_image'
47
+ , picker_container: '#image_picker_container_<%= (lambda {randomiser}).call %>'
48
+ , image_container: '.current_image_container'
49
+ , image_link: '.current_image_link'
50
+ });
51
+
52
+ image_picker_<%= randomiser %>_changed = function(args){
53
+ $.proxy(image_picker_<%= randomiser %>.changed, {
54
+ container: '#image_picker_container_<%= randomiser %>'
55
+ , picker: image_picker_<%= randomiser %>
56
+ , image: args
57
+ })();
58
+ };
59
+ </script>
60
+ <% else %>
61
+ <% content_for :javascripts do -%>
62
+ <script>
63
+ var image_picker_<%= randomiser %> = {};
64
+ $(document).ready(function(e) {
65
+ $.extend(true, image_picker_<%= randomiser %>, image_picker)
66
+ image_picker_<%= randomiser %> = image_picker_<%= randomiser %>.init({
67
+ thumbnail: '<%= thumbnail.html_safe %>'
68
+ , image_toggler: '<%= toggle_image_display ? ".current_image_toggler" : "null" %>'
69
+ , description: '<%= description %>'
70
+ , field: '.current_image_id'
71
+ , image_display: '.current_picked_image'
72
+ , no_image_message: '.no_picked_image_selected'
73
+ , remove_image_button: '.remove_picked_image'
74
+ , picker_container: '#image_picker_container_<%= (lambda {randomiser}).call %>'
75
+ , image_container: '.current_image_container'
76
+ , image_link: '.current_image_link'
77
+ });
78
+ });
79
+
80
+ image_picker_<%= randomiser %>_changed = function(args){
81
+ $.proxy(image_picker_<%= randomiser %>.changed, {
82
+ container: '#image_picker_container_<%= randomiser %>'
83
+ , picker: image_picker_<%= randomiser %>
84
+ , image: args
85
+ })();
86
+ };
87
+ </script>
88
+ <% end %>
89
+ <% end %>
@@ -0,0 +1,27 @@
1
+ cs:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Přidat Nested Model
11
+ reorder: Řadit Nested Models
12
+ reorder_done: Konec řazení Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Litujeme, ale nebyly nalezny žádné výsledky.
16
+ no_items_yet: Zatím nebyly vytvořeny žádné Nested Models. Zvolte "Přidat Nested Model" pro přidání prvního nested model.
17
+ nested_model:
18
+ view_live_html: Zobrazit náhled nested model<br/><em>(otevře se v novém okně)</em>
19
+ edit: Upravit nested model
20
+ delete: Smazat nested model
21
+ nested_models:
22
+ show:
23
+ other: Další Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ en:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Add New Nested Model
11
+ reorder: Reorder Nested Models
12
+ reorder_done: Done Reordering Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Sorry! There are no results found.
16
+ no_items_yet: There are no Nested Models yet. Click "Add New Nested Model" to add your first nested model.
17
+ nested_model:
18
+ view_live_html: View this nested model live <br/><em>(opens in a new window)</em>
19
+ edit: Edit this nested model
20
+ delete: Remove this nested model forever
21
+ nested_models:
22
+ show:
23
+ other: Other Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,28 @@
1
+ es:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ # article: masculino/femenino
7
+ nested_models:
8
+ admin:
9
+ nested_models:
10
+ actions:
11
+ create_new: Crear nuevo nested model
12
+ reorder: Reordenar nested models
13
+ reorder_done: Reordenación de nested models completada
14
+ records:
15
+ title: Nested Models
16
+ sorry_no_results: Lo siento, no hay resultados
17
+ no_items_yet: No hay nested models todavía. Pulsa en "Crear nuevo Nested Model" para crear tu primer nested model.
18
+ nested_model:
19
+ view_live_html: Ver este nested model como abierto al público <br/><em>(abre en ventana nueva)</em>
20
+ edit: Editar este nested model
21
+ delete: Borrar este nested model para siempre
22
+ nested_models:
23
+ show:
24
+ other: Otros nested models
25
+ activerecord:
26
+ attributes:
27
+ 'refinery/nested_models/nested_model':
28
+ name: Name
@@ -0,0 +1,27 @@
1
+ fr:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Créer un(e) nouve(au/l/lle) Nested Model
11
+ reorder: Réordonner les Nested Models
12
+ reorder_done: Fin de réordonnancement des Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: "Désolé ! Aucun résultat."
16
+ no_items_yet: 'Il n''y a actuellement aucun(e) Nested Model. Cliquer sur "Créer un(e) nouve(au/l/lle) Nested Model" pour créer votre premi(er/ère) nested model.'
17
+ nested_model:
18
+ view_live_html: Voir ce(t/tte) nested model <br/><em>(Ouvre une nouvelle fenêtre)</em>
19
+ edit: Modifier ce(t/tte) nested model
20
+ delete: Supprimer définitivement ce(t/tte) nested model
21
+ nested_models:
22
+ show:
23
+ other: Autres Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ it:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Aggiungi Nuovo Nested Model
11
+ reorder: Riordina Nested Models
12
+ reorder_done: Termina il Riordino di Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: "Spiacenti! Nessun risultato trovato"
16
+ no_items_yet: Non ci sono ancora Nested Models. Clicca "Aggiungi Nuovo Nested Model" per aggiungere il tuo primo nested model.
17
+ nested_model:
18
+ view_live_html: Guarda live questo nested model <br/><em>(apre una nuova finestra)</em>
19
+ edit: Modifica questo nested model
20
+ delete: Rimuovi per sempre questo nested model
21
+ nested_models:
22
+ show:
23
+ other: Altri Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ nb:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Lag en ny Nested Model
11
+ reorder: Endre rekkefølgen på Nested Models
12
+ reorder_done: Ferdig å endre rekkefølgen Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Beklager! Vi fant ikke noen resultater.
16
+ no_items_yet: Det er ingen Nested Models enda. Klikk på "Lag en ny Nested Model" for å legge til din første nested model.
17
+ nested_model:
18
+ view_live_html: Vis hvordan denne nested model ser ut offentlig <br/><em>(åpner i et nytt vindu)</em>
19
+ edit: Rediger denne nested model
20
+ delete: Fjern denne nested model permanent
21
+ nested_models:
22
+ show:
23
+ other: Andre Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ nl:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Nieuwe Nested Model toevoegen
11
+ reorder: De volgorde van de Nested Models wijzigen
12
+ reorder_done: Klaar met het wijzingen van de van de Nested Model-volgorde
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Helaas! Er zijn geen resultaten gevonden.
16
+ no_items_yet: Er zijn nog geen Nested Models. Druk op 'Nieuwe Nested Model toevoegen' om de eerste toe te voegen.
17
+ nested_model:
18
+ view_live_html: Deze nested model op de website bekijken <br/><em>(opent in een nieuw venster)</em>
19
+ edit: Bewerk deze nested model
20
+ delete: Deze nested model definitief verwijderen
21
+ nested_models:
22
+ show:
23
+ other: Andere Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ sk:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Pridať Nested Model
11
+ reorder: Preusporiadať Nested Models
12
+ reorder_done: Koniec radenia Nested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Ľutujeme, ale neboli nájdené žiadne výsledky.
16
+ no_items_yet: Nie sú vytvorené žiadne Nested Models. Kliknite na "Pridať Nested Model" pre pridanie prvého nested model.
17
+ nested_model:
18
+ view_live_html: Zobraziť náhľad nested model<br/><em>(otvorí sa v novom okne)</em>
19
+ edit: Upraviť nested model
20
+ delete: Zmazať nested model
21
+ nested_models:
22
+ show:
23
+ other: Daľšie Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,27 @@
1
+ tr:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: Yeni Ekle Nested Model
11
+ reorder: Tekrar sirala Nested Models
12
+ reorder_done: Tekrar siralama tamamlandiNested Models
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: Uzgunum! Herhangi bir sonuc bulunamadi.
16
+ no_items_yet: Herhangi bir Nested Models yok henuz. Tikla "Yeni Ekle Nested Model" eklemek senin ilk nested model.
17
+ nested_model:
18
+ view_live_html: Bunu canlu nested model goruntule <br/><em>(yeni bir pencerede acar)</em>
19
+ edit: Bunu Duzenle nested model
20
+ delete: Bunu Sil nested model sonsuza dek
21
+ nested_models:
22
+ show:
23
+ other: Diger Nested Models
24
+ activerecord:
25
+ attributes:
26
+ 'refinery/nested_models/nested_model':
27
+ name: Name
@@ -0,0 +1,29 @@
1
+ zh-CN:
2
+ refinery:
3
+ plugins:
4
+ nested_models:
5
+ title: Nested Models
6
+ nested_models:
7
+ admin:
8
+ nested_models:
9
+ actions:
10
+ create_new: 建立新的 Nested Model
11
+ reorder: 对 Nested Models 重新排序
12
+ reorder_done: 对 Nested Models 的重新排序结束
13
+ records:
14
+ title: Nested Models
15
+ sorry_no_results: 对不起,未找到结果。 #Sorry! There are no results found.
16
+
17
+ # There are no Nested Models yet. Click "Add New Nested Model" to add your first nested model.
18
+ no_items_yet: 目前没有 Nested Models . 点击 "Add New Nested Model" 创建一个nested model.
19
+ nested_model:
20
+ view_live_html: 查看 nested model 的最新内容.<br/><em>(新窗口中打开)</em>
21
+ edit: 编辑 nested model
22
+ delete: 永久删除 nested model
23
+ nested_models:
24
+ show:
25
+ other: 其他 Nested Models
26
+ activerecord:
27
+ attributes:
28
+ 'refinery/nested_models/nested_model':
29
+ name: Name
data/config/routes.rb ADDED
@@ -0,0 +1,14 @@
1
+ Refinery::Core::Engine.routes.draw do
2
+
3
+ # Admin routes
4
+ namespace :nested_models, :path => '' do
5
+ namespace :admin, :path => Refinery::Core.backend_route do
6
+ resources :nested_models, :except => :show do
7
+ collection do
8
+ post :update_positions
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+ end
data/db/seeds.rb ADDED
File without changes
@@ -0,0 +1,7 @@
1
+ module Refinery
2
+ class NestedModelsGenerator < Rails::Generators::Base
3
+
4
+ # do not install migrations or seed database
5
+
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ module Refinery
2
+ module NestedModels
3
+ class Engine < Rails::Engine
4
+ extend Refinery::Engine
5
+ isolate_namespace Refinery::NestedModels
6
+
7
+ engine_name :refinery_nested_models
8
+
9
+ initializer "register refinerycms_nested_models plugin" do
10
+ # do not register plugin
11
+ end
12
+
13
+ config.after_initialize do
14
+ Refinery.register_extension(Refinery::NestedModels)
15
+ end
16
+
17
+ Refinery::Core.configure do |config| # # Register extra javascript for backend
18
+ config.register_javascript 'refinery/nested_models.js.coffee'
19
+ config.register_stylesheet "refinery/nested_models.css.scss", :media => 'screen'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ module Refinery
2
+ module NestedModels
3
+ module ViewMethods
4
+
5
+ def link_to_add_fields(name, f, association)
6
+ new_object = f.object.send(association).klass.new
7
+ id = new_object.object_id
8
+ fields = f.fields_for(association, new_object, child_index: id) do |builder|
9
+ render(association.to_s.singularize + "_fields", f: builder)
10
+ end
11
+ link_to(name, '#', class: "add_fields", data: {id: id, add: true, fields: fields.gsub("\n", "")})
12
+ end
13
+
14
+ def link_to_remove_field(label, builder)
15
+ ret = ''
16
+ ret += builder.hidden_field :_destroy, :class => 'destroy'
17
+ ret += link_to_function label, 'return true', class: 'remove_fields', data: {remove: true}
18
+ raw ret
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ ::ActionView::Base.send(:include, Refinery::NestedModels::ViewMethods)
@@ -0,0 +1,20 @@
1
+ require 'refinerycms-core'
2
+ require 'refinery/nested_models/view_methods'
3
+
4
+ module Refinery
5
+ module NestedModels
6
+ require 'refinery/nested_models/engine'
7
+
8
+ class << self
9
+ attr_writer :root
10
+
11
+ def root
12
+ @root ||= Pathname.new(File.expand_path('../../../', __FILE__))
13
+ end
14
+
15
+ def factory_paths
16
+ @factory_paths ||= [ root.join('spec', 'factories').to_s ]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1 @@
1
+ require 'refinery/nested_models'
@@ -0,0 +1,13 @@
1
+ namespace :refinery do
2
+
3
+ namespace :nested_models do
4
+
5
+ # call this task by running: rake refinery:nested_models:my_task
6
+ # desc "Description of my task below"
7
+ # task :my_task => :environment do
8
+ # # add your logic here
9
+ # end
10
+
11
+ end
12
+
13
+ end
metadata ADDED
@@ -0,0 +1,114 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: refinerycms-nested_models
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Nick Bolt
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-10-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ type: :runtime
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: 2.1.0
21
+ none: false
22
+ prerelease: false
23
+ name: refinerycms-core
24
+ requirement: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: 2.1.0
29
+ none: false
30
+ - !ruby/object:Gem::Dependency
31
+ type: :development
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: 2.1.0
37
+ none: false
38
+ prerelease: false
39
+ name: refinerycms-testing
40
+ requirement: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 2.1.0
45
+ none: false
46
+ - !ruby/object:Gem::Dependency
47
+ type: :development
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 1.4.1
53
+ none: false
54
+ prerelease: false
55
+ name: poltergeist
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: 1.4.1
61
+ none: false
62
+ description: Ruby on Rails Nested Models extension for Refinery CMS
63
+ email:
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - app/views/refinery/admin/_image_picker.html.erb
69
+ - app/assets/stylesheets/refinery/nested_models.css.scss
70
+ - app/assets/javascripts/refinery/nested_models.js.coffee
71
+ - config/locales/sk.yml
72
+ - config/locales/it.yml
73
+ - config/locales/fr.yml
74
+ - config/locales/tr.yml
75
+ - config/locales/nl.yml
76
+ - config/locales/es.yml
77
+ - config/locales/cs.yml
78
+ - config/locales/zh-CN.yml
79
+ - config/locales/en.yml
80
+ - config/locales/nb.yml
81
+ - config/routes.rb
82
+ - db/seeds.rb
83
+ - lib/tasks/refinery/nested_models.rake
84
+ - lib/refinery/nested_models.rb
85
+ - lib/refinery/nested_models/view_methods.rb
86
+ - lib/refinery/nested_models/engine.rb
87
+ - lib/generators/refinery/nested_models_generator.rb
88
+ - lib/refinerycms-nested_models.rb
89
+ - README.md
90
+ homepage:
91
+ licenses: []
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ none: false
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ! '>='
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ none: false
108
+ requirements: []
109
+ rubyforge_project:
110
+ rubygems_version: 1.8.25
111
+ signing_key:
112
+ specification_version: 3
113
+ summary: Nested Models extension for Refinery CMS
114
+ test_files: []