admin_assistant 2.2.3 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -27,7 +27,7 @@ end
27
27
  desc 'Run all specs across all supported Rails gem versions.'
28
28
  task :test do
29
29
  base = Dir.pwd
30
- version_dirs = %w(rails_3_0 rails_3_1)
30
+ version_dirs = %w(rails_3_0 rails_3_0_mysql rails_3_1)
31
31
  version_dirs.each do |dir|
32
32
  path = File.join(base, dir)
33
33
  cmd = "cd #{path} && bundle exec rake"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.2.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{admin_assistant}
8
- s.version = "2.2.3"
8
+ s.version = "2.2.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Francis Hwang"]
12
- s.date = %q{2011-11-09}
12
+ s.date = %q{2011-12-17}
13
13
  s.description = %q{admin_assistant is a Rails plugin that automates a lot of features typically needed in admin interfaces.}
14
14
  s.email = %q{sera@fhwang.net}
15
15
  s.extra_rdoc_files = [
@@ -60,6 +60,16 @@ Gem::Specification.new do |s|
60
60
  "rails_3_0/lib/tasks/.gitkeep",
61
61
  "rails_3_0/public/stylesheets/.gitkeep",
62
62
  "rails_3_0/vendor/plugins/.gitkeep",
63
+ "rails_3_0_mysql/Gemfile",
64
+ "rails_3_0_mysql/Gemfile.lock",
65
+ "rails_3_0_mysql/README",
66
+ "rails_3_0_mysql/Rakefile",
67
+ "rails_3_0_mysql/config.ru",
68
+ "rails_3_0_mysql/config/application.rb",
69
+ "rails_3_0_mysql/config/boot.rb",
70
+ "rails_3_0_mysql/config/database.yml",
71
+ "rails_3_0_mysql/config/environment.rb",
72
+ "rails_3_0_mysql/config/routes.rb",
63
73
  "rails_3_1/app/mailers/.gitkeep",
64
74
  "rails_3_1/lib/assets/.gitkeep",
65
75
  "rails_3_1/lib/tasks/.gitkeep",
@@ -155,7 +165,7 @@ Gem::Specification.new do |s|
155
165
  ]
