crudify 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +41 -42
- data/README.md +9 -6
- data/crudify.gemspec +1 -0
- data/lib/crudify/class_methods.rb +14 -8
- data/lib/crudify/hook_methods.rb +6 -4
- data/lib/crudify/version.rb +1 -1
- data/test/functional/controller_hooks_test.rb +150 -0
- metadata +42 -4
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
crudify (0.0.
|
4
|
+
crudify (0.0.6)
|
5
5
|
meta_search (>= 1.0.1)
|
6
6
|
rails (>= 3.0.0)
|
7
7
|
will_paginate (>= 2.3.15)
|
@@ -10,32 +10,32 @@ GEM
|
|
10
10
|
remote: http://rubygems.org/
|
11
11
|
specs:
|
12
12
|
abstract (1.0.0)
|
13
|
-
actionmailer (3.0.
|
14
|
-
actionpack (= 3.0.
|
13
|
+
actionmailer (3.0.7)
|
14
|
+
actionpack (= 3.0.7)
|
15
15
|
mail (~> 2.2.15)
|
16
|
-
actionpack (3.0.
|
17
|
-
activemodel (= 3.0.
|
18
|
-
activesupport (= 3.0.
|
16
|
+
actionpack (3.0.7)
|
17
|
+
activemodel (= 3.0.7)
|
18
|
+
activesupport (= 3.0.7)
|
19
19
|
builder (~> 2.1.2)
|
20
20
|
erubis (~> 2.6.6)
|
21
|
-
i18n (~> 0.
|
21
|
+
i18n (~> 0.5.0)
|
22
22
|
rack (~> 1.2.1)
|
23
|
-
rack-mount (~> 0.6.
|
23
|
+
rack-mount (~> 0.6.14)
|
24
24
|
rack-test (~> 0.5.7)
|
25
25
|
tzinfo (~> 0.3.23)
|
26
|
-
activemodel (3.0.
|
27
|
-
activesupport (= 3.0.
|
26
|
+
activemodel (3.0.7)
|
27
|
+
activesupport (= 3.0.7)
|
28
28
|
builder (~> 2.1.2)
|
29
|
-
i18n (~> 0.
|
30
|
-
activerecord (3.0.
|
31
|
-
activemodel (= 3.0.
|
32
|
-
activesupport (= 3.0.
|
29
|
+
i18n (~> 0.5.0)
|
30
|
+
activerecord (3.0.7)
|
31
|
+
activemodel (= 3.0.7)
|
32
|
+
activesupport (= 3.0.7)
|
33
33
|
arel (~> 2.0.2)
|
34
34
|
tzinfo (~> 0.3.23)
|
35
|
-
activeresource (3.0.
|
36
|
-
activemodel (= 3.0.
|
37
|
-
activesupport (= 3.0.
|
38
|
-
activesupport (3.0.
|
35
|
+
activeresource (3.0.7)
|
36
|
+
activemodel (= 3.0.7)
|
37
|
+
activesupport (= 3.0.7)
|
38
|
+
activesupport (3.0.7)
|
39
39
|
arel (2.0.9)
|
40
40
|
builder (2.1.2)
|
41
41
|
capybara (0.4.1.2)
|
@@ -47,22 +47,21 @@ GEM
|
|
47
47
|
rack-test (>= 0.5.4)
|
48
48
|
selenium-webdriver (>= 0.0.27)
|
49
49
|
xpath (~> 0.1.3)
|
50
|
-
celerity (0.8.
|
51
|
-
childprocess (0.1.
|
52
|
-
ffi (~> 0.6
|
50
|
+
celerity (0.8.9)
|
51
|
+
childprocess (0.1.9)
|
52
|
+
ffi (~> 1.0.6)
|
53
53
|
culerity (0.2.15)
|
54
54
|
erubis (2.6.6)
|
55
55
|
abstract (>= 1.0.0)
|
56
|
-
ffi (0.
|
57
|
-
rake (>= 0.8.7)
|
56
|
+
ffi (1.0.8)
|
58
57
|
i18n (0.5.0)
|
59
58
|
json_pure (1.5.1)
|
60
|
-
mail (2.2.
|
59
|
+
mail (2.2.19)
|
61
60
|
activesupport (>= 2.3.6)
|
62
61
|
i18n (>= 0.4.0)
|
63
62
|
mime-types (~> 1.16)
|
64
63
|
treetop (~> 1.4.8)
|
65
|
-
meta_search (1.0.
|
64
|
+
meta_search (1.0.5)
|
66
65
|
actionpack (~> 3.0.2)
|
67
66
|
activerecord (~> 3.0.2)
|
68
67
|
activesupport (~> 3.0.2)
|
@@ -70,29 +69,29 @@ GEM
|
|
70
69
|
mime-types (1.16)
|
71
70
|
nokogiri (1.4.4)
|
72
71
|
polyglot (0.3.1)
|
73
|
-
rack (1.2.
|
74
|
-
rack-mount (0.6.
|
72
|
+
rack (1.2.2)
|
73
|
+
rack-mount (0.6.14)
|
75
74
|
rack (>= 1.0.0)
|
76
75
|
rack-test (0.5.7)
|
77
76
|
rack (>= 1.0)
|
78
|
-
rails (3.0.
|
79
|
-
actionmailer (= 3.0.
|
80
|
-
actionpack (= 3.0.
|
81
|
-
activerecord (= 3.0.
|
82
|
-
activeresource (= 3.0.
|
83
|
-
activesupport (= 3.0.
|
77
|
+
rails (3.0.7)
|
78
|
+
actionmailer (= 3.0.7)
|
79
|
+
actionpack (= 3.0.7)
|
80
|
+
activerecord (= 3.0.7)
|
81
|
+
activeresource (= 3.0.7)
|
82
|
+
activesupport (= 3.0.7)
|
84
83
|
bundler (~> 1.0)
|
85
|
-
railties (= 3.0.
|
86
|
-
railties (3.0.
|
87
|
-
actionpack (= 3.0.
|
88
|
-
activesupport (= 3.0.
|
84
|
+
railties (= 3.0.7)
|
85
|
+
railties (3.0.7)
|
86
|
+
actionpack (= 3.0.7)
|
87
|
+
activesupport (= 3.0.7)
|
89
88
|
rake (>= 0.8.7)
|
90
89
|
thor (~> 0.14.4)
|
91
90
|
rake (0.8.7)
|
92
91
|
rubyzip (0.9.4)
|
93
|
-
selenium-webdriver (0.
|
94
|
-
childprocess (
|
95
|
-
ffi (
|
92
|
+
selenium-webdriver (0.2.0)
|
93
|
+
childprocess (>= 0.1.7)
|
94
|
+
ffi (>= 1.0.7)
|
96
95
|
json_pure
|
97
96
|
rubyzip
|
98
97
|
shoulda (2.11.3)
|
@@ -102,9 +101,9 @@ GEM
|
|
102
101
|
thor (0.14.6)
|
103
102
|
treetop (1.4.9)
|
104
103
|
polyglot (>= 0.3.1)
|
105
|
-
tzinfo (0.3.
|
104
|
+
tzinfo (0.3.27)
|
106
105
|
will_paginate (2.3.15)
|
107
|
-
xpath (0.1.
|
106
|
+
xpath (0.1.4)
|
108
107
|
nokogiri (~> 1.3)
|
109
108
|
|
110
109
|
PLATFORMS
|
data/README.md
CHANGED
@@ -45,7 +45,7 @@ Here's what lines #45-59 in `lib/crudify/class_methods.rb` will produce in our J
|
|
45
45
|
:position => ((Jelly.maximum(:position, :conditions => "")||-1) + 1)
|
46
46
|
})
|
47
47
|
end
|
48
|
-
@instance = @jelly = Jelly.
|
48
|
+
@instance = @jelly = Jelly.new(params[:jelly])
|
49
49
|
before_create
|
50
50
|
if @instance.valid? && @instance.save
|
51
51
|
successful_create
|
@@ -102,9 +102,9 @@ Or an after-action hook:
|
|
102
102
|
|
103
103
|
### To find out more about crudify, read the source! Here's some helpful links:
|
104
104
|
|
105
|
-
* For available options
|
106
|
-
* For available hooks
|
107
|
-
* To see which hooks go where
|
105
|
+
* For available **options**: [Crudify::Base](https://github.com/citrus/crudify/blob/master/lib/crudify/base.rb)
|
106
|
+
* For available **hooks**: [Crudify::HookMethods](https://github.com/citrus/crudify/blob/master/lib/crudify/hook_methods.rb)
|
107
|
+
* To see **which hooks go where**: [Cruidfy::ClassMethods](https://github.com/citrus/crudify/blob/master/lib/crudify/class_methods.rb)
|
108
108
|
|
109
109
|
Or check out the demo app in `test/dummy`...
|
110
110
|
|
@@ -123,7 +123,10 @@ Shoulda and Capybara/Selenium tests can be run by cloning the repo and running `
|
|
123
123
|
To Do
|
124
124
|
-----
|
125
125
|
|
126
|
-
|
126
|
+
There's a few things to be done still...
|
127
|
+
|
128
|
+
* Tests for search
|
129
|
+
* More Documentation & Examples
|
127
130
|
* Nested set tests and demo (haven't even tried this yet :/)
|
128
131
|
* Generally more thorough tests
|
129
132
|
* Refactoring/Optimizing
|
@@ -132,7 +135,7 @@ To Do
|
|
132
135
|
License
|
133
136
|
-------
|
134
137
|
|
135
|
-
|
138
|
+
Although many things have been rewritten, crudify is released under [Resolve Digital's](http://www.resolvedigital.com) original license since portions code were extracted from their [refinerycms](http://github.com/resolve/refinerycms) project.
|
136
139
|
|
137
140
|
### MIT License
|
138
141
|
|
data/crudify.gemspec
CHANGED
@@ -5,11 +5,13 @@
|
|
5
5
|
# the splendid fellows at Resolve Digital for their
|
6
6
|
# awesome refinerycms project.
|
7
7
|
#
|
8
|
+
|
8
9
|
module Crudify
|
9
10
|
|
10
11
|
module ClassMethods
|
11
12
|
|
12
13
|
def crudify(model_name, options = {})
|
14
|
+
|
13
15
|
options = ::Crudify::Base.default_options(model_name).merge(options)
|
14
16
|
|
15
17
|
singular_name = model_name.to_s
|
@@ -28,7 +30,7 @@ module Crudify
|
|
28
30
|
prepend_before_filter :set_crud_options
|
29
31
|
|
30
32
|
def set_crud_options
|
31
|
-
@crud_options = #{options}
|
33
|
+
@crud_options = #{options.inspect}
|
32
34
|
end
|
33
35
|
|
34
36
|
def set_what
|
@@ -56,8 +58,9 @@ module Crudify
|
|
56
58
|
:position => ((#{class_name}.maximum(:position, :conditions => #{options[:conditions].inspect})||-1) + 1)
|
57
59
|
})
|
58
60
|
end
|
59
|
-
@instance = @#{singular_name} = #{class_name}.
|
60
|
-
before_create
|
61
|
+
@instance = @#{singular_name} = #{class_name}.new(params[:#{singular_name}])
|
62
|
+
ok = before_create
|
63
|
+
return ok unless ok === true
|
61
64
|
if @instance.valid? && @instance.save
|
62
65
|
successful_create
|
63
66
|
else
|
@@ -70,7 +73,8 @@ module Crudify
|
|
70
73
|
end
|
71
74
|
|
72
75
|
def update
|
73
|
-
before_update
|
76
|
+
ok = before_update
|
77
|
+
return ok unless ok === true
|
74
78
|
if @#{singular_name}.update_attributes(params[:#{singular_name}])
|
75
79
|
successful_update
|
76
80
|
else
|
@@ -79,8 +83,9 @@ module Crudify
|
|
79
83
|
end
|
80
84
|
|
81
85
|
def destroy
|
82
|
-
before_destroy
|
83
86
|
set_what
|
87
|
+
ok = before_destroy
|
88
|
+
return ok unless ok === true
|
84
89
|
# object gets found by find_#{singular_name} function
|
85
90
|
if @#{singular_name}.destroy
|
86
91
|
successful_destroy
|
@@ -103,9 +108,8 @@ module Crudify
|
|
103
108
|
def scope_with_options(scope)
|
104
109
|
scope.includes(
|
105
110
|
#{options[:include].map(&:to_sym).inspect}
|
106
|
-
)
|
111
|
+
)
|
107
112
|
end
|
108
|
-
|
109
113
|
|
110
114
|
# Finds one single result based on the id params.
|
111
115
|
def find_#{singular_name}
|
@@ -131,7 +135,7 @@ module Crudify
|
|
131
135
|
|
132
136
|
# Seems will_paginate doesn't always use the implicit method.
|
133
137
|
if #{class_name}.methods.map(&:to_sym).include?(:per_page)
|
134
|
-
paginate_options.update(
|
138
|
+
paginate_options.update(:per_page => #{class_name}.per_page)
|
135
139
|
end
|
136
140
|
|
137
141
|
set_collection(@#{plural_name}.paginate(paginate_options), false)
|
@@ -139,6 +143,8 @@ module Crudify
|
|
139
143
|
|
140
144
|
# Returns results based on the query specified by the user.
|
141
145
|
def search_all_#{plural_name}
|
146
|
+
params[:search] ||= {}
|
147
|
+
params[:search][:meta_sort] ||= #{options[:order].to_s.downcase.gsub(' ', '.').inspect}
|
142
148
|
@search ||= find_all_#{plural_name}.search(params[:search])
|
143
149
|
set_collection(@search, false)
|
144
150
|
end
|
data/lib/crudify/hook_methods.rb
CHANGED
@@ -25,7 +25,7 @@ module Crudify
|
|
25
25
|
def before_action
|
26
26
|
# just a hook!
|
27
27
|
puts "> Crud::before_action" if @crud_options[:log]
|
28
|
-
|
28
|
+
true
|
29
29
|
end
|
30
30
|
|
31
31
|
|
@@ -61,10 +61,12 @@ module Crudify
|
|
61
61
|
redirect_to @redirect_to_url
|
62
62
|
elsif params[:commit].to_s.match(/continue/)
|
63
63
|
if params[:action] == 'create'
|
64
|
-
|
64
|
+
url = request.referer.sub(/(\/?(new)?\/?)$/, '') + "/#{@instance.to_param}"
|
65
|
+
url += "/edit" if params[:commit].to_s.match(/edit/)
|
65
66
|
else
|
66
|
-
|
67
|
-
end
|
67
|
+
url = request.referer
|
68
|
+
end
|
69
|
+
redirect_to url
|
68
70
|
else
|
69
71
|
url = eval(@crud_options[:redirect_to_url])
|
70
72
|
if defined?(redirect_back_or_default)
|
data/lib/crudify/version.rb
CHANGED
@@ -0,0 +1,150 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
module HookAssertions
|
4
|
+
|
5
|
+
# We'll store things we want to assert here for now,
|
6
|
+
# then run the assertions at teardown
|
7
|
+
#
|
8
|
+
# assertions << [ :assert, true, "True is true!" ]
|
9
|
+
# assertions << [ :assert_not_nil, 1, "1 is not nil" ]
|
10
|
+
#
|
11
|
+
def assertions
|
12
|
+
@assertions ||= []
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def before_create
|
19
|
+
assertions << [ :assert_not_nil, @jelly, "Jelly should be assigned" ]
|
20
|
+
assertions << [ :assert, @jelly.new_record?, "Jelly should be a new record" ]
|
21
|
+
super
|
22
|
+
end
|
23
|
+
|
24
|
+
def before_update
|
25
|
+
assertions << [ :assert_not_nil, @jelly, "Jelly should be assigned" ]
|
26
|
+
assertions << [ :assert, !@jelly.new_record?, "Jelly should not be a new record" ]
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
## not sure what to check for here...
|
31
|
+
#def before_action
|
32
|
+
# assertions << [ :assert, true ]
|
33
|
+
# super
|
34
|
+
#end
|
35
|
+
|
36
|
+
def successful_create
|
37
|
+
assertions << [ :assert, !@jelly.new_record?, "Jelly should not be a new record" ]
|
38
|
+
super
|
39
|
+
end
|
40
|
+
|
41
|
+
def successful_update
|
42
|
+
assertions << [ :assert_equal, @jelly.name, "Controlafresh" ]
|
43
|
+
assertions << [ :assert, !@jelly.changed?, "Should be clean" ]
|
44
|
+
super
|
45
|
+
end
|
46
|
+
|
47
|
+
def successful_destroy
|
48
|
+
@old_jelly = Jelly.find(@jelly.id) rescue nil
|
49
|
+
assertions << [ :assert, @old_jelly.nil? ]
|
50
|
+
super
|
51
|
+
end
|
52
|
+
|
53
|
+
def after_success
|
54
|
+
assertions << [ :assert_not_nil, flash[:notice], "Should have a notice" ]
|
55
|
+
assertions << [ :assert, flash[:error].nil?, "Should not have an error message" ]
|
56
|
+
super
|
57
|
+
end
|
58
|
+
|
59
|
+
def failed_create
|
60
|
+
assertions << [ :assert, !@jelly.errors.empty?, "Jelly has errors" ]
|
61
|
+
super
|
62
|
+
end
|
63
|
+
|
64
|
+
def failed_update
|
65
|
+
assertions << [ :assert, @jelly.changed?, "Jelly has unsaved updates" ]
|
66
|
+
super
|
67
|
+
end
|
68
|
+
|
69
|
+
def failed_destroy
|
70
|
+
@old_jelly = Jelly.find(@jelly.id) rescue nil
|
71
|
+
assertions << [ :assert_not_nil, @old_jelly ]
|
72
|
+
super
|
73
|
+
end
|
74
|
+
|
75
|
+
def after_fail
|
76
|
+
assertions << [ :assert_not_nil, flash[:error].nil?, "Should have an error message" ]
|
77
|
+
assertions << [ :assert, flash[:notice].nil?, "Should not have a notice" ]
|
78
|
+
super
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
class ControllerHooksTest < ActionController::TestCase
|
85
|
+
|
86
|
+
def setup
|
87
|
+
# assertions will be created in the included module
|
88
|
+
JelliesController.send(:include, HookAssertions)
|
89
|
+
@controller = JelliesController.new
|
90
|
+
end
|
91
|
+
|
92
|
+
def teardown
|
93
|
+
# fire any assertions we saved in the controller
|
94
|
+
@controller.assertions.each do |args|
|
95
|
+
send(*args)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
should "post to create" do
|
100
|
+
post :create, :jelly => { :title => "Controller Jelly", :name => "Controlaberry" }
|
101
|
+
end
|
102
|
+
|
103
|
+
should "post to create and fail" do
|
104
|
+
post :create, :jelly => { :title => "", :name => "" }
|
105
|
+
end
|
106
|
+
|
107
|
+
context "with a jelly" do
|
108
|
+
|
109
|
+
setup do
|
110
|
+
@jelly = Jelly.create(:title => "Controller Jelly", :name => "Controlaberry")
|
111
|
+
end
|
112
|
+
|
113
|
+
should "put update" do
|
114
|
+
put :update, :id => @jelly.id, :jelly => { :title => "Updated Controller Jelly", :name => "Controlafresh" }
|
115
|
+
end
|
116
|
+
|
117
|
+
should "put update and fail" do
|
118
|
+
put :update, :id => @jelly.id, :jelly => { :title => "", :name => "" }
|
119
|
+
end
|
120
|
+
|
121
|
+
should "delete, destroy and maybe conquer" do
|
122
|
+
delete :destroy, :id => @jelly.id
|
123
|
+
end
|
124
|
+
|
125
|
+
should "delete but not destroy" do
|
126
|
+
# overwrite the default destroy method..
|
127
|
+
# is there a better way to do this?
|
128
|
+
Jelly.class_eval do
|
129
|
+
|
130
|
+
alias :aliased_destroy :destroy
|
131
|
+
|
132
|
+
def destroy
|
133
|
+
false
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
delete :destroy, :id => @jelly.id
|
138
|
+
|
139
|
+
# rewrite to the old method
|
140
|
+
Jelly.class_eval do
|
141
|
+
def destroy
|
142
|
+
aliased_destroy
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
|
150
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crudify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 6
|
9
|
+
version: 0.0.6
|
6
10
|
platform: ruby
|
7
11
|
authors:
|
8
12
|
- Spencer Steffen
|
@@ -10,7 +14,7 @@ autorequire:
|
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
16
|
|
13
|
-
date: 2011-
|
17
|
+
date: 2011-05-14 00:00:00 -07:00
|
14
18
|
default_executable:
|
15
19
|
dependencies:
|
16
20
|
- !ruby/object:Gem::Dependency
|
@@ -21,6 +25,10 @@ dependencies:
|
|
21
25
|
requirements:
|
22
26
|
- - ">="
|
23
27
|
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 3
|
30
|
+
- 0
|
31
|
+
- 0
|
24
32
|
version: 3.0.0
|
25
33
|
type: :runtime
|
26
34
|
version_requirements: *id001
|
@@ -32,6 +40,10 @@ dependencies:
|
|
32
40
|
requirements:
|
33
41
|
- - ">="
|
34
42
|
- !ruby/object:Gem::Version
|
43
|
+
segments:
|
44
|
+
- 2
|
45
|
+
- 3
|
46
|
+
- 15
|
35
47
|
version: 2.3.15
|
36
48
|
type: :runtime
|
37
49
|
version_requirements: *id002
|
@@ -43,6 +55,10 @@ dependencies:
|
|
43
55
|
requirements:
|
44
56
|
- - ">="
|
45
57
|
- !ruby/object:Gem::Version
|
58
|
+
segments:
|
59
|
+
- 1
|
60
|
+
- 0
|
61
|
+
- 1
|
46
62
|
version: 1.0.1
|
47
63
|
type: :runtime
|
48
64
|
version_requirements: *id003
|
@@ -54,6 +70,10 @@ dependencies:
|
|
54
70
|
requirements:
|
55
71
|
- - ">="
|
56
72
|
- !ruby/object:Gem::Version
|
73
|
+
segments:
|
74
|
+
- 2
|
75
|
+
- 11
|
76
|
+
- 3
|
57
77
|
version: 2.11.3
|
58
78
|
type: :development
|
59
79
|
version_requirements: *id004
|
@@ -65,6 +85,10 @@ dependencies:
|
|
65
85
|
requirements:
|
66
86
|
- - ">="
|
67
87
|
- !ruby/object:Gem::Version
|
88
|
+
segments:
|
89
|
+
- 1
|
90
|
+
- 3
|
91
|
+
- 3
|
68
92
|
version: 1.3.3
|
69
93
|
type: :development
|
70
94
|
version_requirements: *id005
|
@@ -76,6 +100,10 @@ dependencies:
|
|
76
100
|
requirements:
|
77
101
|
- - ">="
|
78
102
|
- !ruby/object:Gem::Version
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
- 4
|
106
|
+
- 1
|
79
107
|
version: 0.4.1
|
80
108
|
type: :development
|
81
109
|
version_requirements: *id006
|
@@ -87,6 +115,10 @@ dependencies:
|
|
87
115
|
requirements:
|
88
116
|
- - ">="
|
89
117
|
- !ruby/object:Gem::Version
|
118
|
+
segments:
|
119
|
+
- 0
|
120
|
+
- 1
|
121
|
+
- 3
|
90
122
|
version: 0.1.3
|
91
123
|
type: :development
|
92
124
|
version_requirements: *id007
|
@@ -163,6 +195,7 @@ files:
|
|
163
195
|
- test/dummy/public/javascripts/rails.js
|
164
196
|
- test/dummy/public/stylesheets/styles.css
|
165
197
|
- test/dummy/script/rails
|
198
|
+
- test/functional/controller_hooks_test.rb
|
166
199
|
- test/functional/jellies_controller_test.rb
|
167
200
|
- test/helper.rb
|
168
201
|
- test/integration/demo_test.rb
|
@@ -181,17 +214,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
181
214
|
requirements:
|
182
215
|
- - ">="
|
183
216
|
- !ruby/object:Gem::Version
|
217
|
+
segments:
|
218
|
+
- 0
|
184
219
|
version: "0"
|
185
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
221
|
none: false
|
187
222
|
requirements:
|
188
223
|
- - ">="
|
189
224
|
- !ruby/object:Gem::Version
|
225
|
+
segments:
|
226
|
+
- 0
|
190
227
|
version: "0"
|
191
228
|
requirements: []
|
192
229
|
|
193
230
|
rubyforge_project:
|
194
|
-
rubygems_version: 1.
|
231
|
+
rubygems_version: 1.3.7
|
195
232
|
signing_key:
|
196
233
|
specification_version: 3
|
197
234
|
summary: Crudify is a dynamic resource controller for Rails 3.
|
@@ -246,6 +283,7 @@ test_files:
|
|
246
283
|
- test/dummy/public/javascripts/rails.js
|
247
284
|
- test/dummy/public/stylesheets/styles.css
|
248
285
|
- test/dummy/script/rails
|
286
|
+
- test/functional/controller_hooks_test.rb
|
249
287
|
- test/functional/jellies_controller_test.rb
|
250
288
|
- test/helper.rb
|
251
289
|
- test/integration/demo_test.rb
|