challah 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,15 +2,13 @@
2
2
 
3
3
  [![Build Status](https://secure.travis-ci.org/jdtornow/challah.png)](http://travis-ci.org/jdtornow/challah) [![Dependency Status](https://gemnasium.com/jdtornow/challah.png?travis)](https://gemnasium.com/jdtornow/challah)
4
4
 
5
- Challah (pronounced HAH-lah) is a simple Rails authentication gem with user, role and permission controls baked in. Most of the functionality within the gem lives within a Rails engine and tries to stay out of the way of your app.
5
+ Challah (pronounced HAH-lah) is a simple Rails authentication gem with user, role and permission controls baked in. Most of the functionality within the gem lives within a Rails engine and tries to stay out of the way of your app.
6
6
 
7
- ## Development Note
8
-
9
- Please note, this gem is still under development. Use at your own risk, for now.
7
+ Challah doesn't provide any fancy controllers or views that clutter your app or force you to display information a certain way. That part is up to you. The functionality within Challah is designed to be a starting point for users, roles, and permissions and you can tweak the rest to your app's needs.
10
8
 
11
9
  ## Requirements
12
10
 
13
- * Ruby 1.8.7+
11
+ * Ruby 1.8.7, 1.9.2 or 1.9.3
14
12
  * Bundler
15
13
  * Rails 3.1+
16
14
 
@@ -18,26 +16,177 @@ Please note, this gem is still under development. Use at your own risk, for now.
18
16
 
19
17
  gem install challah
20
18
 
21
- ### Set Up
19
+ Or, in your `Gemfile`
20
+
21
+ gem 'challah'
22
+
23
+ ## Set up
22
24
 
23
25
  Once the gem has been set up and installed, run the following command to set up the database migrations:
24
26
 
25
27
  rake challah:setup
26
28
 
27
- This will copy over the necessary migrations to your app, migrate the database and add some seeds.
29
+ This will copy over the necessary migrations to your app, migrate the database and add some seed data. You will be prompted to add the first user as the last step in this process.
30
+
31
+ ### Manual set up
28
32
 
29
33
  If you would prefer to handle these steps manually, you can do so by using these rake tasks instead:
30
34
 
31
35
  rake challah:setup:migrations
32
36
  rake db:migrate
33
37
  rake challah:setup:seeds
38
+ rake challah:users:create
39
+
40
+ ### Creating users, permissions and roles
41
+
42
+ Since Challah doesn't provide any controller and views for users, permissions and roles there are a few handy rake tasks you can use to create new records.
43
+
44
+ The following tasks will prompt for the various attributes in each model:
45
+
46
+ rake challah:permissions:create # => Create a new Permission record
47
+ rake challah:roles:create # => Create a new Role record
48
+ rake challah:users:create # => Creates a new User record
49
+
50
+ ## Models
51
+
52
+ Challah provides three core models to your app: Permission, Role and User. By default, these models are hidden away in the Challah gem engine, but you can always copy the models into your app to make further modifications to the functionality.
53
+
54
+ ### User
55
+
56
+ A user is anyone that needs to be able to authenticate (log in) to the application. Each user requires a first name, last name, email address, username, role and password.
57
+
58
+ By default a user is marked as "active" and is able to log in to your application. If the active status column is toggled to false, then this user is no longer able to log in. The active status column can be used as a soft-delete function for users.
59
+
60
+ Each user is assigned to exactly one `Role` and can also be assigned to multiple `Permission` objects as needed. Because a user can be assigned to a role (and therefore its permissions) *and* permissions on an ad-hoc basis, it is important to always check a user record for restrictions based on permissions and not to use roles as a mechanism for restricting functionality in your app.
61
+
62
+ ### Permission
63
+
64
+ A permission is used to identify something within your application that you would like to restrict to certain users. A permission does not inherently have any functionality of its own and is just used as a reference point for pieces of functionality in your app. A permission record requires the presence of a name and key.
65
+
66
+ A permission's key is used throughout Challah to refer to this permission. Each key (and name) must be unique and will be used later to restrict access to functionality. Permission keys must be lowercase and contain only letters, numbers, and underscores.
67
+
68
+ If there is a role named 'Administrator' in your app, all permissions will be available to that role. Any new permissions that are added will also be automatically added to the 'Administrator' role, so this is a great role to use for anyone that needs to be able to do everything within your app.
69
+
70
+ The default Challah installation creates two permissions by default: `admin` and `manage_users`.
71
+
72
+ ### Role
73
+
74
+ A role is used to group together various permissions and assign them to a user. Roles can also be thought of as user groups. Each role record requires a unique name.
75
+
76
+ Roles should only be used within your app to consolidate various permissions into logical groups. Roles are not intended to be used to restrict functionality, use permissions instead.
77
+
78
+ The default Challah installation creates two roles by default: 'Administrator' and 'Default'. Administrators have all permissions, now and in the future. Default users have no permissions other than being able to log in.
79
+
80
+ ## Restricted access
81
+
82
+ One of the main reasons to use a user- and permission-based system is to restrict access to certain portions of your application. Challah provides basic restriction methods for your controllers, views and directly from any User instance.
83
+
84
+ ### Checking for a current user
85
+
86
+ The basic way to restrict functionality within your app is to require that someone authenticate (log in) before they can see it. From within your controllers and views you can call the `current_user?` method to determine if someone has authenticated. This method doesn't care about who the user is, or what it has access to, just that it has successfully authenticated and is a valid user.
87
+
88
+ For example, restrict the second list item to only users that have logged in:
89
+
90
+ <ul>
91
+ <li><a href="/">Home</a></li>
92
+
93
+ <% if current_user? %>
94
+ <li><a href="/secret-stuff">Secret Stuff</a></li>
95
+ <% end %>
96
+
97
+ <li><a href="/public-stuff">Not-so-secret Stuff</a></li>
98
+ </ul>
99
+
100
+ Controllers can also be restricted using `before_filter`:
101
+
102
+ class WidgetsController < ApplicationController
103
+ before_filter :login_required
104
+
105
+ # …
106
+ end
107
+
108
+ Or, you can call `restrict_to_authenticated` instead, which does the same thing:
109
+
110
+ class WidgetsController < ApplicationController
111
+ restrict_to_authenticated
112
+
113
+ # ...
114
+ end
115
+
116
+ All normal Rails `before_filter` options apply, so you can always limit this restriction to a specific action:
117
+
118
+ class WidgetsController < ApplicationController
119
+ restrict_to_authenticated :only => [ :edit, :update, :destroy ]
120
+
121
+ # ...
122
+ end
123
+
124
+ ### Checking for a permission
125
+
126
+ Since Challah is a permissions-based system, all restricted access should be performed by testing a user for the given permission.
127
+
128
+ Anywhere you can access a user instance, you can use the `has` method and pass in a single permission key to test that user for access:
129
+
130
+ <ul>
131
+ <li><a href="/">Home</a></li>
132
+
133
+ <% if current_user? and current_user.has(:secret_stuff) %>
134
+ <li><a href="/secret-stuff">Secret Stuff</a></li>
135
+ <% end %>
136
+
137
+ <li><a href="/public-stuff">Not-so-secret Stuff</a></li>
138
+ </ul>
139
+
140
+ Notice that we checked for existance of the user before we checked to see if the user has a permission. If you used the `restrict_to_authenticated` method in your controller, you can likely skip this step.
141
+
142
+ Note: `current_user` will return `nil` if there is no user available, so checking for `current_user?` prevents you from calling `has` on `nil`.
143
+
144
+ For controller restrictions, use the `restrict_to_permission` method:
145
+
146
+ class WidgetsController < ApplicationController
147
+ restrict_to_permission :manage_widgets
148
+
149
+ # ...
150
+ end
151
+
152
+ The `restrict_to_permission` method will also fail if there is no user currently authenticated.
153
+
154
+ And, just as before, we can use the Rails filter options to limit the restriction to certain actions.
155
+
156
+ class WidgetsController < ApplicationController
157
+ restrict_to_permission :admin, :only => [ :destroy ]
158
+
159
+ # ...
160
+ end
161
+
162
+ And of course, you can stack up multiple restrictions get very specific about what your users can do:
163
+
164
+ # Everyone can view index,
165
+ # :manage_widgets users can perform basic editing
166
+ # and, only :admins can delete
167
+ #
168
+ class WidgetsController < ApplicationController
169
+ restrict_to_authenticated :only => [ :index ]
170
+ restrict_to_permission :manage_widgets, :except => [ :index, :destroy ]
171
+ restrict_to_permission :admin, :only => [ :destroy ]
172
+
173
+ # ...
174
+ end
175
+
176
+ Whichever method you use will yield the same results. Just make sure you are checking for a permission key, and not checking for a role. Checking for roles (i.e.: `user.role_id == 1`) is shameful practice. Use permissions!
177
+
178
+ ## Full documentation
179
+
180
+ Documentation is available at: [http://rubydoc.info/gems/challah](http://rubydoc.info/gems/challah/frames)
34
181
 
35
182
  ## Testing
36
183
 
37
- Challah is fully tested using Test::Unit, Shoulda and Mocha. To run the test suite, `bundle install` then run:
184
+ Challah is fully tested using Test Unit, Shoulda and Mocha. To run the test suite, `bundle install` then run:
38
185
 
39
186
  rake test
40
187
 
41
188
  ## License
42
189
 
43
- Challah is released under the [MIT license](http://www.opensource.org/licenses/MIT)
190
+ Challah is released under the [MIT license](http://www.opensource.org/licenses/MIT)
191
+
192
+ Contributions and pull-requests are more than welcome.
data/db/seeds.rb CHANGED
@@ -9,17 +9,4 @@ if Permission.count.zero? and Role.count.zero?
9
9
  PermissionRole.create!(:role_id => admin_role.id, :permission_id => manage_users_permission.id)
10
10
 
11
11
  normal_role = Role.create!(:name => 'Default', :description => 'Default users can log in to the application.', :default_path => '/')
12
- end
13
-
14
- if User.count.zero?
15
- User.create! :role_id => Role.admin.id,
16
- :first_name => 'Admin',
17
- :last_name => 'User',
18
- :username => 'admin',
19
- :email => 'admin@example.com',
20
- :password => 'abc123',
21
- :password_confirmation => 'abc123'
22
-
23
-
24
- puts "Added admin user (pw: abc123)"
25
12
  end
@@ -1,3 +1,3 @@
1
1
  module Challah
2
- VERSION = "0.2.1" unless defined?(::Challah::VERSION)
2
+ VERSION = "0.3.0" unless defined?(::Challah::VERSION)
3
3
  end
@@ -0,0 +1,155 @@
1
+ namespace :challah do
2
+ namespace :permissions do
3
+ desc "Create a new permission"
4
+ task :create => :environment do
5
+ check_for_tables
6
+ check_for_roles
7
+
8
+ banner('Creating a permission')
9
+
10
+ # Grab the required fields.
11
+ name = ask!('Name:')
12
+ key = name.to_s.parameterize.underscore
13
+ key = ask("Key [#{key}]:", key)
14
+ description = ask('Description [optional]:')
15
+ locked = ask('Lock this permission [Yes/No, Default: No]', 'No')
16
+
17
+ locked = locked.to_s.downcase.strip.first == 'y'
18
+
19
+ permission = Permission.new(:name => name, :key => key, :description => description, :locked => locked)
20
+
21
+ puts "\n"
22
+
23
+ if permission.save
24
+ puts "Role has been created successfully! [ID: #{permission.id}]"
25
+ else
26
+ puts "Role could not be added for the following errors:"
27
+ permission.errors.full_messages.each { |m| puts " - #{m}" }
28
+ end
29
+ end
30
+ end
31
+
32
+ namespace :roles do
33
+ desc "Create a new role"
34
+ task :create => :environment do
35
+ check_for_tables
36
+ check_for_roles
37
+
38
+ banner('Creating a role')
39
+
40
+ # Grab the required fields.
41
+ name = ask!('Name:')
42
+ description = ask('Description [optional]:')
43
+ path = ask('Default path [default: /]', '/')
44
+ locked = ask('Lock this role [Yes/No, Default: No]', 'No')
45
+
46
+ locked = locked.to_s.downcase.strip.first == 'y'
47
+
48
+ role = Role.new(:name => name, :description => description, :default_path => path, :locked => locked)
49
+
50
+ puts "\n"
51
+
52
+ if role.save
53
+ puts "Role has been created successfully! [ID: #{role.id}]"
54
+ else
55
+ puts "Role could not be added for the following errors:"
56
+ role.errors.full_messages.each { |m| puts " - #{m}" }
57
+ end
58
+ end
59
+ end
60
+
61
+ namespace :users do
62
+ desc "Create a new user"
63
+ task :create => :environment do
64
+ check_for_tables
65
+ check_for_roles
66
+
67
+ first_user = User.count == 0
68
+
69
+ banner('Creating a user')
70
+
71
+ if first_user
72
+ puts "Please answer the following questions to create your first admin user.\n\n"
73
+ end
74
+
75
+ # Grab the required fields.
76
+ first_name = ask!('First name:')
77
+ last_name = ask!('Last name:')
78
+ email = ask!('Email:')
79
+ username = ask('Username [leave blank to use email address]:', email)
80
+ password = ask('Password:')
81
+
82
+ role_id = Role.admin.id
83
+
84
+ # First user is always going to be an admin, otherwise ask for the role
85
+ unless first_user
86
+ role = ask_for_role
87
+ role_id = role.id if role
88
+ end
89
+
90
+ user = User.new(:first_name => first_name, :last_name => last_name, :email => email, :username => username, :role_id => role_id, :password => password, :password_confirmation => password)
91
+
92
+ puts "\n"
93
+
94
+ if user.save
95
+ puts "User has been created successfully! [ID: #{user.id}]"
96
+ else
97
+ puts "User could not be added for the following errors:"
98
+ user.errors.full_messages.each { |m| puts " - #{m}" }
99
+ end
100
+ end
101
+ end
102
+ end
103
+
104
+ def banner(msg)
105
+ puts "=========================================================================="
106
+ puts " #{msg}"
107
+ puts "==========================================================================\n\n"
108
+ end
109
+
110
+ def check_for_roles
111
+ unless Role.table_exists? and Role.count > 0 and !!Role.admin
112
+ unless admin
113
+ puts "Oops, you need to run `rake challah:setup` before you run this step, the administrator role is required."
114
+ exit 1
115
+ end
116
+ end
117
+ end
118
+
119
+ def check_for_tables
120
+ unless User.table_exists?
121
+ puts "Oops, you need to run `rake challah:setup` before you create a user. The users table is required."
122
+ exit 1
123
+ end
124
+ end
125
+
126
+ def role_names
127
+ @role_names ||= Role.all.collect(&:name).sort.join('|')
128
+ end
129
+
130
+ def ask_for_role
131
+ role_name = ask!("Role Name: [#{role_names}]")
132
+ role = Role.find_by_name(role_name)
133
+ return ask_for_role unless role
134
+ role
135
+ end
136
+
137
+ def ask!(question)
138
+ ask(question, nil, false)
139
+ end
140
+
141
+ def ask(question, default = nil, allow_blank = true)
142
+ print " -> #{question} "
143
+
144
+ result = STDIN.gets.chomp
145
+
146
+ if result.nil? or result.to_s.strip == ""
147
+ if allow_blank
148
+ return default
149
+ else
150
+ return ask(question, default, allow_blank)
151
+ end
152
+ else
153
+ return result
154
+ end
155
+ end
data/lib/tasks/setup.rake CHANGED
@@ -1,6 +1,6 @@
1
1
  namespace :challah do
2
2
  desc "Setup the challah gem within this rails app."
3
- task :setup => [ "challah:setup:migrations", "db:migrate", "challah:setup:seeds", "challah:banner" ]
3
+ task :setup => [ "challah:setup:migrations", "db:migrate", "challah:setup:seeds", "challah:users:create", "challah:banner" ]
4
4
 
5
5
  task :banner do
6
6
  banner = <<-str
@@ -8,7 +8,7 @@ namespace :challah do
8
8
  ==========================================================================
9
9
  Challah has been set up successfully!
10
10
 
11
- Your app now as a few new models:
11
+ Your app now has a few new models:
12
12
 
13
13
  - User
14
14
  - Role
@@ -16,12 +16,8 @@ namespace :challah do
16
16
 
17
17
  And some new routes set up for /login and /logout. You can use these
18
18
  for the built-in log in page or roll your own if you'd prefer.
19
-
20
- A default user with administrator permissions has been created with the
21
- following credentials:
22
-
23
- Username: admin
24
- Password: abc123
19
+
20
+ The user that you just created is ready to log in.
25
21
 
26
22
  ==========================================================================
27
23
 
@@ -74,7 +74,7 @@ EXEEXT =
74
74
  RUBY_BASE_NAME = ruby
75
75
  RUBY_INSTALL_NAME = ruby
76
76
  RUBY_SO_NAME = ruby
77
- arch = x86_64-darwin11.2.0
77
+ arch = x86_64-darwin11.3.0
78
78
  sitearch = $(arch)
79
79
  ruby_version = 1.9.1
80
80
  ruby = /Users/jdtornow/.rbenv/versions/1.9.2-p290/bin/ruby
@@ -74,7 +74,7 @@ EXEEXT =
74
74
  RUBY_BASE_NAME = ruby
75
75
  RUBY_INSTALL_NAME = ruby
76
76
  RUBY_SO_NAME = ruby
77
- arch = x86_64-darwin11.2.0
77
+ arch = x86_64-darwin11.3.0
78
78
  sitearch = $(arch)
79
79
  ruby_version = 1.9.1
80
80
  ruby = /Users/jdtornow/.rbenv/versions/1.9.2-p290/bin/ruby
@@ -74,7 +74,7 @@ EXEEXT =
74
74
  RUBY_BASE_NAME = ruby
75
75
  RUBY_INSTALL_NAME = ruby
76
76
  RUBY_SO_NAME = ruby
77
- arch = x86_64-darwin11.2.0
77
+ arch = x86_64-darwin11.3.0
78
78
  sitearch = $(arch)
79
79
  ruby_version = 1.9.1
80
80
  ruby = /Users/jdtornow/.rbenv/versions/1.9.2-p290/bin/ruby
@@ -74,7 +74,7 @@ EXEEXT =
74
74
  RUBY_BASE_NAME = ruby
75
75
  RUBY_INSTALL_NAME = ruby
76
76
  RUBY_SO_NAME = ruby
77
- arch = x86_64-darwin11.2.0
77
+ arch = x86_64-darwin11.3.0
78
78
  sitearch = $(arch)
79
79
  ruby_version = 1.9.1
80
80
  ruby = /Users/jdtornow/.rbenv/versions/1.9.2-p290/bin/ruby
@@ -1,6 +1,6 @@
1
1
  have_func: checking for random()... -------------------- yes
2
2
 
3
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
3
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
4
4
  checked program was:
5
5
  /* begin */
6
6
  1: #include "ruby.h"
@@ -8,7 +8,7 @@ checked program was:
8
8
  3: int main() {return 0;}
9
9
  /* end */
10
10
 
11
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
11
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
12
12
  checked program was:
13
13
  /* begin */
14
14
  1: #include "ruby.h"
@@ -22,7 +22,7 @@ checked program was:
22
22
 
23
23
  have_func: checking for srandom()... -------------------- yes
24
24
 
25
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
25
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
26
26
  checked program was:
27
27
  /* begin */
28
28
  1: #include "ruby.h"
@@ -36,7 +36,7 @@ checked program was:
36
36
 
37
37
  have_func: checking for rand()... -------------------- yes
38
38
 
39
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
39
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
40
40
  checked program was:
41
41
  /* begin */
42
42
  1: #include "ruby.h"
@@ -50,7 +50,7 @@ checked program was:
50
50
 
51
51
  have_func: checking for srand()... -------------------- yes
52
52
 
53
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
53
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
54
54
  checked program was:
55
55
  /* begin */
56
56
  1: #include "ruby.h"
@@ -74,7 +74,7 @@ EXEEXT =
74
74
  RUBY_BASE_NAME = ruby
75
75
  RUBY_INSTALL_NAME = ruby
76
76
  RUBY_SO_NAME = ruby
77
- arch = x86_64-darwin11.2.0
77
+ arch = x86_64-darwin11.3.0
78
78
  sitearch = $(arch)
79
79
  ruby_version = 1.9.1
80
80
  ruby = /Users/jdtornow/.rbenv/versions/1.9.2-p290/bin/ruby
@@ -1,6 +1,6 @@
1
1
  find_header: checking for sqlite3.h... -------------------- yes
2
2
 
3
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
3
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lpthread -ldl -lobjc "
4
4
  checked program was:
5
5
  /* begin */
6
6
  1: #include "ruby.h"
@@ -8,7 +8,7 @@ checked program was:
8
8
  3: int main() {return 0;}
9
9
  /* end */
10
10
 
11
- "/usr/bin/gcc-4.2 -E -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -o conftest.i"
11
+ "/usr/bin/gcc-4.2 -E -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -o conftest.i"
12
12
  checked program was:
13
13
  /* begin */
14
14
  1: #include "ruby.h"
@@ -20,7 +20,7 @@ checked program was:
20
20
 
21
21
  find_library: checking for sqlite3_libversion_number() in -lsqlite3... -------------------- yes
22
22
 
23
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
23
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
24
24
  conftest.c: In function ‘t’:
25
25
  conftest.c:5: error: ‘sqlite3_libversion_number’ undeclared (first use in this function)
26
26
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -34,7 +34,7 @@ checked program was:
34
34
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_libversion_number; return 0; }
35
35
  /* end */
36
36
 
37
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
37
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
38
38
  checked program was:
39
39
  /* begin */
40
40
  1: #include "ruby.h"
@@ -48,7 +48,7 @@ checked program was:
48
48
 
49
49
  have_func: checking for rb_proc_arity()... -------------------- yes
50
50
 
51
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
51
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
52
52
  checked program was:
53
53
  /* begin */
54
54
  1: #include "ruby.h"
@@ -62,7 +62,7 @@ checked program was:
62
62
 
63
63
  have_func: checking for sqlite3_initialize()... -------------------- yes
64
64
 
65
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
65
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
66
66
  conftest.c: In function ‘t’:
67
67
  conftest.c:5: error: ‘sqlite3_initialize’ undeclared (first use in this function)
68
68
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -76,7 +76,7 @@ checked program was:
76
76
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_initialize; return 0; }
77
77
  /* end */
78
78
 
79
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
79
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
80
80
  checked program was:
81
81
  /* begin */
82
82
  1: #include "ruby.h"
@@ -90,7 +90,7 @@ checked program was:
90
90
 
91
91
  have_func: checking for sqlite3_backup_init()... -------------------- yes
92
92
 
93
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
93
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
94
94
  conftest.c: In function ‘t’:
95
95
  conftest.c:5: error: ‘sqlite3_backup_init’ undeclared (first use in this function)
96
96
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -104,7 +104,7 @@ checked program was:
104
104
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_backup_init; return 0; }
105
105
  /* end */
106
106
 
107
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
107
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
108
108
  checked program was:
109
109
  /* begin */
110
110
  1: #include "ruby.h"
@@ -118,7 +118,7 @@ checked program was:
118
118
 
119
119
  have_func: checking for sqlite3_column_database_name()... -------------------- no
120
120
 
121
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
121
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
122
122
  conftest.c: In function ‘t’:
123
123
  conftest.c:5: error: ‘sqlite3_column_database_name’ undeclared (first use in this function)
124
124
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -132,10 +132,10 @@ checked program was:
132
132
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_column_database_name; return 0; }
133
133
  /* end */
134
134
 
135
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
135
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
136
136
  Undefined symbols for architecture x86_64:
137
137
  "_sqlite3_column_database_name", referenced from:
138
- _t in cc5OXPay.o
138
+ _t in ccPBYAWx.o
139
139
  ld: symbol(s) not found for architecture x86_64
140
140
  collect2: ld returned 1 exit status
141
141
  checked program was:
@@ -151,7 +151,7 @@ checked program was:
151
151
 
152
152
  have_func: checking for sqlite3_enable_load_extension()... -------------------- no
153
153
 
154
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
154
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
155
155
  conftest.c: In function ‘t’:
156
156
  conftest.c:5: error: ‘sqlite3_enable_load_extension’ undeclared (first use in this function)
157
157
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -165,10 +165,10 @@ checked program was:
165
165
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_enable_load_extension; return 0; }
166
166
  /* end */
