dry_crud 1.2.7 → 1.3.0
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.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
|