dry_crud 1.2.7 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +60 -27
- data/Rakefile +3 -1
- data/VERSION +1 -1
- data/lib/generators/dry_crud/dry_crud_generator.rb +3 -3
- data/lib/generators/dry_crud/templates/INSTALL +3 -1
- data/lib/generators/dry_crud/templates/app/controllers/crud_controller.rb +106 -90
- data/lib/generators/dry_crud/templates/app/controllers/list_controller.rb +90 -74
- data/lib/generators/dry_crud/templates/app/controllers/render_inheritable.rb +34 -33
- data/lib/generators/dry_crud/templates/app/helpers/crud_helper.rb +39 -23
- data/lib/generators/dry_crud/templates/app/helpers/list_helper.rb +11 -9
- data/lib/generators/dry_crud/templates/app/helpers/standard_form_builder.rb +55 -47
- data/lib/generators/dry_crud/templates/app/helpers/standard_helper.rb +134 -86
- data/lib/generators/dry_crud/templates/app/helpers/standard_table_builder.rb +41 -35
- data/lib/generators/dry_crud/templates/app/views/crud/_actions_edit.html.erb +1 -0
- data/lib/generators/dry_crud/templates/app/views/crud/edit.html.erb +3 -3
- data/lib/generators/dry_crud/templates/app/views/crud/new.html.erb +2 -2
- data/lib/generators/dry_crud/templates/app/views/crud/show.html.erb +3 -3
- data/lib/generators/dry_crud/templates/app/views/layouts/crud.html.erb +9 -7
- data/lib/generators/dry_crud/templates/app/views/list/_search.html.erb +1 -1
- data/lib/generators/dry_crud/templates/app/views/list/index.html.erb +4 -4
- data/lib/generators/dry_crud/templates/app/views/shared/_error_messages.html.erb +3 -1
- data/lib/generators/dry_crud/templates/config/locales/en_crud.yml +63 -0
- data/lib/generators/dry_crud/templates/test/crud_test_model.rb +93 -58
- data/lib/generators/dry_crud/templates/test/custom_assertions.rb +24 -13
- data/lib/generators/dry_crud/templates/test/functional/crud_controller_test_helper.rb +26 -56
- data/lib/generators/dry_crud/templates/test/functional/crud_test_models_controller_test.rb +47 -41
- data/lib/generators/dry_crud/templates/test/unit/custom_assertions_test.rb +28 -24
- data/lib/generators/dry_crud/templates/test/unit/helpers/crud_helper_test.rb +20 -34
- data/lib/generators/dry_crud/templates/test/unit/helpers/list_helper_test.rb +39 -53
- data/lib/generators/dry_crud/templates/test/unit/helpers/render_inheritable_test.rb +33 -33
- data/lib/generators/dry_crud/templates/test/unit/helpers/standard_form_builder_test.rb +27 -27
- data/lib/generators/dry_crud/templates/test/unit/helpers/standard_helper_test.rb +103 -50
- data/lib/generators/dry_crud/templates/test/unit/helpers/standard_table_builder_test.rb +52 -24
- data/test/templates/Gemfile +34 -0
- data/test/templates/app/controllers/ajax_controller.rb +3 -3
- data/test/templates/app/controllers/application_controller.rb +1 -1
- data/test/templates/app/controllers/cities_controller.rb +2 -5
- data/test/templates/app/controllers/people_controller.rb +5 -5
- data/test/templates/app/controllers/vips_controller.rb +6 -11
- data/test/templates/app/helpers/people_helper.rb +2 -2
- data/test/templates/app/models/city.rb +9 -9
- data/test/templates/app/models/person.rb +5 -4
- data/test/templates/app/views/ajax/_actions_index.html.erb +2 -2
- data/test/templates/app/views/cities/_form.html.erb +5 -1
- data/test/templates/app/views/layouts/_menu.html.erb +3 -3
- data/test/templates/app/views/people/_attrs.html.erb +3 -3
- data/test/templates/config/database.yml +22 -0
- data/test/templates/config/locales/en_cities.yml +56 -0
- data/test/templates/config/routes.rb +5 -5
- data/test/templates/db/migrate/20100511174904_create_people_and_cities.rb +5 -2
- data/test/templates/db/seeds.rb +38 -29
- data/test/templates/test/functional/cities_controller_test.rb +12 -12
- data/test/templates/test/functional/people_controller_test.rb +10 -10
- metadata +11 -7
@@ -1,21 +1,21 @@
|
|
1
1
|
TestApp::Application.routes.draw do
|
2
|
-
|
2
|
+
|
3
3
|
resources :cities do
|
4
4
|
collection do
|
5
5
|
get :ajax
|
6
6
|
end
|
7
|
-
end
|
8
|
-
|
7
|
+
end
|
8
|
+
|
9
9
|
resources :people do
|
10
10
|
collection do
|
11
11
|
get :ajax
|
12
12
|
end
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
match 'vips' => 'vips#index', :as => :vips
|
16
16
|
|
17
17
|
root :to => 'people#index'
|
18
|
-
|
18
|
+
|
19
19
|
# Install the default routes as the lowest priority.
|
20
20
|
# Note: These default routes make all actions in every controller accessible via GET requests. You should
|
21
21
|
# consider removing or commenting them out if you're using named routes and resources.
|
@@ -4,7 +4,7 @@ class CreatePeopleAndCities < ActiveRecord::Migration
|
|
4
4
|
t.string :name, :null => false
|
5
5
|
t.string :country_code, :null => false, :limit => 3
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
create_table :people do |t|
|
9
9
|
t.string :name, :null => false
|
10
10
|
t.integer :children
|
@@ -12,12 +12,15 @@ class CreatePeopleAndCities < ActiveRecord::Migration
|
|
12
12
|
t.float :rating
|
13
13
|
t.decimal :income, :precision => 14, :scale => 2
|
14
14
|
t.date :birthdate
|
15
|
+
t.time :gets_up_at
|
16
|
+
t.datetime :last_seen
|
15
17
|
t.text :remarks
|
18
|
+
t.boolean :cool, :null => false, :default => false
|
16
19
|
end
|
17
20
|
end
|
18
21
|
|
19
22
|
def self.down
|
20
23
|
drop_table :people
|
21
|
-
drop_table :cities
|
24
|
+
drop_table :cities
|
22
25
|
end
|
23
26
|
end
|
data/test/templates/db/seeds.rb
CHANGED
@@ -6,54 +6,63 @@ sf = City.create!(:name => 'San Francisco', :country_code => 'USA')
|
|
6
6
|
lon = City.create!(:name => 'London', :country_code => 'GB')
|
7
7
|
br = City.create!(:name => 'Berlin', :country_code => 'DE')
|
8
8
|
|
9
|
-
Person.create!(:name => 'Albert Einstein',
|
10
|
-
:city => be,
|
11
|
-
:children => 2,
|
12
|
-
:rating => 9.8,
|
9
|
+
Person.create!(:name => 'Albert Einstein',
|
10
|
+
:city => be,
|
11
|
+
:children => 2,
|
12
|
+
:rating => 9.8,
|
13
13
|
:income => 84000,
|
14
14
|
:birthdate => '1904-10-18',
|
15
|
+
:gets_up_at => '05:43',
|
15
16
|
:remarks => "Great physician\n Good cyclist")
|
16
|
-
Person.create!(:name => 'Adolf Ogi',
|
17
|
-
:city => be,
|
18
|
-
:children => 3,
|
19
|
-
:rating => 4.2,
|
17
|
+
Person.create!(:name => 'Adolf Ogi',
|
18
|
+
:city => be,
|
19
|
+
:children => 3,
|
20
|
+
:rating => 4.2,
|
20
21
|
:income => 264000,
|
21
22
|
:birthdate => '1938-01-22',
|
23
|
+
:gets_up_at => '04:30',
|
22
24
|
:remarks => 'Freude herrscht!')
|
23
|
-
Person.create!(:name => 'Jay Z',
|
24
|
-
:city => ny,
|
25
|
-
:children => 0,
|
26
|
-
:rating => 7.2,
|
25
|
+
Person.create!(:name => 'Jay Z',
|
26
|
+
:city => ny,
|
27
|
+
:children => 0,
|
28
|
+
:rating => 7.2,
|
27
29
|
:income => 868345,
|
28
30
|
:birthdate => '1976-05-02',
|
31
|
+
:gets_up_at => '12:00',
|
32
|
+
:last_seen => '2011-03-10 17:29',
|
33
|
+
:cool => true,
|
29
34
|
:remarks => "If got 99 problems\nbut you *** ain't one\nTschie")
|
30
|
-
Person.create!(:name => 'Queen Elisabeth',
|
31
|
-
:city => lon,
|
32
|
-
:children => 1,
|
33
|
-
:rating => 1.56,
|
35
|
+
Person.create!(:name => 'Queen Elisabeth',
|
36
|
+
:city => lon,
|
37
|
+
:children => 1,
|
38
|
+
:rating => 1.56,
|
34
39
|
:income => 345622,
|
35
40
|
:birthdate => '1927-08-11',
|
41
|
+
:gets_up_at => '17:12',
|
36
42
|
:remarks => '')
|
37
|
-
Person.create!(:name => 'Schopenhauer',
|
38
|
-
:city => br,
|
39
|
-
:children => 7,
|
40
|
-
:rating => 6.9,
|
43
|
+
Person.create!(:name => 'Schopenhauer',
|
44
|
+
:city => br,
|
45
|
+
:children => 7,
|
46
|
+
:rating => 6.9,
|
41
47
|
:income => 14000,
|
42
48
|
:birthdate => '1788-10-18',
|
49
|
+
:last_seen => '1854-09-01 11:01',
|
43
50
|
:remarks => 'Neminem laede, immo omnes, quantum potes, iuva.')
|
44
|
-
Person.create!(:name => 'ZZ Top',
|
45
|
-
:city => ny,
|
46
|
-
:children => 185,
|
47
|
-
:rating => 1.8,
|
51
|
+
Person.create!(:name => 'ZZ Top',
|
52
|
+
:city => ny,
|
53
|
+
:children => 185,
|
54
|
+
:rating => 1.8,
|
48
55
|
:income => 84000,
|
49
56
|
:birthdate => '1948-03-18',
|
57
|
+
:cool => true,
|
50
58
|
:remarks => 'zzz..')
|
51
|
-
Person.create!(:name => 'Andy Warhol',
|
52
|
-
:city => ny,
|
53
|
-
:children => 0,
|
54
|
-
:rating => 7.5,
|
59
|
+
Person.create!(:name => 'Andy Warhol',
|
60
|
+
:city => ny,
|
61
|
+
:children => 0,
|
62
|
+
:rating => 7.5,
|
55
63
|
:income => 123000,
|
56
64
|
:birthdate => '1938-09-08',
|
65
|
+
:last_seen => '1984-10-10 23:39',
|
57
66
|
:remarks => 'Tomato Soup')
|
58
|
-
|
67
|
+
|
59
68
|
end
|
@@ -1,45 +1,45 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require File.join(
|
2
|
+
require File.join('functional', 'crud_controller_test_helper')
|
3
3
|
|
4
4
|
class CitiesControllerTest < ActionController::TestCase
|
5
|
-
|
5
|
+
|
6
6
|
include CrudControllerTestHelper
|
7
|
-
|
7
|
+
|
8
8
|
def test_setup
|
9
9
|
assert_equal 3, City.count
|
10
10
|
assert_recognizes({:controller => 'cities', :action => 'index'}, '/cities')
|
11
11
|
assert_recognizes({:controller => 'cities', :action => 'show', :id => '1'}, '/cities/1')
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def test_index
|
15
15
|
super
|
16
16
|
assert_equal 3, assigns(:entries).size
|
17
17
|
assert_equal City.order('country_code, name').all, assigns(:entries)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def test_show
|
21
21
|
get :show, :id => test_entry.id
|
22
22
|
assert_redirected_to_index
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
def test_destroy_with_inhabitants
|
26
26
|
ny = cities(:ny)
|
27
|
-
assert_no_difference('City.count') do
|
27
|
+
assert_no_difference('City.count') do
|
28
28
|
request.env["HTTP_REFERER"]
|
29
29
|
delete :destroy, :id => ny.id
|
30
30
|
end
|
31
31
|
assert_redirected_to :action => 'show'
|
32
32
|
assert flash.alert
|
33
33
|
end
|
34
|
-
|
35
|
-
protected
|
36
|
-
|
34
|
+
|
35
|
+
protected
|
36
|
+
|
37
37
|
def test_entry
|
38
38
|
cities(:rj)
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
def test_entry_attrs
|
42
42
|
{:name => 'Rejkiavik', :country_code => 'IS'}
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
end
|
@@ -1,35 +1,35 @@
|
|
1
1
|
require 'test_helper'
|
2
|
-
require File.join(
|
2
|
+
require File.join('functional', 'crud_controller_test_helper')
|
3
3
|
|
4
4
|
class PeopleControllerTest < ActionController::TestCase
|
5
|
-
|
5
|
+
|
6
6
|
include CrudControllerTestHelper
|
7
|
-
|
7
|
+
|
8
8
|
def test_setup
|
9
9
|
assert_equal 2, Person.count
|
10
10
|
assert_recognizes({:controller => 'people', :action => 'index'}, '/people')
|
11
11
|
assert_recognizes({:controller => 'people', :action => 'show', :id => '1'}, '/people/1')
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def test_index
|
15
15
|
super
|
16
16
|
assert_equal 2, assigns(:entries).size
|
17
17
|
assert_equal Person.includes(:city).order('people.name, cities.country_code, cities.name').all, assigns(:entries)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def test_index_search
|
21
21
|
super
|
22
22
|
assert_equal 1, assigns(:entries).size
|
23
23
|
end
|
24
|
-
|
25
|
-
protected
|
26
|
-
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
27
|
def test_entry
|
28
28
|
people(:john)
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def test_entry_attrs
|
32
32
|
{:name => 'Fischers Fritz', :children => 2, :income => 120, :city_id => cities(:rj).id}
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry_crud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 1.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pascal Zumkehr
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-03-28 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/generators/dry_crud/templates/app/views/list/index.html.erb
|
73
73
|
- lib/generators/dry_crud/templates/app/views/shared/_error_messages.html.erb
|
74
74
|
- lib/generators/dry_crud/templates/app/views/shared/_labeled.html.erb
|
75
|
+
- lib/generators/dry_crud/templates/config/locales/en_crud.yml
|
75
76
|
- lib/generators/dry_crud/templates/INSTALL
|
76
77
|
- lib/generators/dry_crud/templates/public/images/actions/add.png
|
77
78
|
- lib/generators/dry_crud/templates/public/images/actions/delete.png
|
@@ -108,9 +109,12 @@ files:
|
|
108
109
|
- test/templates/app/views/layouts/_menu.html.erb
|
109
110
|
- test/templates/app/views/people/_attrs.html.erb
|
110
111
|
- test/templates/app/views/people/_list.html.erb
|
112
|
+
- test/templates/config/database.yml
|
113
|
+
- test/templates/config/locales/en_cities.yml
|
111
114
|
- test/templates/config/routes.rb
|
112
115
|
- test/templates/db/migrate/20100511174904_create_people_and_cities.rb
|
113
116
|
- test/templates/db/seeds.rb
|
117
|
+
- test/templates/Gemfile
|
114
118
|
- test/templates/test/fixtures/cities.yml
|
115
119
|
- test/templates/test/fixtures/people.yml
|
116
120
|
- test/templates/test/functional/cities_controller_test.rb
|
@@ -154,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
158
|
requirements: []
|
155
159
|
|
156
160
|
rubyforge_project:
|
157
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.5.2
|
158
162
|
signing_key:
|
159
163
|
specification_version: 3
|
160
164
|
summary: Generates DRY and specifically extendable CRUD controller, views and helpers for Rails applications
|