schofield 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -27,12 +27,25 @@ class SchofieldControllerGenerator < Rails::Generator::NamedBase
27
27
  sco_parent_underscored_plural = sco_parent_underscored.pluralize
28
28
  sco_parent_titleized_plural = sco_parent_underscored.titleize.pluralize
29
29
 
30
- sco_child_class = has_child? ? options[:child].classify : ''
31
- sco_child_underscored = sco_child_class.underscore.downcase
32
- sco_child_underscored_plural = sco_child_underscored.pluralize
33
- sco_child_titleized_plural = sco_child_underscored.titleize.pluralize
34
- sco_child_humanized = sco_child_underscored.humanize.downcase
30
+ sco_children = []
35
31
 
32
+ if has_children?
33
+ options[:children].each do |child|
34
+ sco_child_class = has_children? ? child.classify : ''
35
+ sco_child_underscored = sco_child_class.underscore.downcase
36
+ sco_child_underscored_plural = sco_child_underscored.pluralize
37
+ sco_child_titleized_plural = sco_child_underscored.titleize.pluralize
38
+ sco_child_humanized = sco_child_underscored.humanize.downcase
39
+ sco_children << {
40
+ :class => sco_child_class,
41
+ :underscored => sco_child_underscored,
42
+ :underscored_plural => sco_child_underscored_plural,
43
+ :titleized_plural => sco_child_titleized_plural,
44
+ :humanized => sco_child_humanized
45
+ }
46
+ end
47
+ end
48
+
36
49
  assigns = { :sco_underscored => sco_underscored,
37
50
  :sco_underscored_plural => sco_underscored_plural,
38
51
  :sco_class => sco_class,
@@ -44,10 +57,7 @@ class SchofieldControllerGenerator < Rails::Generator::NamedBase
44
57
  :sco_titleized_plural => sco_titleized_plural,
45
58
  :sco_humanized => sco_humanized,
46
59
  :non_restful_actions => non_restful_actions,
47
- :sco_child_underscored => sco_child_underscored,
48
- :sco_child_underscored_plural => sco_child_underscored_plural,
49
- :sco_child_titleized_plural => sco_child_titleized_plural,
50
- :sco_child_humanized => sco_child_humanized }
60
+ :sco_children => sco_children }
51
61
 
52
62
 
53
63
  # Check for class naming collisions.
@@ -118,15 +128,15 @@ class SchofieldControllerGenerator < Rails::Generator::NamedBase
118
128
  opt.separator ''
119
129
  opt.separator 'Options:'
120
130
  opt.on('--parent PARENT', 'Specify the parent model') { |v| options[:parent] = v if v.present? }
121
- opt.on('--child CHILD', 'Specify the child model') { |v| options[:child] = v if v.present? }
131
+ opt.on('--children CHILDREN', 'Specify the children models') { |v| options[:children] = v if v.present? }
122
132
  end
123
133
 
124
134
  def has_parent?
125
135
  options[:parent].present?
126
136
  end
127
137
 
128
- def has_child?
129
- options[:child].present?
138
+ def has_children?
139
+ options[:children].present?
130
140
  end
131
141
 
132
142
  def filter_actions array
@@ -1,10 +1,10 @@
1
1
  - toggle_show_edit 'Edit', :admin, @<%= sco_underscored %>
2
- <% if has_child? -%>
2
+ <% sco_children.each do |child| -%>
3
3
 
4
4
 
5
- %h5 <%= sco_child_titleized_plural %>
5
+ %h5 <%= child[:titleized_plural] %>
6
6
 
7
- %p= link_to('Add new <%= sco_child_humanized %>', new_admin_<%= sco_underscored %>_<%= sco_child_underscored %>_path(@<%= sco_underscored %>))
7
+ %p= link_to('Add new <%= child[:humanized] %>', new_admin_<%= sco_underscored %>_<%= child[:underscored] %>_path(@<%= sco_underscored %>))
8
8
 
9
- = render :partial => 'shared/<%= sco_child_underscored_plural %>', :object => @<%= sco_underscored %>.<%= sco_child_underscored_plural %>
9
+ = render :partial => 'shared/<%= child[:underscored_plural] %>', :object => @<%= sco_underscored %>.<%= child[:underscored_plural] %>
10
10
  <% end -%>
data/lib/schofield.rb CHANGED
@@ -44,7 +44,7 @@ module Schofield
44
44
  class ControllerInfo
45
45
 
46
46
  attr_reader :parent, :controller_name, :controller_path, :model_name
47
- attr_accessor :actions, :child
47
+ attr_accessor :actions, :children
48
48
 
49
49
  def initialize route_info
50
50
  @controller_name = route_info.controller_name
@@ -52,6 +52,7 @@ module Schofield
52
52
  @model_name = route_info.model_name
53
53
  @parent = route_info.parent
54
54
  @actions = []
55
+ @children = []
55
56
  end
56
57
 
57
58
  end
@@ -76,7 +77,7 @@ module Schofield
76
77
 
77
78
  def set_children
78
79
  @controller_infos.each do |index, info|
79
- @controller_infos[info.parent].child = index unless info.parent.nil?
80
+ @controller_infos[info.parent].children << index unless info.parent.nil?
80
81
  end
81
82
  end
82
83
 
@@ -86,7 +87,7 @@ module Schofield
86
87
  require 'rails_generator'
87
88
  require 'rails_generator/scripts/generate'
88
89
  @controller_infos.each do |index, info|
89
- Rails::Generator::Scripts::Generate.new.run(['schofield_controller', info.controller_path, *info.actions ], :parent => info.parent, :child => info.child)
90
+ Rails::Generator::Scripts::Generate.new.run(['schofield_controller', info.controller_path, *info.actions ], :parent => info.parent, :children => info.children)
90
91
  Rails::Generator::Scripts::Generate.new.run(['schofield_form', info.model_name], :partial => true, :haml => true, :controller => info.controller_path, :parent => info.parent)
91
92
  end
92
93
  end
data/schofield.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{schofield}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marc Tauber"]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Marc Tauber