merb-admin 0.8.5 → 0.8.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +21 -23
- data/Gemfile.lock +107 -89
- data/LICENSE +20 -20
- data/README.rdoc +54 -54
- data/Rakefile +11 -11
- data/app/controllers/application.rb +6 -6
- data/app/controllers/main.rb +191 -191
- data/app/helpers/application_helper.rb +64 -64
- data/app/helpers/main_helper.rb +167 -167
- data/app/views/layout/_message.html.erb +10 -10
- data/app/views/layout/dashboard.html.erb +34 -34
- data/app/views/layout/form.html.erb +48 -48
- data/app/views/layout/list.html.erb +42 -42
- data/app/views/main/_belongs_to.html.erb +29 -29
- data/app/views/main/_big_decimal.html.erb +12 -12
- data/app/views/main/_boolean.html.erb +7 -7
- data/app/views/main/_date.html.erb +12 -12
- data/app/views/main/_datetime.html.erb +12 -12
- data/app/views/main/_float.html.erb +12 -12
- data/app/views/main/_has_many.html.erb +16 -16
- data/app/views/main/_has_one.html.erb +30 -30
- data/app/views/main/_integer.html.erb +12 -12
- data/app/views/main/_properties.html.erb +18 -18
- data/app/views/main/_string.html.erb +15 -15
- data/app/views/main/_text.html.erb +11 -11
- data/app/views/main/_time.html.erb +12 -12
- data/app/views/main/_timestamp.html.erb +12 -12
- data/app/views/main/delete.html.erb +28 -28
- data/app/views/main/edit.html.erb +19 -19
- data/app/views/main/index.html.erb +22 -22
- data/app/views/main/list.html.erb +93 -93
- data/app/views/main/new.html.erb +16 -16
- data/config/init.rb +31 -30
- data/config/router.rb +4 -4
- data/lib/abstract_model.rb +84 -84
- data/lib/active_record_support.rb +151 -147
- data/lib/datamapper_support.rb +145 -141
- data/lib/generic_support.rb +13 -13
- data/lib/merb-admin.rb +100 -100
- data/lib/merb-admin/merbtasks.rb +103 -103
- data/lib/merb-admin/slicetasks.rb +168 -174
- data/lib/merb-admin/spectasks.rb +55 -55
- data/lib/merb-admin/version.rb +3 -3
- data/lib/sequel_support.rb +282 -275
- data/merb-admin.gemspec +42 -41
- data/public/javascripts/CollapsedFieldsets.js +85 -85
- data/public/javascripts/DateTimeShortcuts.js +255 -255
- data/public/javascripts/RelatedObjectLookups.js +96 -96
- data/public/javascripts/SelectBox.js +111 -111
- data/public/javascripts/SelectFilter2.js +113 -113
- data/public/javascripts/actions.js +39 -39
- data/public/javascripts/calendar.js +143 -143
- data/public/javascripts/core.js +176 -176
- data/public/javascripts/dateparse.js +233 -233
- data/public/javascripts/getElementsBySelector.js +167 -167
- data/public/javascripts/i18n.js +33 -33
- data/public/javascripts/ordering.js +137 -137
- data/public/javascripts/timeparse.js +94 -94
- data/public/javascripts/urlify.js +140 -140
- data/public/stylesheets/base.css +746 -746
- data/public/stylesheets/changelists.css +269 -269
- data/public/stylesheets/dashboard.css +24 -24
- data/public/stylesheets/forms.css +327 -327
- data/public/stylesheets/global.css +142 -142
- data/public/stylesheets/ie.css +50 -50
- data/public/stylesheets/layout.css +29 -29
- data/public/stylesheets/login.css +54 -54
- data/public/stylesheets/master.css +1 -1
- data/public/stylesheets/patch-iewin.css +7 -7
- data/public/stylesheets/rtl.css +206 -206
- data/public/stylesheets/widgets.css +506 -506
- data/spec/controllers/main_spec.rb +25 -25
- data/spec/migrations/activerecord/001_create_divisions_migration.rb +13 -13
- data/spec/migrations/activerecord/002_create_drafts_migration.rb +19 -19
- data/spec/migrations/activerecord/003_create_leagues_migration.rb +12 -12
- data/spec/migrations/activerecord/004_create_players_migration.rb +19 -19
- data/spec/migrations/activerecord/005_create_teams_migration.rb +22 -22
- data/spec/migrations/sequel/001_create_divisions_migration.rb +15 -15
- data/spec/migrations/sequel/002_create_drafts_migration.rb +21 -21
- data/spec/migrations/sequel/003_create_leagues_migration.rb +14 -14
- data/spec/migrations/sequel/004_create_players_migration.rb +21 -21
- data/spec/migrations/sequel/005_create_teams_migration.rb +24 -24
- data/spec/models/activerecord/division.rb +7 -7
- data/spec/models/activerecord/draft.rb +11 -11
- data/spec/models/activerecord/league.rb +6 -6
- data/spec/models/activerecord/player.rb +8 -8
- data/spec/models/activerecord/team.rb +13 -13
- data/spec/models/datamapper/division.rb +12 -12
- data/spec/models/datamapper/draft.rb +18 -18
- data/spec/models/datamapper/league.rb +11 -11
- data/spec/models/datamapper/player.rb +20 -20
- data/spec/models/datamapper/team.rb +22 -22
- data/spec/models/sequel/division.rb +15 -15
- data/spec/models/sequel/draft.rb +19 -19
- data/spec/models/sequel/league.rb +14 -14
- data/spec/models/sequel/player.rb +18 -18
- data/spec/models/sequel/team.rb +21 -21
- data/spec/requests/main_spec.rb +873 -763
- data/spec/spec_helper.rb +111 -113
- metadata +40 -26
data/spec/spec_helper.rb
CHANGED
@@ -1,113 +1,111 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'merb-core'
|
3
|
-
require 'merb-slices'
|
4
|
-
require '
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
#
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
module
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
ActiveRecord::
|
49
|
-
ActiveRecord::
|
50
|
-
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"),
|
51
|
-
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"),
|
52
|
-
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"),
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
require 'dm-
|
58
|
-
require 'dm-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
config.include(Merb::Test::
|
96
|
-
config.include(Merb::Test::
|
97
|
-
config.
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
end
|
113
|
-
end
|
1
|
+
require 'rubygems'
|
2
|
+
require 'merb-core'
|
3
|
+
require 'merb-slices'
|
4
|
+
require 'spec'
|
5
|
+
|
6
|
+
# Add merb-admin.rb to the search path
|
7
|
+
Merb::Plugins.config[:merb_slices][:auto_register] = true
|
8
|
+
Merb::Plugins.config[:merb_slices][:search_path] = File.join(File.dirname(__FILE__), '..', 'lib', 'merb-admin.rb')
|
9
|
+
|
10
|
+
# Require merb-admin.rb explicitly so any dependencies are loaded
|
11
|
+
require Merb::Plugins.config[:merb_slices][:search_path]
|
12
|
+
|
13
|
+
# Using Merb.root below makes sure that the correct root is set for
|
14
|
+
# - testing standalone, without being installed as a gem and no host application
|
15
|
+
# - testing from within the host application; its root will be used
|
16
|
+
Merb.start_environment(
|
17
|
+
:testing => true,
|
18
|
+
:adapter => 'runner',
|
19
|
+
:environment => ENV['MERB_ENV'] || 'test',
|
20
|
+
:merb_root => Merb.root,
|
21
|
+
:session_store => 'memory'
|
22
|
+
)
|
23
|
+
|
24
|
+
module Merb
|
25
|
+
module Test
|
26
|
+
module SliceHelper
|
27
|
+
|
28
|
+
# The absolute path to the current slice
|
29
|
+
def current_slice_root
|
30
|
+
@current_slice_root ||= File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
31
|
+
end
|
32
|
+
|
33
|
+
# Whether the specs are being run from a host application or standalone
|
34
|
+
def standalone?
|
35
|
+
Merb.root == ::MerbAdmin.root
|
36
|
+
end
|
37
|
+
|
38
|
+
def setup_orm(orm = nil)
|
39
|
+
orm = set_orm(orm)
|
40
|
+
orm = orm.to_s.downcase.to_sym
|
41
|
+
case orm
|
42
|
+
when :activerecord
|
43
|
+
require 'active_record'
|
44
|
+
require_models(orm)
|
45
|
+
unless ActiveRecord::Base.connected?
|
46
|
+
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
|
47
|
+
ActiveRecord::Migration.verbose = false
|
48
|
+
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"), 1)
|
49
|
+
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"), 2)
|
50
|
+
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"), 3)
|
51
|
+
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"), 4)
|
52
|
+
ActiveRecord::Migrator.run(:up, File.join(File.dirname(__FILE__), "migrations", "activerecord"), 5)
|
53
|
+
end
|
54
|
+
when :datamapper
|
55
|
+
require 'dm-core'
|
56
|
+
require 'dm-aggregates'
|
57
|
+
require 'dm-migrations'
|
58
|
+
require 'dm-validations'
|
59
|
+
require_models(orm)
|
60
|
+
unless DataMapper::Repository.adapters.key?(:default)
|
61
|
+
DataMapper.setup(:default, 'sqlite3::memory:')
|
62
|
+
DataMapper.auto_migrate!
|
63
|
+
end
|
64
|
+
when :sequel
|
65
|
+
require 'sequel'
|
66
|
+
require 'sequel/extensions/migration'
|
67
|
+
Sequel::Migrator.apply(Sequel.sqlite, File.join(File.dirname(__FILE__), "migrations", "sequel"))
|
68
|
+
require_models(orm)
|
69
|
+
else
|
70
|
+
raise "MerbAdmin does not support the #{orm} ORM"
|
71
|
+
end
|
72
|
+
Merb.orm = orm
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
|
77
|
+
def require_models(orm = nil)
|
78
|
+
orm ||= set_orm
|
79
|
+
Dir.glob(File.dirname(__FILE__) / "models" / orm.to_s.downcase / Merb.glob_for(:model)).each do |model_filename|
|
80
|
+
require model_filename
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def set_orm(orm = nil)
|
85
|
+
orm || ENV['MERB_ORM'] || (Merb.orm != :none ? Merb.orm : nil) || :activerecord
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
Spec::Runner.configure do |config|
|
93
|
+
config.include(Merb::Test::ViewHelper)
|
94
|
+
config.include(Merb::Test::RouteHelper)
|
95
|
+
config.include(Merb::Test::ControllerHelper)
|
96
|
+
config.include(Merb::Test::SliceHelper)
|
97
|
+
config.before(:each) do
|
98
|
+
setup_orm
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# You can add your own helpers here
|
103
|
+
#
|
104
|
+
Merb::Test.add_helpers do
|
105
|
+
def mount_slice
|
106
|
+
if standalone?
|
107
|
+
Merb::Router.reset!
|
108
|
+
Merb::Router.prepare{add_slice(:merb_admin, :path_prefix => "admin")}
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: merb-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 6
|
10
|
+
version: 0.8.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Erik Michaels-Ober
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-02 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -124,9 +124,24 @@ dependencies:
|
|
124
124
|
type: :development
|
125
125
|
version_requirements: *id007
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
127
|
+
name: thin
|
128
128
|
prerelease: false
|
129
129
|
requirement: &id008 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ~>
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 11
|
135
|
+
segments:
|
136
|
+
- 1
|
137
|
+
- 2
|
138
|
+
version: "1.2"
|
139
|
+
type: :development
|
140
|
+
version_requirements: *id008
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: rspec
|
143
|
+
prerelease: false
|
144
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
130
145
|
none: false
|
131
146
|
requirements:
|
132
147
|
- - ~>
|
@@ -137,27 +152,26 @@ dependencies:
|
|
137
152
|
- 3
|
138
153
|
version: "1.3"
|
139
154
|
type: :development
|
140
|
-
version_requirements: *
|
155
|
+
version_requirements: *id009
|
141
156
|
- !ruby/object:Gem::Dependency
|
142
157
|
name: sequel
|
143
158
|
prerelease: false
|
144
|
-
requirement: &
|
159
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
145
160
|
none: false
|
146
161
|
requirements:
|
147
162
|
- - ~>
|
148
163
|
- !ruby/object:Gem::Version
|
149
|
-
hash:
|
164
|
+
hash: 39
|
150
165
|
segments:
|
151
166
|
- 3
|
152
|
-
-
|
153
|
-
|
154
|
-
version: 3.6.0
|
167
|
+
- 16
|
168
|
+
version: "3.16"
|
155
169
|
type: :development
|
156
|
-
version_requirements: *
|
170
|
+
version_requirements: *id010
|
157
171
|
- !ruby/object:Gem::Dependency
|
158
172
|
name: sqlite3-ruby
|
159
173
|
prerelease: false
|
160
|
-
requirement: &
|
174
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
161
175
|
none: false
|
162
176
|
requirements:
|
163
177
|
- - ~>
|
@@ -168,11 +182,11 @@ dependencies:
|
|
168
182
|
- 3
|
169
183
|
version: "1.3"
|
170
184
|
type: :development
|
171
|
-
version_requirements: *
|
185
|
+
version_requirements: *id011
|
172
186
|
- !ruby/object:Gem::Dependency
|
173
187
|
name: webrat
|
174
188
|
prerelease: false
|
175
|
-
requirement: &
|
189
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
176
190
|
none: false
|
177
191
|
requirements:
|
178
192
|
- - ~>
|
@@ -183,11 +197,11 @@ dependencies:
|
|
183
197
|
- 7
|
184
198
|
version: "0.7"
|
185
199
|
type: :development
|
186
|
-
version_requirements: *
|
200
|
+
version_requirements: *id012
|
187
201
|
- !ruby/object:Gem::Dependency
|
188
202
|
name: builder
|
189
203
|
prerelease: false
|
190
|
-
requirement: &
|
204
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
191
205
|
none: false
|
192
206
|
requirements:
|
193
207
|
- - ~>
|
@@ -198,11 +212,11 @@ dependencies:
|
|
198
212
|
- 1
|
199
213
|
version: "2.1"
|
200
214
|
type: :runtime
|
201
|
-
version_requirements: *
|
215
|
+
version_requirements: *id013
|
202
216
|
- !ruby/object:Gem::Dependency
|
203
217
|
name: json
|
204
218
|
prerelease: false
|
205
|
-
requirement: &
|
219
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
206
220
|
none: false
|
207
221
|
requirements:
|
208
222
|
- - ~>
|
@@ -213,11 +227,11 @@ dependencies:
|
|
213
227
|
- 4
|
214
228
|
version: "1.4"
|
215
229
|
type: :runtime
|
216
|
-
version_requirements: *
|
230
|
+
version_requirements: *id014
|
217
231
|
- !ruby/object:Gem::Dependency
|
218
232
|
name: merb-assets
|
219
233
|
prerelease: false
|
220
|
-
requirement: &
|
234
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
221
235
|
none: false
|
222
236
|
requirements:
|
223
237
|
- - ~>
|
@@ -228,11 +242,11 @@ dependencies:
|
|
228
242
|
- 1
|
229
243
|
version: "1.1"
|
230
244
|
type: :runtime
|
231
|
-
version_requirements: *
|
245
|
+
version_requirements: *id015
|
232
246
|
- !ruby/object:Gem::Dependency
|
233
247
|
name: merb-helpers
|
234
248
|
prerelease: false
|
235
|
-
requirement: &
|
249
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
236
250
|
none: false
|
237
251
|
requirements:
|
238
252
|
- - ~>
|
@@ -243,11 +257,11 @@ dependencies:
|
|
243
257
|
- 1
|
244
258
|
version: "1.1"
|
245
259
|
type: :runtime
|
246
|
-
version_requirements: *
|
260
|
+
version_requirements: *id016
|
247
261
|
- !ruby/object:Gem::Dependency
|
248
262
|
name: merb-slices
|
249
263
|
prerelease: false
|
250
|
-
requirement: &
|
264
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
251
265
|
none: false
|
252
266
|
requirements:
|
253
267
|
- - ~>
|
@@ -258,7 +272,7 @@ dependencies:
|
|
258
272
|
- 1
|
259
273
|
version: "1.1"
|
260
274
|
type: :runtime
|
261
|
-
version_requirements: *
|
275
|
+
version_requirements: *id017
|
262
276
|
description: MerbAdmin is a Merb plugin that provides an easy-to-use interface for managing your data
|
263
277
|
email: sferik@gmail.com
|
264
278
|
executables: []
|