authorized_rails_scaffolds 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +19 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +101 -0
- data/Rakefile +1 -0
- data/authorized_rails_scaffolds.gemspec +24 -0
- data/lib/authorized_rails_scaffolds.rb +5 -0
- data/lib/authorized_rails_scaffolds/version.rb +3 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/USAGE +9 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/install_scaffold_generator.rb +26 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/_form.html.erb +18 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/controller.rb +107 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/edit.html.erb +5 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/index.html.erb +52 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/new.html.erb +5 -0
- data/lib/generators/authorized_rails_scaffolds/install_scaffold/templates/show.html.erb +34 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/USAGE +9 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/install_spec_generator.rb +18 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/templates/controller_spec.rb +358 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/templates/edit_spec.rb +99 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/templates/index_spec.rb +185 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/templates/new_spec.rb +98 -0
- data/lib/generators/authorized_rails_scaffolds/install_spec/templates/show_spec.rb +64 -0
- metadata +103 -0
@@ -0,0 +1,185 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
<%- local_class_name = class_name.split('::')[-1] -%>
|
4
|
+
<%- output_attributes = attributes.reject{|attribute| [:timestamp].index(attribute.type) } -%>
|
5
|
+
describe "<%= ns_table_name %>/index" do
|
6
|
+
before(:each) do
|
7
|
+
<% [1,2].each_with_index do |id, model_index| -%>
|
8
|
+
@<%= file_name %>_<%= model_index + 1 %> = FactoryGirl.build_stubbed(:<%= file_name %><%= output_attributes.empty? ? ')' : ',' %>
|
9
|
+
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
10
|
+
<%-
|
11
|
+
attribute_prefix = ''
|
12
|
+
attribute_suffix = ')'
|
13
|
+
if attribute.type == :datetime
|
14
|
+
attribute_value = value_for(attribute)
|
15
|
+
attribute_prefix = 'DateTime.parse('
|
16
|
+
elsif attribute.type == :time
|
17
|
+
attribute_value = value_for(attribute).to_time.strftime('%T').dump
|
18
|
+
attribute_prefix = 'Time.parse('
|
19
|
+
elsif attribute.type == :date
|
20
|
+
attribute_value = value_for(attribute)
|
21
|
+
attribute_prefix = 'Date.parse('
|
22
|
+
else
|
23
|
+
attribute_value = value_for(attribute)
|
24
|
+
attribute_suffix = ''
|
25
|
+
end
|
26
|
+
-%>
|
27
|
+
:<%= attribute.name %> => <%= attribute_prefix %><%= attribute_value %><%= attribute_suffix %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
28
|
+
<% end -%>
|
29
|
+
<% if !output_attributes.empty? -%>
|
30
|
+
)
|
31
|
+
<% end -%>
|
32
|
+
<% end -%>
|
33
|
+
assign(:<%= file_name.pluralize %>, [
|
34
|
+
<% [1,2].each_with_index do |id, model_index| -%>
|
35
|
+
@<%= file_name %>_<%= id %><%= model_index == 1 ? '' : ',' %>
|
36
|
+
<% end -%>
|
37
|
+
])
|
38
|
+
@ability = Object.new
|
39
|
+
@ability.extend(CanCan::Ability)
|
40
|
+
controller.stub(:current_ability) { @ability }
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "page header" do
|
44
|
+
it 'includes a h1 title' do
|
45
|
+
render
|
46
|
+
<% if webrat? -%>
|
47
|
+
rendered.should have_selector(".page-header>h1", :content => <%= file_name.humanize.pluralize.dump %>, :count => 1)
|
48
|
+
<% else -%>
|
49
|
+
assert_select ".page-header>h1", :text => <%= file_name.humanize.pluralize.dump %>, :count => 1
|
50
|
+
<% end -%>
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "<%= file_name.pluralize %> table" do
|
55
|
+
it 'includes a row for each <%= file_name %>' do
|
56
|
+
render
|
57
|
+
<% unless webrat? -%>
|
58
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
59
|
+
<% end -%>
|
60
|
+
<% [1,2].each do |model_index| -%>
|
61
|
+
<% if webrat? -%>
|
62
|
+
rendered.should have_selector("table>tbody>tr.<%= file_name %>_#{@<%= file_name %>_<%= model_index %>.id}", :count => 1)
|
63
|
+
<% else -%>
|
64
|
+
assert_select "table>tbody>tr.<%= file_name %>_#{@<%= file_name %>_<%= model_index %>.id}", :count => 1
|
65
|
+
<% end -%>
|
66
|
+
<% end -%>
|
67
|
+
end
|
68
|
+
|
69
|
+
it "contains a list of <%= file_name.pluralize %>" do
|
70
|
+
render
|
71
|
+
<% unless webrat? -%>
|
72
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
73
|
+
<% end -%>
|
74
|
+
<% [1,2].each do |model_index| -%>
|
75
|
+
<% if webrat? -%>
|
76
|
+
rendered.should have_selector("tr>td.id-column", :content => @<%= file_name %>_<%= model_index %>.id.to_s, :count => 1)
|
77
|
+
<% else -%>
|
78
|
+
assert_select "tr>td.id-column", :text => @<%= file_name %>_<%= model_index %>.id.to_s, :count => 1
|
79
|
+
<% end -%>
|
80
|
+
<% end -%>
|
81
|
+
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
82
|
+
<%-
|
83
|
+
if attribute.type == :datetime
|
84
|
+
date_time_value = DateTime.parse(value_for(attribute))
|
85
|
+
attribute_value = I18n.l(date_time_value, :format => :long).dump
|
86
|
+
elsif attribute.type == :time
|
87
|
+
time_value = Time.parse(value_for(attribute))
|
88
|
+
attribute_value = I18n.l(time_value, :format => :short).dump
|
89
|
+
elsif attribute.type == :date
|
90
|
+
date_value = Date.parse(value_for(attribute))
|
91
|
+
attribute_value = I18n.l(date_value).dump
|
92
|
+
else
|
93
|
+
attribute_value = value_for(attribute)
|
94
|
+
end
|
95
|
+
-%>
|
96
|
+
<% if webrat? -%>
|
97
|
+
rendered.should have_selector("tr>td<% if attribute_index == 0 %>>a<% end %>", :content => <%= attribute_value %>.to_s, :count => 2)
|
98
|
+
<% else -%>
|
99
|
+
assert_select "tr>td<% if attribute_index == 0 %>>a<% end %>", :text => <%= attribute_value %>.to_s, :count => 2
|
100
|
+
<% end -%>
|
101
|
+
<% end -%>
|
102
|
+
end
|
103
|
+
|
104
|
+
describe 'edit <%= file_name %> link' do
|
105
|
+
context 'without update permissions' do
|
106
|
+
it "renders a disabled link to edit_<%= ns_file_name %>_path" do
|
107
|
+
render
|
108
|
+
<% [1,2].each do |model_index| -%>
|
109
|
+
<% if webrat? -%>
|
110
|
+
rendered.should_not have_selector("td>a[href][disabled=disabled]", :href => edit_<%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1)
|
111
|
+
<% else -%>
|
112
|
+
assert_select "td>a[href=?][disabled=disabled]", edit_<%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1
|
113
|
+
<% end -%>
|
114
|
+
<% end -%>
|
115
|
+
end
|
116
|
+
end
|
117
|
+
context 'with update permissions' do
|
118
|
+
it "renders a link to edit_<%= ns_file_name %>_path" do
|
119
|
+
@ability.can :update, <%= local_class_name %>
|
120
|
+
render
|
121
|
+
<% [1,2].each do |model_index| -%>
|
122
|
+
<% if webrat? -%>
|
123
|
+
rendered.should have_selector("td>a[href]:not([disabled])", :href => edit_<%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1)
|
124
|
+
<% else -%>
|
125
|
+
assert_select "td>a[href=?]:not([disabled])", edit_<%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1
|
126
|
+
<% end -%>
|
127
|
+
<% end -%>
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
describe 'destroy <%= file_name %> link' do
|
133
|
+
context 'without destroy permissions' do
|
134
|
+
it "renders a disabled link to <%= ns_file_name %>_path" do
|
135
|
+
render
|
136
|
+
<% [1,2].each do |model_index| -%>
|
137
|
+
<% if webrat? -%>
|
138
|
+
rendered.should_not have_selector("td>a[href][data-method=delete][disabled=disabled]", :href => <%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1)
|
139
|
+
<% else -%>
|
140
|
+
assert_select "td>a[href=?][data-method=delete][disabled=disabled]", <%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1
|
141
|
+
<% end -%>
|
142
|
+
<% end -%>
|
143
|
+
end
|
144
|
+
end
|
145
|
+
context 'with destroy permissions' do
|
146
|
+
it "renders a link to <%= ns_file_name %>_path" do
|
147
|
+
@ability.can :destroy, <%= local_class_name %>
|
148
|
+
render
|
149
|
+
<% [1,2].each do |model_index| -%>
|
150
|
+
<% if webrat? -%>
|
151
|
+
rendered.should have_selector("td>a[href][data-method=delete]:not([disabled])", :href => <%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1)
|
152
|
+
<% else -%>
|
153
|
+
assert_select "td>a[href=?][data-method=delete]:not([disabled])", <%= ns_file_name %>_path(@<%= file_name %>_<%= model_index %>), :count => 1
|
154
|
+
<% end -%>
|
155
|
+
<% end -%>
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
describe 'new <%= file_name %> link' do
|
162
|
+
context 'without create permissions' do
|
163
|
+
it "does not render a link to new_<%= ns_file_name %>_path" do
|
164
|
+
render
|
165
|
+
<% if webrat? -%>
|
166
|
+
rendered.should_not have_selector("a[href=?]", :href => new_<%= ns_file_name %>_path, :count => 1)
|
167
|
+
<% else -%>
|
168
|
+
assert_select "a[href=?]", new_<%= ns_file_name %>_path, :count => 0
|
169
|
+
<% end -%>
|
170
|
+
end
|
171
|
+
end
|
172
|
+
context 'with create permissions' do
|
173
|
+
it "renders a link to new_<%= ns_file_name %>_path" do
|
174
|
+
@ability.can :create, <%= local_class_name %>
|
175
|
+
render
|
176
|
+
<% if webrat? -%>
|
177
|
+
rendered.should have_selector("a[href=?]", new_<%= ns_file_name %>_path, :count => 1)
|
178
|
+
<% else -%>
|
179
|
+
assert_select "a[href=?]", new_<%= ns_file_name %>_path, :count => 1
|
180
|
+
<% end -%>
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
<% local_class_name = class_name.split('::')[-1] -%>
|
4
|
+
<% output_attributes = attributes.reject{|attribute| [:timestamp].index(attribute.type) } -%>
|
5
|
+
<% standard_attributes = output_attributes.reject{|attribute| [:time, :date, :datetime].index(attribute.type) } -%>
|
6
|
+
<% date_attributes = output_attributes.reject{|attribute| ![:time, :date, :datetime].index(attribute.type) } -%>
|
7
|
+
describe "<%= ns_table_name %>/new" do
|
8
|
+
before(:each) do
|
9
|
+
assign(:<%= file_name %>, FactoryGirl.build(:<%= file_name %><%= output_attributes.empty? ? '))' : ',' %>
|
10
|
+
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
11
|
+
<%-
|
12
|
+
attribute_prefix = ''
|
13
|
+
attribute_suffix = ')'
|
14
|
+
if attribute.type == :datetime
|
15
|
+
attribute_value = value_for(attribute)
|
16
|
+
attribute_prefix = 'DateTime.parse('
|
17
|
+
elsif attribute.type == :time
|
18
|
+
attribute_value = value_for(attribute).to_time.strftime('%T').dump
|
19
|
+
attribute_prefix = 'Time.parse('
|
20
|
+
elsif attribute.type == :date
|
21
|
+
attribute_value = value_for(attribute)
|
22
|
+
attribute_prefix = 'Date.parse('
|
23
|
+
else
|
24
|
+
attribute_value = value_for(attribute)
|
25
|
+
attribute_suffix = ''
|
26
|
+
end
|
27
|
+
-%>
|
28
|
+
:<%= attribute.name %> => <%= attribute_prefix %><%= attribute_value %><%= attribute_suffix %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
29
|
+
<% end -%>
|
30
|
+
<%= !output_attributes.empty? ? " ))\n end" : " end" %>
|
31
|
+
|
32
|
+
it "renders new <%= file_name %> form" do
|
33
|
+
render
|
34
|
+
|
35
|
+
<% if webrat? -%>
|
36
|
+
rendered.should have_selector("form", :action => <%= table_name %>_path, :method => "post") do |form|
|
37
|
+
<% for attribute in standard_attributes -%>
|
38
|
+
form.should have_selector("<%= attribute.input_type -%>#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
39
|
+
<% end -%>
|
40
|
+
end
|
41
|
+
<% else -%>
|
42
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
43
|
+
assert_select "form[action=?][method=?]", <%= index_helper %>_path, "post" do
|
44
|
+
<% for attribute in standard_attributes -%>
|
45
|
+
assert_select "<%= attribute.input_type -%>#<%= file_name %>_<%= attribute.name %>[name=?]", "<%= file_name %>[<%= attribute.name %>]"
|
46
|
+
<% end -%>
|
47
|
+
end
|
48
|
+
<% end -%>
|
49
|
+
end
|
50
|
+
|
51
|
+
<% if date_attributes.any? -%>
|
52
|
+
it "renders all date/time form elements" do
|
53
|
+
render
|
54
|
+
|
55
|
+
<% if webrat? -%>
|
56
|
+
rendered.should have_selector("form", :action => <%= table_name %>_path, :method => "post") do |form|
|
57
|
+
<% for attribute in date_attributes -%>
|
58
|
+
<%- if [:date, :datetime].include? attribute.type -%>
|
59
|
+
form.should have_selector("select#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
60
|
+
form.should have_selector("select#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
61
|
+
form.should have_selector("select#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
62
|
+
<%- end -%>
|
63
|
+
<%- if [:time, :datetime].include? attribute.type -%>
|
64
|
+
form.should have_selector("select#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
65
|
+
form.should have_selector("select#<%= file_name %>_<%= attribute.name %>", :name => "<%= file_name %>[<%= attribute.name %>]")
|
66
|
+
<%- end -%>
|
67
|
+
<% end -%>
|
68
|
+
end
|
69
|
+
<% else -%>
|
70
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
71
|
+
assert_select "form[action=?][method=?]", <%= table_name %>_path, "post" do
|
72
|
+
<% for attribute in date_attributes -%>
|
73
|
+
<%- if [:date, :datetime].include? attribute.type -%>
|
74
|
+
assert_select "select#<%= file_name %>_<%= attribute.name %>_1i[name=?]", "<%= file_name %>[<%= attribute.name %>(1i)]" do
|
75
|
+
assert_select "option[selected=selected]", :text => <%= DateTime.parse(attribute.default).strftime('%Y').dump %>, :count => 1
|
76
|
+
end
|
77
|
+
assert_select "select#<%= file_name %>_<%= attribute.name %>_2i[name=?]", "<%= file_name %>[<%= attribute.name %>(2i)]" do
|
78
|
+
assert_select "option[selected=selected][value=?]", <%= DateTime.parse(attribute.default).strftime('%-m').dump %>, :text => <%= DateTime.parse(attribute.default).strftime('%B').dump %>, :count => 1
|
79
|
+
end
|
80
|
+
assert_select "select#<%= file_name %>_<%= attribute.name %>_3i[name=?]", "<%= file_name %>[<%= attribute.name %>(3i)]" do
|
81
|
+
assert_select "option[selected=selected]", :text => <%= DateTime.parse(attribute.default).strftime('%d').dump %>, :count => 1
|
82
|
+
end
|
83
|
+
<%- end -%>
|
84
|
+
<%- if [:time, :datetime].include? attribute.type -%>
|
85
|
+
assert_select "select#<%= file_name %>_<%= attribute.name %>_4i[name=?]", "<%= file_name %>[<%= attribute.name %>(4i)]" do
|
86
|
+
assert_select "option[selected=selected]", :text => <%= DateTime.parse(attribute.default).strftime('%H').dump %>, :count => 1
|
87
|
+
end
|
88
|
+
assert_select "select#<%= file_name %>_<%= attribute.name %>_5i[name=?]", "<%= file_name %>[<%= attribute.name %>(5i)]" do
|
89
|
+
assert_select "option[selected=selected]", :text => <%= DateTime.parse(attribute.default).strftime('%M').dump %>, :count => 1
|
90
|
+
end
|
91
|
+
<%- end -%>
|
92
|
+
<% end -%>
|
93
|
+
end
|
94
|
+
<% end -%>
|
95
|
+
end
|
96
|
+
|
97
|
+
<% end -%>
|
98
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
<% output_attributes = attributes.reject{|attribute| [:timestamp].index(attribute.type) } -%>
|
4
|
+
describe "<%= ns_table_name %>/show" do
|
5
|
+
before(:each) do
|
6
|
+
@<%= file_name %> = FactoryGirl.build_stubbed(:<%= file_name %><%= output_attributes.empty? ? ')' : ',' %>
|
7
|
+
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
8
|
+
<%-
|
9
|
+
attribute_prefix = ''
|
10
|
+
attribute_suffix = ')'
|
11
|
+
if attribute.type == :datetime
|
12
|
+
attribute_value = value_for(attribute)
|
13
|
+
attribute_prefix = 'DateTime.parse('
|
14
|
+
elsif attribute.type == :time
|
15
|
+
attribute_value = value_for(attribute).to_time.strftime('%T').dump
|
16
|
+
attribute_prefix = 'Time.parse('
|
17
|
+
elsif attribute.type == :date
|
18
|
+
attribute_value = value_for(attribute)
|
19
|
+
attribute_prefix = 'Date.parse('
|
20
|
+
else
|
21
|
+
attribute_value = value_for(attribute)
|
22
|
+
attribute_suffix = ''
|
23
|
+
end
|
24
|
+
-%>
|
25
|
+
:<%= attribute.name %> => <%= attribute_prefix %><%= attribute_value %><%= attribute_suffix %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
26
|
+
<% end -%>
|
27
|
+
<% if !output_attributes.empty? -%>
|
28
|
+
)
|
29
|
+
<% end -%>
|
30
|
+
@ability = Object.new
|
31
|
+
@ability.extend(CanCan::Ability)
|
32
|
+
controller.stub(:current_ability) { @ability }
|
33
|
+
end
|
34
|
+
|
35
|
+
it "renders attributes in a <dl> as a <dt> and <dd> pair" do
|
36
|
+
render
|
37
|
+
<% unless webrat? -%>
|
38
|
+
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
39
|
+
<% end -%>
|
40
|
+
<% for attribute in attributes -%>
|
41
|
+
<%-
|
42
|
+
if attribute.type == :datetime
|
43
|
+
date_time_value = DateTime.parse(value_for(attribute))
|
44
|
+
attribute_value = I18n.l(date_time_value, :format => :long).dump
|
45
|
+
elsif attribute.type == :time
|
46
|
+
time_value = Time.parse(value_for(attribute))
|
47
|
+
attribute_value = I18n.l(time_value, :format => :short).dump
|
48
|
+
elsif attribute.type == :date
|
49
|
+
date_value = Date.parse(value_for(attribute))
|
50
|
+
attribute_value = I18n.l(date_value).dump
|
51
|
+
else
|
52
|
+
attribute_value = value_for(attribute)
|
53
|
+
end
|
54
|
+
-%>
|
55
|
+
<% if webrat? -%>
|
56
|
+
rendered.should have_selector("dl>dt", :content => <%= "#{attribute.human_name}:".dump %>)
|
57
|
+
rendered.should have_selector("dl>dd", :content => <%= attribute_value %>.to_s)
|
58
|
+
<% else -%>
|
59
|
+
assert_select "dl>dt", :text => <%= "#{attribute.human_name}:".dump %>
|
60
|
+
assert_select "dl>dd", :text => <%= attribute_value %>.to_s
|
61
|
+
<% end -%>
|
62
|
+
<% end -%>
|
63
|
+
end
|
64
|
+
end
|
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: authorized_rails_scaffolds
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- bmorrall
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-03-20 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: railties
|
16
|
+
requirement: &70169587291020 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.1'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70169587291020
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: bundler
|
27
|
+
requirement: &70169587290520 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.3'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70169587290520
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
38
|
+
requirement: &70169587290140 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70169587290140
|
47
|
+
description: Creates scaffolds for Twitter Bootstrap with generated RSpec coverage
|
48
|
+
email:
|
49
|
+
- bemo56@hotmail.com
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- .gitignore
|
55
|
+
- Gemfile
|
56
|
+
- LICENSE.txt
|
57
|
+
- README.md
|
58
|
+
- Rakefile
|
59
|
+
- authorized_rails_scaffolds.gemspec
|
60
|
+
- lib/authorized_rails_scaffolds.rb
|
61
|
+
- lib/authorized_rails_scaffolds/version.rb
|
62
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/USAGE
|
63
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/install_scaffold_generator.rb
|
64
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/_form.html.erb
|
65
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/controller.rb
|
66
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/edit.html.erb
|
67
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/index.html.erb
|
68
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/new.html.erb
|
69
|
+
- lib/generators/authorized_rails_scaffolds/install_scaffold/templates/show.html.erb
|
70
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/USAGE
|
71
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/install_spec_generator.rb
|
72
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/templates/controller_spec.rb
|
73
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/templates/edit_spec.rb
|
74
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/templates/index_spec.rb
|
75
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/templates/new_spec.rb
|
76
|
+
- lib/generators/authorized_rails_scaffolds/install_spec/templates/show_spec.rb
|
77
|
+
homepage: https://github.com/bmorrall/authorized_rails_scaffolds
|
78
|
+
licenses:
|
79
|
+
- MIT
|
80
|
+
post_install_message:
|
81
|
+
rdoc_options: []
|
82
|
+
require_paths:
|
83
|
+
- lib
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
requirements: []
|
97
|
+
rubyforge_project:
|
98
|
+
rubygems_version: 1.8.10
|
99
|
+
signing_key:
|
100
|
+
specification_version: 3
|
101
|
+
summary: Replaces Rails and RSpec's default generators with templates taking full
|
102
|
+
advantage of Authentication (Devise), Authorization (CanCan) and Test Coverage (RSpec)
|
103
|
+
test_files: []
|