Skip to content

Instantly share code, notes, and snippets.

@macournoyer
Created November 19, 2008 20:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macournoyer/26706 to your computer and use it in GitHub Desktop.
Save macournoyer/26706 to your computer and use it in GitHub Desktop.
From d8d28ef73fdd539e0d6a358b7e3f00ac5317842c Mon Sep 17 00:00:00 2001
From: macournoyer <macournoyer@gmail.com>
Date: Wed, 19 Nov 2008 15:43:45 -0500
Subject: [PATCH] Fix presentable_for so longest presentable name is matched first.
This makes sure subscripton_discount_ is matched before subscripton_.
---
.../lib/active_presenter/base.rb | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/active_presenter/base.rb b/lib/active_presenter/base.rb
index 961af3f..222beda 100644
--- a/lib/active_presenter/base.rb
+++ b/lib/active_presenter/base.rb
@@ -150,7 +150,7 @@ module ActivePresenter
end
def presentable_for(method_name)
- presented.keys.detect do |type|
+ presented.keys.sort_by { |k| k.to_s.size }.reverse.detect do |type|
method_name.to_s.starts_with?(attribute_prefix(type))
end
end
--
1.5.3.7-dirty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment