merb-admin 0.4.6 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +1 -1
- data/Rakefile +1 -1
- data/app/controllers/main.rb +2 -1
- data/app/views/main/list.html.erb +1 -1
- data/lib/merb-admin.rb +1 -1
- data/schema/migrations/004_create_players_migration.rb +1 -1
- data/spec/models/datamapper/player.rb +1 -1
- data/spec/requests/main_spec.rb +66 -18
- metadata +1 -1
data/README.markdown
CHANGED
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ AUTHOR = "Erik Michaels-Ober"
|
|
9
9
|
EMAIL = "sferik@gmail.com"
|
10
10
|
HOMEPAGE = "http://twitter.com/sferik"
|
11
11
|
SUMMARY = "MerbAdmin is a Merb plugin that provides an easy-to-use interface for managing your data."
|
12
|
-
GEM_VERSION = "0.4.
|
12
|
+
GEM_VERSION = "0.4.7"
|
13
13
|
|
14
14
|
spec = Gem::Specification.new do |s|
|
15
15
|
s.rubyforge_project = "merb"
|
data/app/controllers/main.rb
CHANGED
@@ -137,6 +137,7 @@ class MerbAdmin::Main < MerbAdmin::Application
|
|
137
137
|
statements << "#{property[:name]} LIKE ?"
|
138
138
|
values << "%#{params[:query]}%"
|
139
139
|
end
|
140
|
+
conditions[0] += " AND " unless conditions == [""]
|
140
141
|
conditions[0] += statements.join(" OR ")
|
141
142
|
conditions += values
|
142
143
|
options.merge!(:conditions => conditions) unless conditions == [""]
|
@@ -155,10 +156,10 @@ class MerbAdmin::Main < MerbAdmin::Application
|
|
155
156
|
values << (value == "true")
|
156
157
|
end
|
157
158
|
end
|
159
|
+
conditions[0] += " AND " unless conditions == [""]
|
158
160
|
conditions[0] += statements.join(" AND ")
|
159
161
|
conditions += values
|
160
162
|
options.merge!(:conditions => conditions) unless conditions == [""]
|
161
|
-
puts options.inspect
|
162
163
|
end
|
163
164
|
|
164
165
|
def merge_sort!(options)
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<form id="changelist-search" action="" method="get">
|
17
17
|
<div>
|
18
18
|
<label for="searchbar"><img src="<%= image_path("icon_searchbox.png") %>" alt="Search" /></label>
|
19
|
-
<input type="text" size="40" name="query" value="" id="searchbar" />
|
19
|
+
<input type="text" size="40" name="query" value="<%= query %>" id="searchbar" />
|
20
20
|
<input type="submit" value="Search" />
|
21
21
|
<% if query || filter %>
|
22
22
|
<span class="small quiet"><%= @record_count %> <%= @record_count == 1 ? "result" : "results" %> (<a href="?"><%= @abstract_model.count %> total</a>)</span>
|
data/lib/merb-admin.rb
CHANGED
@@ -23,7 +23,7 @@ if defined?(Merb::Plugins)
|
|
23
23
|
|
24
24
|
# Slice metadata
|
25
25
|
self.description = "MerbAdmin is a Merb plugin that provides an easy-to-use interface for managing your data."
|
26
|
-
self.version = "0.4.
|
26
|
+
self.version = "0.4.7"
|
27
27
|
self.author = "Erik Michaels-Ober"
|
28
28
|
|
29
29
|
# Stub classes loaded hook - runs before LoadClasses BootLoader
|
@@ -8,7 +8,7 @@ class CreatePlayersMigration < ActiveRecord::Migration
|
|
8
8
|
t.string :position, :limit => 50
|
9
9
|
t.integer :number
|
10
10
|
t.float :batting_average, :default => 0.0
|
11
|
-
t.boolean :
|
11
|
+
t.boolean :retired, :default => false
|
12
12
|
t.boolean :injured, :default => false
|
13
13
|
t.date :born_on
|
14
14
|
t.timestamp :wake_at
|
@@ -10,7 +10,7 @@ class Player
|
|
10
10
|
property :position, String
|
11
11
|
property :number, Integer, :nullable => false
|
12
12
|
property :batting_average, Float, :default => 0.0, :precision => 4, :scale => 3
|
13
|
-
property :
|
13
|
+
property :retired, Boolean, :default => false
|
14
14
|
property :injured, Boolean, :default => false
|
15
15
|
property :born_on, Date
|
16
16
|
property :wake_at, Time
|
data/spec/requests/main_spec.rb
CHANGED
@@ -89,10 +89,42 @@ describe "MerbAdmin" do
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
describe "list with
|
92
|
+
describe "list with sort" do
|
93
93
|
before(:each) do
|
94
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
|
94
95
|
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
|
96
|
+
@response = request(url(:admin_list, :model_name => "player"), :params => {:sort => "name"})
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should respond sucessfully" do
|
100
|
+
@response.should be_successful
|
101
|
+
end
|
102
|
+
|
103
|
+
it "should be sorted correctly" do
|
104
|
+
@response.body.should contain(/Jackie Robinson.*Sandy Koufax/m)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe "list with reverse sort" do
|
109
|
+
before(:each) do
|
110
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
|
111
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
|
112
|
+
@response = request(url(:admin_list, :model_name => "player"), :params => {:sort => "name", :sort_reverse => "true"})
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should respond sucessfully" do
|
116
|
+
@response.should be_successful
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should be sorted correctly" do
|
120
|
+
@response.body.should contain(/Sandy Koufax.*Jackie Robinson/m)
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
describe "list with query" do
|
125
|
+
before(:each) do
|
95
126
|
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher")
|
127
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second")
|
96
128
|
@response = request(url(:admin_list, :model_name => "player"), :params => {:query => "Jackie Robinson"})
|
97
129
|
end
|
98
130
|
|
@@ -109,43 +141,58 @@ describe "MerbAdmin" do
|
|
109
141
|
end
|
110
142
|
end
|
111
143
|
|
112
|
-
describe "list with
|
144
|
+
describe "list with query and boolean filter" do
|
113
145
|
before(:each) do
|
114
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
115
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
116
|
-
|
146
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher", :retired => true, :injured => true)
|
147
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second", :retired => true, :injured => false)
|
148
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 18, :name => "Moises Alou", :position => "left", :retired => false, :injured => true)
|
149
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 5, :name => "David Wright", :position => "third", :retired => false, :injured => false)
|
150
|
+
@response = request(url(:admin_list, :model_name => "player"), :params => {:query => "Sandy Koufax", :filter => {:injured => "true"}})
|
117
151
|
end
|
118
152
|
|
119
153
|
it "should respond sucessfully" do
|
120
154
|
@response.should be_successful
|
121
155
|
end
|
122
156
|
|
123
|
-
it "should
|
124
|
-
@response.body.should contain(
|
157
|
+
it "should contain a correct result" do
|
158
|
+
@response.body.should contain("Sandy Koufax")
|
159
|
+
end
|
160
|
+
|
161
|
+
it "should not contain an incorrect result" do
|
162
|
+
@response.body.should_not contain("Jackie Robinson")
|
163
|
+
@response.body.should_not contain("Moises Alou")
|
164
|
+
@response.body.should_not contain("David Wright")
|
125
165
|
end
|
126
166
|
end
|
127
167
|
|
128
|
-
|
168
|
+
|
169
|
+
describe "list with boolean filter" do
|
129
170
|
before(:each) do
|
130
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
131
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
132
|
-
@response = request(url(:admin_list, :model_name => "player"), :params => {:
|
171
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 18, :name => "Moises Alou", :position => "left", :injured => true)
|
172
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 5, :name => "David Wright", :position => "third", :injured => false)
|
173
|
+
@response = request(url(:admin_list, :model_name => "player"), :params => {:filter => {:injured => "true"}})
|
133
174
|
end
|
134
175
|
|
135
176
|
it "should respond sucessfully" do
|
136
177
|
@response.should be_successful
|
137
178
|
end
|
138
179
|
|
139
|
-
it "should
|
140
|
-
@response.body.should contain(
|
180
|
+
it "should contain a correct result" do
|
181
|
+
@response.body.should contain("Moises Alou")
|
182
|
+
end
|
183
|
+
|
184
|
+
it "should not contain an incorrect result" do
|
185
|
+
@response.body.should_not contain("David Wright")
|
141
186
|
end
|
142
187
|
end
|
143
188
|
|
144
|
-
describe "list with boolean
|
189
|
+
describe "list with boolean filters" do
|
145
190
|
before(:each) do
|
146
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
147
|
-
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number =>
|
148
|
-
|
191
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 32, :name => "Sandy Koufax", :position => "pitcher", :retired => true, :injured => true)
|
192
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 42, :name => "Jackie Robinson", :position => "second", :retired => true, :injured => false)
|
193
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 18, :name => "Moises Alou", :position => "left", :retired => false, :injured => true)
|
194
|
+
MerbAdmin::AbstractModel.new("Player").create(:team_id => rand(99999), :number => 5, :name => "David Wright", :position => "third", :retired => false, :injured => false)
|
195
|
+
@response = request(url(:admin_list, :model_name => "player"), :params => {:filter => {:retired => "true", :injured => "true"}})
|
149
196
|
end
|
150
197
|
|
151
198
|
it "should respond sucessfully" do
|
@@ -153,10 +200,11 @@ describe "MerbAdmin" do
|
|
153
200
|
end
|
154
201
|
|
155
202
|
it "should contain a correct result" do
|
156
|
-
@response.body.should contain("Moises Alou")
|
157
203
|
end
|
158
204
|
|
159
205
|
it "should not contain an incorrect result" do
|
206
|
+
@response.body.should_not contain("Jackie Robinson")
|
207
|
+
@response.body.should_not contain("Moises Alou")
|
160
208
|
@response.body.should_not contain("David Wright")
|
161
209
|
end
|
162
210
|
end
|