167
167
 
168
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
168
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
169
169
  Undefined symbols for architecture x86_64:
170
170
  "_sqlite3_enable_load_extension", referenced from:
171
- _t in ccMzHzEw.o
171
+ _t in cczieiEE.o
172
172
  ld: symbol(s) not found for architecture x86_64
173
173
  collect2: ld returned 1 exit status
174
174
  checked program was:
@@ -184,7 +184,7 @@ checked program was:
184
184
 
185
185
  have_func: checking for sqlite3_load_extension()... -------------------- no
186
186
 
187
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
187
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
188
188
  conftest.c: In function ‘t’:
189
189
  conftest.c:5: error: ‘sqlite3_load_extension’ undeclared (first use in this function)
190
190
  conftest.c:5: error: (Each undeclared identifier is reported only once
@@ -198,10 +198,10 @@ checked program was:
198
198
  5: int t() { void ((*volatile p)()); p = (void ((*)()))sqlite3_load_extension; return 0; }
199
199
  /* end */
200
200
 
201
- "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
201
+ "/usr/bin/gcc-4.2 -o conftest -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/Users/jdtornow/.rbenv/versions/1.9.2-p290/include/ruby-1.9.1 -I. -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I'/Users/jdtornow/.rbenv/versions/1.9.2-p290/include' -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -pipe conftest.c -L. -L/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib -L. -L'/Users/jdtornow/.rbenv/versions/1.9.2-p290/lib' -lsqlite3 -lruby-static -lsqlite3 -lpthread -ldl -lobjc "
202
202
  Undefined symbols for architecture x86_64:
203
203
  "_sqlite3_load_extension", referenced from:
204
- _t in ccG1cDHK.o
204
+ _t in ccsjfpqZ.o
205
205
  ld: symbol(s) not found for architecture x86_64
206
206
  collect2: ld returned 1 exit status
207
207
  checked program was:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: challah
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-01 00:00:00.000000000Z
12
+ date: 2012-02-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70149328562240 !ruby/object:Gem::Requirement
16
+ requirement: &70264278209760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70149328562240
24
+ version_requirements: *70264278209760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70149328561680 !ruby/object:Gem::Requirement
27
+ requirement: &70264278209260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.9.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70149328561680
35
+ version_requirements: *70264278209260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bcrypt-ruby
38
- requirement: &70149328561220 !ruby/object:Gem::Requirement
38
+ requirement: &70264278208800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70149328561220
46
+ version_requirements: *70264278208800
47
47
  description: A simple ruby gem for authentication, users, roles and permissions.
48
48
  email:
49
- - jt@ovenbits.com
49
+ - john@johntornow.com
50
50
  executables: []
51
51
  extensions: []
52
52
  extra_rdoc_files: []
@@ -99,6 +99,7 @@ files:
99
99
  - lib/challah/techniques.rb
100
100
  - lib/challah/version.rb
101
101
  - lib/challah.rb
102
+ - lib/tasks/crud.rake
102
103
  - lib/tasks/setup.rake
103
104
  - vendor/bundle/bin/convert_to_should_syntax
104
105
  - vendor/bundle/bin/erubis