156
166
  s.homepage = %q{http://github.com/fhwang/admin_assistant}
157
167
  s.require_paths = ["lib"]
158
- s.rubygems_version = %q{1.6.2}
168
+ s.rubygems_version = %q{1.4.2}
159
169
  s.summary = %q{admin_assistant is a Rails plugin that automates a lot of features typically needed in admin interfaces.}
160
170
 
161
171
  if s.respond_to? :specification_version then
@@ -218,7 +218,7 @@ class AdminAssistant
218
218
  end
219
219
  end
220
220
  AdminAssistant.routes << Route.new(self.admin_assistant)
221
- rescue ActiveRecord::StatementInvalid
221
+ rescue ActiveRecord::StatementInvalid, Mysql::Error
222
222
  Rails.logger.info "Skipping admin_assistant_for for #{self.name} because the table doesn't exist in the DB. Hopefully that's because you're deploying with a migration."
223
223
  end
224
224
  end
@@ -18,3 +18,17 @@ class AdminAssistant
18
18
  end
19
19
  end
20
20
 
21
+ # Rails 3.0 doesn't do a very good job of wrapping DB-driver-specific
22
+ # exceptions in something more generic, so we catch it in a few places and
23
+ # maybe have to define them here in case we're *not* using the exceptions but
24
+ # still need to rescue them.
25
+ unless Object.const_defined?(:Mysql)
26
+ class Mysql
27
+ end
28
+ end
29
+
30
+ unless Mysql.const_defined?(:Error)
31
+ class Mysql::Error < StandardError
32
+ end
33
+ end
34
+
@@ -0,0 +1,12 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.0.6'
4
+
5
+ gem 'admin_assistant', :path => "../../admin_assistant"
6
+ gem 'paperclip', '2.3.11'
7
+ gem 'mysql'
8
+
9
+ group :development, :test do
10
+ gem 'json'
11
+ gem 'webrat', '>=0.7.2.pre', :git => 'http://github.com/kalv/webrat.git'
12
+ end
@@ -0,0 +1,101 @@
1
+ GIT
2
+ remote: http://github.com/kalv/webrat.git
3
+ revision: 66130e4b9e903e07cfa86286655bde439c7b376e
4
+ specs:
5
+ webrat (0.7.2.pre)
6
+ nokogiri (>= 1.2.0)
7
+ rack (>= 1.0)
8
+ rack-test (>= 0.5.3)
9
+
10
+ PATH
11
+ remote: ../../admin_assistant
12
+ specs:
13
+ admin_assistant (2.2.3)
14
+ dynamic_form
15
+ will_paginate (~> 3.0)
16
+
17
+ GEM
18
+ remote: http://rubygems.org/
19
+ specs:
20
+ abstract (1.0.0)
21
+ actionmailer (3.0.6)
22
+ actionpack (= 3.0.6)
23
+ mail (~> 2.2.15)
24
+ actionpack (3.0.6)
25
+ activemodel (= 3.0.6)
26
+ activesupport (= 3.0.6)
27
+ builder (~> 2.1.2)
28
+ erubis (~> 2.6.6)
29
+ i18n (~> 0.5.0)
30
+ rack (~> 1.2.1)
31
+ rack-mount (~> 0.6.14)
32
+ rack-test (~> 0.5.7)
33
+ tzinfo (~> 0.3.23)
34
+ activemodel (3.0.6)
35
+ activesupport (= 3.0.6)
36
+ builder (~> 2.1.2)
37
+ i18n (~> 0.5.0)
38
+ activerecord (3.0.6)
39
+ activemodel (= 3.0.6)
40
+ activesupport (= 3.0.6)
41
+ arel (~> 2.0.2)
42
+ tzinfo (~> 0.3.23)
43
+ activeresource (3.0.6)
44
+ activemodel (= 3.0.6)
45
+ activesupport (= 3.0.6)
46
+ activesupport (3.0.6)
47
+ arel (2.0.10)
48
+ builder (2.1.2)
49
+ dynamic_form (1.1.4)
50
+ erubis (2.6.6)
51
+ abstract (>= 1.0.0)
52
+ i18n (0.5.0)
53
+ json (1.6.3)
54
+ mail (2.2.19)
55
+ activesupport (>= 2.3.6)
56
+ i18n (>= 0.4.0)
57
+ mime-types (~> 1.16)
58
+ treetop (~> 1.4.8)
59
+ mime-types (1.17.2)
60
+ mysql (2.8.1)
61
+ nokogiri (1.5.0)
62
+ paperclip (2.3.11)
63
+ activerecord (>= 2.3.0)
64
+ activesupport (>= 2.3.2)
65
+ polyglot (0.3.3)
66
+ rack (1.2.4)
67
+ rack-mount (0.6.14)
68
+ rack (>= 1.0.0)
69
+ rack-test (0.5.7)
70
+ rack (>= 1.0)
71
+ rails (3.0.6)
72
+ actionmailer (= 3.0.6)
73
+ actionpack (= 3.0.6)
74
+ activerecord (= 3.0.6)
75
+ activeresource (= 3.0.6)
76
+ activesupport (= 3.0.6)
77
+ bundler (~> 1.0)
78
+ railties (= 3.0.6)
79
+ railties (3.0.6)
80
+ actionpack (= 3.0.6)
81
+ activesupport (= 3.0.6)
82
+ rake (>= 0.8.7)
83
+ thor (~> 0.14.4)
84
+ rake (0.9.2.2)
85
+ thor (0.14.6)
86
+ treetop (1.4.10)
87
+ polyglot
88
+ polyglot (>= 0.3.1)
89
+ tzinfo (0.3.31)
90
+ will_paginate (3.0.2)
91
+
92
+ PLATFORMS
93
+ ruby
94
+
95
+ DEPENDENCIES
96
+ admin_assistant!
97
+ json
98
+ mysql
99
+ paperclip (= 2.3.11)
100
+ rails (= 3.0.6)
101
+ webrat (>= 0.7.2.pre)!
@@ -0,0 +1,256 @@
1
+ == Welcome to Rails
2
+
3
+ Rails is a web-application framework that includes everything needed to create
4
+ database-backed web applications according to the Model-View-Control pattern.
5
+
6
+ This pattern splits the view (also called the presentation) into "dumb"
7
+ templates that are primarily responsible for inserting pre-built data in between
8
+ HTML tags. The model contains the "smart" domain objects (such as Account,
9
+ Product, Person, Post) that holds all the business logic and knows how to
10
+ persist themselves to a database. The controller handles the incoming requests
11
+ (such as Save New Account, Update Product, Show Post) by manipulating the model
12
+ and directing data to the view.
13
+
14
+ In Rails, the model is handled by what's called an object-relational mapping
15
+ layer entitled Active Record. This layer allows you to present the data from
16
+ database rows as objects and embellish these data objects with business logic
17
+ methods. You can read more about Active Record in
18
+ link:files/vendor/rails/activerecord/README.html.
19
+
20
+ The controller and view are handled by the Action Pack, which handles both
21
+ layers by its two parts: Action View and Action Controller. These two layers
22
+ are bundled in a single package due to their heavy interdependence. This is
23
+ unlike the relationship between the Active Record and Action Pack that is much
24
+ more separate. Each of these packages can be used independently outside of
25
+ Rails. You can read more about Action Pack in
26
+ link:files/vendor/rails/actionpack/README.html.
27
+
28
+
29
+ == Getting Started
30
+
31
+ 1. At the command prompt, create a new Rails application:
32
+ <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name)
33
+
34
+ 2. Change directory to <tt>myapp</tt> and start the web server:
35
+ <tt>cd myapp; rails server</tt> (run with --help for options)
36
+
37
+ 3. Go to http://localhost:3000/ and you'll see:
38
+ "Welcome aboard: You're riding Ruby on Rails!"
39
+
40
+ 4. Follow the guidelines to start developing your application. You can find
41
+ the following resources handy:
42
+
43
+ * The Getting Started Guide: http://guides.rubyonrails.org/getting_started.html
44
+ * Ruby on Rails Tutorial Book: http://www.railstutorial.org/
45
+
46
+
47
+ == Debugging Rails
48
+
49
+ Sometimes your application goes wrong. Fortunately there are a lot of tools that
50
+ will help you debug it and get it back on the rails.
51
+
52
+ First area to check is the application log files. Have "tail -f" commands
53
+ running on the server.log and development.log. Rails will automatically display
54
+ debugging and runtime information to these files. Debugging info will also be
55
+ shown in the browser on requests from 127.0.0.1.
56
+
57
+ You can also log your own messages directly into the log file from your code
58
+ using the Ruby logger class from inside your controllers. Example:
59
+
60
+ class WeblogController < ActionController::Base
61
+ def destroy
62
+ @weblog = Weblog.find(params[:id])
63
+ @weblog.destroy
64
+ logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!")
65
+ end
66
+ end
67
+
68
+ The result will be a message in your log file along the lines of:
69
+
70
+ Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!
71
+
72
+ More information on how to use the logger is at http://www.ruby-doc.org/core/
73
+
74
+ Also, Ruby documentation can be found at http://www.ruby-lang.org/. There are
75
+ several books available online as well:
76
+
77
+ * Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe)
78
+ * Learn to Program: http://pine.fm/LearnToProgram/ (a beginners guide)
79
+
80
+ These two books will bring you up to speed on the Ruby language and also on
81
+ programming in general.
82
+
83
+
84
+ == Debugger
85
+
86
+ Debugger support is available through the debugger command when you start your
87
+ Mongrel or WEBrick server with --debugger. This means that you can break out of
88
+ execution at any point in the code, investigate and change the model, and then,
89
+ resume execution! You need to install ruby-debug to run the server in debugging
90
+ mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example:
91
+
92
+ class WeblogController < ActionController::Base
93
+ def index
94
+ @posts = Post.find(:all)
95
+ debugger
96
+ end
97
+ end
98
+
99
+ So the controller will accept the action, run the first line, then present you
100
+ with a IRB prompt in the server window. Here you can do things like:
101
+
102
+ >> @posts.inspect
103
+ => "[#<Post:0x14a6be8
104
+ @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>,
105
+ #<Post:0x14a6620
106
+ @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]"
107
+ >> @posts.first.title = "hello from a debugger"
108
+ => "hello from a debugger"
109
+
110
+ ...and even better, you can examine how your runtime objects actually work:
111
+
112
+ >> f = @posts.first
113
+ => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>
114
+ >> f.
115
+ Display all 152 possibilities? (y or n)
116
+
117
+ Finally, when you're ready to resume execution, you can enter "cont".
118
+
119
+
120
+ == Console
121
+
122
+ The console is a Ruby shell, which allows you to interact with your
123
+ application's domain model. Here you'll have all parts of the application
124
+ configured, just like it is when the application is running. You can inspect
125
+ domain models, change values, and save to the database. Starting the script
126
+ without arguments will launch it in the development environment.
127
+
128
+ To start the console, run <tt>rails console</tt> from the application
129
+ directory.
130
+
131
+ Options:
132
+
133
+ * Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications
134
+ made to the database.
135
+ * Passing an environment name as an argument will load the corresponding
136
+ environment. Example: <tt>rails console production</tt>.
137
+
138
+ To reload your controllers and models after launching the console run
139
+ <tt>reload!</tt>
140
+
141
+ More information about irb can be found at:
142
+ link:http://www.rubycentral.com/pickaxe/irb.html
143
+
144
+
145
+ == dbconsole
146
+
147
+ You can go to the command line of your database directly through <tt>rails
148
+ dbconsole</tt>. You would be connected to the database with the credentials
149
+ defined in database.yml. Starting the script without arguments will connect you
150
+ to the development database. Passing an argument will connect you to a different
151
+ database, like <tt>rails dbconsole production</tt>. Currently works for MySQL,
152
+ PostgreSQL and SQLite 3.
153
+
154
+ == Description of Contents
155
+
156
+ The default directory structure of a generated Ruby on Rails application:
157
+
158
+ |-- app
159
+ | |-- controllers
160
+ | |-- helpers
161
+ | |-- mailers
162
+ | |-- models
163
+ | `-- views
164
+ | `-- layouts
165
+ |-- config
166
+ | |-- environments
167
+ | |-- initializers
168
+ | `-- locales
169
+ |-- db
170
+ |-- doc
171
+ |-- lib
172
+ | `-- tasks
173
+ |-- log
174
+ |-- public
175
+ | |-- images
176
+ | |-- javascripts
177
+ | `-- stylesheets
178
+ |-- script
179
+ |-- test
180
+ | |-- fixtures
181
+ | |-- functional
182
+ | |-- integration
183
+ | |-- performance
184
+ | `-- unit
185
+ |-- tmp
186
+ | |-- cache
187
+ | |-- pids
188
+ | |-- sessions
189
+ | `-- sockets
190
+ `-- vendor
191
+ `-- plugins
192
+
193
+ app
194
+ Holds all the code that's specific to this particular application.
195
+
196
+ app/controllers
197
+ Holds controllers that should be named like weblogs_controller.rb for
198
+ automated URL mapping. All controllers should descend from
199
+ ApplicationController which itself descends from ActionController::Base.
200
+
201
+ app/models
202
+ Holds models that should be named like post.rb. Models descend from
203
+ ActiveRecord::Base by default.
204
+
205
+ app/views
206
+ Holds the template files for the view that should be named like
207
+ weblogs/index.html.erb for the WeblogsController#index action. All views use
208
+ eRuby syntax by default.
209
+
210
+ app/views/layouts
211
+ Holds the template files for layouts to be used with views. This models the
212
+ common header/footer method of wrapping views. In your views, define a layout
213
+ using the <tt>layout :default</tt> and create a file named default.html.erb.
214
+ Inside default.html.erb, call <% yield %> to render the view using this
215
+ layout.
216
+
217
+ app/helpers
218
+ Holds view helpers that should be named like weblogs_helper.rb. These are
219
+ generated for you automatically when using generators for controllers.
220
+ Helpers can be used to wrap functionality for your views into methods.
221
+
222
+ config
223
+ Configuration files for the Rails environment, the routing map, the database,
224
+ and other dependencies.
225
+
226
+ db
227
+ Contains the database schema in schema.rb. db/migrate contains all the
228
+ sequence of Migrations for your schema.
229
+
230
+ doc
231
+ This directory is where your application documentation will be stored when
232
+ generated using <tt>rake doc:app</tt>
233
+
234
+ lib
235
+ Application specific libraries. Basically, any kind of custom code that
236
+ doesn't belong under controllers, models, or helpers. This directory is in
237
+ the load path.
238
+
239
+ public
240
+ The directory available for the web server. Contains subdirectories for
241
+ images, stylesheets, and javascripts. Also contains the dispatchers and the
242
+ default HTML files. This should be set as the DOCUMENT_ROOT of your web
243
+ server.
244
+
245
+ script
246
+ Helper scripts for automation and generation.
247
+
248
+ test
249
+ Unit and functional tests along with fixtures. When using the rails generate
250
+ command, template test files will be generated for you and placed in this
251
+ directory.
252
+
253
+ vendor
254
+ External libraries that the application depends on. Also includes the plugins
255
+ subdirectory. If the app has frozen rails, those gems also go here, under
256
+ vendor/rails/. This directory is in the load path.
@@ -0,0 +1,7 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+ require 'rake'
6
+
7
+ TestApp::Application.load_tasks
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run TestApp::Application
@@ -0,0 +1,42 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require 'rails/all'
4
+
5
+ # If you have a Gemfile, require the gems listed there, including any gems
6
+ # you've limited to :test, :development, or :production.
7
+ Bundler.require(:default, Rails.env) if defined?(Bundler)
8
+
9
+ module TestApp
10
+ class Application < Rails::Application
11
+ # Settings in config/environments/* take precedence over those specified here.
12
+ # Application configuration should go into files in config/initializers
13
+ # -- all .rb files in that directory are automatically loaded.
14
+
15
+ # Custom directories with classes and modules you want to be autoloadable.
16
+ # config.autoload_paths += %W(#{config.root}/extras)
17
+
18
+ # Only load the plugins named here, in the order given (default is alphabetical).
19
+ # :all can be used as a placeholder for all plugins not explicitly named.
20
+ # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
21
+
22
+ # Activate observers that should always be running.
23
+ # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
24
+
25
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
26
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
27
+ # config.time_zone = 'Central Time (US & Canada)'
28
+
29
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
30
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
31
+ # config.i18n.default_locale = :de
32
+
33
+ # JavaScript files you want as :defaults (application.js is always included).
34
+ # config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
35
+
36
+ # Configure the default encoding used in templates for Ruby 1.9.
37
+ config.encoding = "utf-8"
38
+
39
+ # Configure sensitive parameters which will be filtered from the log file.
40
+ config.filter_parameters += [:password]
41
+ end
42
+ end
@@ -0,0 +1,6 @@
1
+ require 'rubygems'
2
+
3
+ # Set up gems listed in the Gemfile.
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
5
+
6
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
@@ -0,0 +1,17 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3
3
+ development:
4
+ adapter: mysql
5
+ database: admin_assistant_dev
6
+ username: dev
7
+ password: dev
8
+
9
+ # Warning: The database defined as "test" will be erased and
10
+ # re-generated from your development database when you run "rake".
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ adapter: mysql
14
+ database: admin_assistant_test
15
+ username: test
16
+ password: test
17
+
@@ -0,0 +1,5 @@
1
+ # Load the rails application
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the rails application
5
+ TestApp::Application.initialize!
@@ -0,0 +1,8 @@
1
+ TestApp::Application.routes.draw do
2
+ namespace :admin do
3
+ resources :comments
4
+ resources :users
5
+ end
6
+
7
+ resources :blog_posts
8
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: admin_assistant
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 2
9
- - 3
10
- version: 2.2.3
9
+ - 4
10
+ version: 2.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Francis Hwang
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-09 00:00:00 -05:00
18
+ date: 2011-12-17 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -100,6 +100,16 @@ files:
100
100
  - rails_3_0/lib/tasks/.gitkeep
101
101
  - rails_3_0/public/stylesheets/.gitkeep
102
102
  - rails_3_0/vendor/plugins/.gitkeep
103
+ - rails_3_0_mysql/Gemfile
104
+ - rails_3_0_mysql/Gemfile.lock
105
+ - rails_3_0_mysql/README
106
+ - rails_3_0_mysql/Rakefile
107
+ - rails_3_0_mysql/config.ru
108
+ - rails_3_0_mysql/config/application.rb
109
+ - rails_3_0_mysql/config/boot.rb
110
+ - rails_3_0_mysql/config/database.yml
111
+ - rails_3_0_mysql/config/environment.rb
112
+ - rails_3_0_mysql/config/routes.rb
103
113
  - rails_3_1/app/mailers/.gitkeep
104
114
  - rails_3_1/lib/assets/.gitkeep
105
115
  - rails_3_1/lib/tasks/.gitkeep
@@ -222,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
232
  requirements: []
223
233
 
224
234
  rubyforge_project:
225
- rubygems_version: 1.6.2
235
+ rubygems_version: 1.4.2
226
236
  signing_key:
227
237
  specification_version: 3
228
238
  summary: admin_assistant is a Rails plugin that automates a lot of features typically needed in admin interfaces.