2011-07-02 1 views
0

OmniAuthは1.8.7と互換性があり、Rackベースです。 OmniAuthのカスタム戦略を作成しました。この戦略は、Ruby 1.8.7/REEで不幸な状態で実行されたときにSinatraを何とかしています。 1.8.7または1.9.2のRails 3でうまく動作し、1.9.2で動作するSinatraでも正しく動作します。Ruby 1.8.7を実行しているときにSinatraがOmniAuthをロードできないようにしています

私のカスタム戦略(まだ多少開発中)のソースコードはここにある:
https://github.com/stevenhaddox/oa-casport

サンプルシナトラアプリケーションのコードはここにある:
https://github.com/stevenhaddox/oa-casport-sinatra

任意の提案理由としてOmniAuth :: BuilderはRuby 1.8.7では不満ですが、OmniAuth自体と同じRubyプラットフォームをサポートしたいと思っています。

+0

1.9の互換性を確認しましたか? –

+0

依存関係は最小限(httparty、redis、およびoa-core)です。また、Ruby 1.8.7の下でRails 3でうまくロードされているようですので、これは別の宝石の依存関係とは直接関係していないと私に言います。 – stevenhaddox

+0

"不幸"とはどういう意味ですか? /誰かがこのエラーをどのように再現しますか? –

答えて

0

シナトラは、依存関係の多くを追加しますが、OmniAuthの宝石はルビーの多くのバージョンでシナトラとRailsで正しく動作するようになっているので、私は犯人であるとしてシナトラ依存性を除外しますが、私のOA-ではなく、何かカスケード宝石コードそのものが可能性が高い。

私のルビーの経験(間違いなく短いです)では、そのようなものにはカウントしないでください。 gemは~> x.yではなく>= x.yを指定するかもしれません。またはpickier構文であれば何でも構いません。あなたは非常によく1.9の依存関係に終わるかもしれません。そしてそれでもあなたはsurprisesを得るかもしれません。 すべての宝石が関わっていることを常に確認してください。

関連する問題