Rails, OpenID and Authlogic - ruby-on-rails

I've been following ryan baytes screencast #170 and adding ruby-openid, authlogic and authlogic-oid to an existing authlogic authentication system.
However, I keep getting the following stack of errors:
NameError (uninitialized constant OpenIdAuthentication::InvalidOpenId):
/Library/Ruby/Gems/1.8/gems/authlogic-oid-1.0.4/lib/authlogic_openid/session.rb:53:in openid_identifier='
/Library/Ruby/Gems/1.8/gems/authlogic-oid-1.0.4/lib/authlogic_openid/session.rb:47:incredentials='
authlogic (2.1.2) lib/authlogic/session/foundation.rb:28:in initialize'
authlogic (2.1.2) lib/authlogic/session/password.rb:140:ininitialize'
authlogic (2.1.2) lib/authlogic/session/activation.rb:48:in initialize'
authlogic (2.1.2) lib/authlogic/session/klass.rb:61:ininitialize'
authlogic (2.1.2) lib/authlogic/session/scopes.rb:79:in initialize'
app/controllers/user_sessions_controller.rb:10:innew'
app/controllers/user_sessions_controller.rb:10:in `create'
Is there anyone who's facing the same kind of problem? I'm using rails 2.3.4
I've tried binary's example app which is working perfectly well (rails 2.1.2), I've tried the code provided by Ryan Bates and it is working well too (rails 2.3.2). So, the libraries are working with previous versions of rails.
Any clues?

rails/open_id_authentication plugin has been updated a few days ago and it breaks compatibility with the authlogic_openid gem (v=1.0.4).
Youl'll have to wait until someone fix the authlogic_openid gem (the issue)

I have found this:
http://futureadapter.com/2009/11/13/authlogic-plugin-errorfix/
But I don't know how to apply this code ( were to I put it ? ) so that it fixes the authlogic_oid problem.
Can anyone check it out and see how to apply it?
Thanks.

Check this out:
http://testingauth.heroku.com/
Authlogic setup with openid and jquery selector.
Source:
http://github.com/shripadk/authlogic_openid_selector_example

Briefly... no
i guess there are too many dependent libraries and debugging the problem took a bit of time, so we shifted to using masquerade, making the app itself an openid provider.

Related

db:migrate - unknown keyword: :klass - arel issue

I'm having an issue with upgrading an old rails app to the latest one. My knowledge of rails is limited. As far as i'm aware, i'm running ruby 3.1 with rails 7.
ArgumentError: unknown keyword: :klass
/home/dan/.rvm/gems/ruby-3.1.2/gems/arel-9.0.0/lib/arel/table.rb:15:in `initialize'
I've looked around and found this problem mentioned here however i'm already running the latest version of it i thought? I'm not 100% sure on where i'm supposed to look at this point.
Arel is now a part of ActiveRecord so you no longer need the arel gem in your Gemfile. Removing that should get past this problem

undefined method `boolean_label_class=' for SimpleForm

Attempting to run migration for my Rails app pixel_paisan is getting an error reading; NoMethodError: undefined method `boolean_label_class=' for SimpleForm:Module. Gist for the trace at https://gist.github.com/nbarnes/9796454dc28be9792284. Source code for error-production app at https://github.com/nbarnes/pixel_paisan.
I've tried uninstalling and reinstalling simple_form, doesn't help. Update entire gemset, doesn't help. Different ruby versions via RVM, doesn't help. Plain vanilla Rails app, created in an attempt to reproduce the bug works fine. Google doesn't know about my issue.
Does anybody know anything about this? I'm rapidly running out of angles to attack it from.
Short answer: update your simple_form gem to 3.1.0+. You have simple_form (3.0.2)
Longer answer: See https://github.com/rafaelfranca/simple_form-bootstrap/issues/44 which seems to be someone who had the same issue where the answer is to upgrade to simple_form 3.1.0+ whereas your Gemfile has simple_form (3.0.2)

Need both aws-sdk and aws-s3 gem, but they conflict with one another

In my previous post undefined method `find' for AWS::S3::Bucket:Class we figured out that the Amazon S3 uploader I was creating required aws-s3 gem, but I also had aws-sdk gem installed and those two conflict with each other.
The problem is that I am also using Paperclip and after removing aws-sdk, I found that my app broke.
Is there a workaround? I've search on Stackoverflow but haven't found a good solution yet. Also found this blog, but it seems dated: http://davesouth.org/stories/paperclip-upgrade-breaks-amazon-s3-upload-and-how-to-fix-it
I have used the fog gem with paperclip successfully to store images on amazon. In fact I found it easier to get working than the AWS gem. You could try swapping out that for aws-sdk.
What version of paperclip and rails are you using?
I came across the same problem but when I upgraded my rails to 3.1.10 and paperclip to 3.4.0, it works just fine. There is no need for any work around.
Not sure that it is good idea, but you could try to downgrade your Paperclip to that version, which is using aws-s3... As far as I can tell 2.4.5 is latest.

Rails 3.2: Undefined method 'class_inheritable_accessor' in activemerchant

I'm building my first Rails app and trying to integrate active_paypal_adaptive_payment with Rails 3.2.1, however when I try to boot up the rails server it runs into the problem of, "undefined method 'class_inheritable_accessor' (in line 4 of post_date.rb) in the activemerchant-1.5.1 gem of which is a dependency.
I've looked around and seems this method has been removed in rails 3.2. From what I understand, it's not as simple as going into the activemerchant gem and replacing class_inheritable_accessor with class_attribute (read this conversation).
Any ideas on how I could update this gem so it could be compatible with Rails 3.2? It's an outstanding issue on the github page so appreciate any help with it!
This particular commit solved my issue: https://github.com/cmezak/active_paypal_adaptive_payment/commit/c6661704c45b73a0be5c608c673b106ac1eb5b69

Issue adding omniauth as middleware

All - I'm using Rails 2.3.5 and Devise. I'm trying to integrate Onmiauth into my system. I'm having issues adding it as middleware. The gem is installed as verfied by 'gem list'.
When I try to add 'use OmniAuth::Strategies::Twitter, 'CONSUMER_KEY', 'CONSUMER_SECRET'' to my environment.rb I get the following error:
in `activate': can't activate rack (~>
1.1, runtime) for ["oa-core-0.2.0", "omniauth-0.2.0"], already activated
rack-1.0.1 for ["actionpack-2.3.5",
"rails-2.3.5"] (Gem::LoadError)
I ran rake:middleware and it is not listed as a middleware.
Any ideas?
This seems really similar to a question I just answered. Rather than writing the answer twice I'll just paste the link to my answer for others to be able to see my best guess as to what's going on. Hopefully this will help with anyone coming across this via Google:
Incompatability between Rails 2.3.5 and Omniauth

Resources