Re: [Radiant] trouble packaging extension as gem

2010-01-29 Thread Josh French
 thanks to some off-list help from Josh French the extension now works
 as either a gem or traditional vendored extension. the key change was
 just to add `unloadable` to the KramdownFilter class.

John, I just pushed a change which should make that unnecessary. Gem  
extensions are now automatically unloaded, just like vendored  
extensions. Gold star for finding the issue!

j



___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


[Radiant] trouble packaging extension as gem

2010-01-26 Thread Josh French
 i'm at loss now for why it's not appearing in the drop down when
 loaded as a gem. no errors or anything unusual just a missing filter.

I'm actually at a loss as to why it would appear when vendored if  
you're not explicitly loading that subclass. Radiant doesn't do any  
pre-loading of filter subclasses in the way that it automatically  
seeks out and loads Page subclasses. If you look at the textile and  
markdown extensions that ship within core, you'll see that both of  
them explicitly load the filter subclass within their #activate  
methods. It'll be safer to follow their example.

j




___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


Re: [Radiant] trouble packaging extension as gem

2010-01-26 Thread john muhl
On Tue, Jan 26, 2010 at 8:32 AM, Josh French j...@digitalpulp.com wrote:
 i'm at loss now for why it's not appearing in the drop down when
 loaded as a gem. no errors or anything unusual just a missing filter.

 I'm actually at a loss as to why it would appear when vendored if
 you're not explicitly loading that subclass. Radiant doesn't do any
 pre-loading of filter subclasses in the way that it automatically
 seeks out and loads Page subclasses. If you look at the textile and
 markdown extensions that ship within core, you'll see that both of
 them explicitly load the filter subclass within their #activate
 methods. It'll be safer to follow their example.

huh? so you mean this:

---
require 'kramdown'

class KramdownFilterExtension  Radiant::Extension
  version 1.0
  description kramdown is a fast pure-Ruby Markdown converter.
  url http://kramdown.rubyforge.org/index.html;

  def activate
KramdownFilter
  end
end
---

is not explicitly enough? i can't see how that is any different to
what the markdown or textile extensions do but i guess it's not. could
someone explain how to make it explicit enough for the gem loader?

textile_filter
---
class TextileFilterExtension  Radiant::Extension
  version 1.0
  description Allows you to compose page parts or snippets using the
Textile text filter.
  url http://textism.com/tools/textile/;

  def activate
TextileFilter
Page.send :include, TextileTags
  end
end
---

markdown_filter
---
class MarkdownFilterExtension  Radiant::Extension
  version 1.0
  description Allows you to compose page parts or snippets using the
Markdown or SmartyPants text filters.
  url http://daringfireball.net/projects/markdown/;

  def activate
MarkdownFilter
SmartyPantsFilter
Page.send :include, MarkdownTags
  end
end
---
___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


Re: [Radiant] trouble packaging extension as gem

2010-01-26 Thread john muhl
just noticed that extracting the textile_filter extension out into a
gem also fails in the exact same ways that i've run into...

On Tue, Jan 26, 2010 at 9:13 AM, john muhl johnm...@gmail.com wrote:
 On Tue, Jan 26, 2010 at 8:32 AM, Josh French j...@digitalpulp.com wrote:
 i'm at loss now for why it's not appearing in the drop down when
 loaded as a gem. no errors or anything unusual just a missing filter.

 I'm actually at a loss as to why it would appear when vendored if
 you're not explicitly loading that subclass. Radiant doesn't do any
 pre-loading of filter subclasses in the way that it automatically
 seeks out and loads Page subclasses. If you look at the textile and
 markdown extensions that ship within core, you'll see that both of
 them explicitly load the filter subclass within their #activate
 methods. It'll be safer to follow their example.

 or are you talking about this not being explicit enough?

 ---
 class KramdownFilter  TextFilter
  description_file File.dirname(__FILE__) + /../markdown.html
  def filter(text)
    Kramdown::Document.new(RubyPants.new(text).to_html).to_html
  end
 end
 ---

 textile_filter
 ---
 class TextileFilter  TextFilter
  description_file File.dirname(__FILE__) + /../textile.html
  def filter(text)
    RedCloth.new(text).to_html
  end
 end
 ---

 markdown_filter
 ---
 class MarkdownFilter  TextFilter
  description_file File.dirname(__FILE__) + /../markdown.html
  def filter(text)
    if defined? RDiscount
      RDiscount.new(text, :smart).to_html
    else
      RubyPants.new(BlueCloth.new(text).to_html).to_html
    end
  end
 end
 ---

 again looks the same to me.

___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org

[Radiant] trouble packaging extension as gem

2010-01-26 Thread Josh French
 def activate
KramdownFilter
  end

 is not explicitly enough?

Sorry, misread your post. Yes, this is correct, and you shouldn't need  
to do anything else.

 just noticed that extracting the textile_filter extension out into a
 gem also fails in the exact same ways that i've run into...

I'll investigate. Thanks for giving the new extension system a  
thorough test-drive!

j
___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


[Radiant] trouble packaging extension as gem

2010-01-25 Thread john muhl
i hope someone can point out what stupid thing i've done in my first
attempt to package an extension as a gem.

http://gist.github.com/286072

the extension works fine as a regular extension.
i'm trying this on the edge (current as of about an hour ago).
___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


Re: [Radiant] trouble packaging extension as gem

2010-01-25 Thread Jim Gay
On Jan 25, 2010, at 1:08 PM, john muhl wrote:

 i hope someone can point out what stupid thing i've done in my first
 attempt to package an extension as a gem.
 
 http://gist.github.com/286072
 
 the extension works fine as a regular extension.
 i'm trying this on the edge (current as of about an hour ago).

It's probably a load order problem.
Radiant adds the method to_name to String and perhaps it doesn't exist when 
KramdownFilter is loaded.

http://github.com/radiant/radiant/blob/master/lib/plugins/string_extensions/lib/string_extensions.rb#L10-L12

Perhaps you can require that file in the extension, or maybe Radiant needs to 
address this by changing the load order ( since extensions as gems is the 
future).

-Jim

Jim Gay
http://www.saturnflyer.com
___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


Re: [Radiant] trouble packaging extension as gem

2010-01-25 Thread Sean Cribbs
Actually, I imagine :lib = false would do the trick -- gem requirements 
are loaded before extensions.  As long as your extension file explicitly 
loads that text filter, you should be fine.

Sean

On 1/25/10 1:51 PM, Jim Gay wrote:
 On Jan 25, 2010, at 1:08 PM, john muhl wrote:


 i hope someone can point out what stupid thing i've done in my first
 attempt to package an extension as a gem.

 http://gist.github.com/286072

 the extension works fine as a regular extension.
 i'm trying this on the edge (current as of about an hour ago).
  
 It's probably a load order problem.
 Radiant adds the method to_name to String and perhaps it doesn't exist when 
 KramdownFilter is loaded.

 http://github.com/radiant/radiant/blob/master/lib/plugins/string_extensions/lib/string_extensions.rb#L10-L12

 Perhaps you can require that file in the extension, or maybe Radiant needs to 
 address this by changing the load order ( since extensions as gems is the 
 future).

 -Jim

 Jim Gay
 http://www.saturnflyer.com
 ___
 Radiant mailing list
 Post: Radiant@radiantcms.org
 Search: http://radiantcms.org/mailing-list/search/
 List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
 Radiant: http://radiantcms.org
 Extensions: http://ext.radiantcms.org



___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org


Re: [Radiant] trouble packaging extension as gem

2010-01-25 Thread john muhl
both suggestions seem to fix the boot problem but now i don't see the
new filter in the drop down. although i do see the extension listed on
the extensions page.

On Mon, Jan 25, 2010 at 1:05 PM, Sean Cribbs seancri...@gmail.com wrote:
 Actually, I imagine :lib = false would do the trick -- gem requirements
 are loaded before extensions.  As long as your extension file explicitly
 loads that text filter, you should be fine.

 Sean

 On 1/25/10 1:51 PM, Jim Gay wrote:
 On Jan 25, 2010, at 1:08 PM, john muhl wrote:


 i hope someone can point out what stupid thing i've done in my first
 attempt to package an extension as a gem.

 http://gist.github.com/286072

 the extension works fine as a regular extension.
 i'm trying this on the edge (current as of about an hour ago).

 It's probably a load order problem.
 Radiant adds the method to_name to String and perhaps it doesn't exist 
 when KramdownFilter is loaded.

 http://github.com/radiant/radiant/blob/master/lib/plugins/string_extensions/lib/string_extensions.rb#L10-L12

 Perhaps you can require that file in the extension, or maybe Radiant needs 
 to address this by changing the load order ( since extensions as gems is the 
 future).

 -Jim

 Jim Gay
 http://www.saturnflyer.com
 ___
 Radiant mailing list
 Post: Radiant@radiantcms.org
 Search: http://radiantcms.org/mailing-list/search/
 List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
 Radiant: http://radiantcms.org
 Extensions: http://ext.radiantcms.org



 ___
 Radiant mailing list
 Post: Radiant@radiantcms.org
 Search: http://radiantcms.org/mailing-list/search/
 List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
 Radiant: http://radiantcms.org
 Extensions: http://ext.radiantcms.org

___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org

Re: [Radiant] trouble packaging extension as gem

2010-01-25 Thread john muhl
by explicitly loads that text filter you just mean having:

def activate
  KramdownFilter
end

right?

i'm at loss now for why it's not appearing in the drop down when
loaded as a gem. no errors or anything unusual just a missing filter.

On Mon, Jan 25, 2010 at 1:05 PM, Sean Cribbs seancri...@gmail.com wrote:
 Actually, I imagine :lib = false would do the trick -- gem requirements
 are loaded before extensions.  As long as your extension file explicitly
 loads that text filter, you should be fine.

 Sean

 On 1/25/10 1:51 PM, Jim Gay wrote:
 On Jan 25, 2010, at 1:08 PM, john muhl wrote:


 i hope someone can point out what stupid thing i've done in my first
 attempt to package an extension as a gem.

 http://gist.github.com/286072

 the extension works fine as a regular extension.
 i'm trying this on the edge (current as of about an hour ago).

 It's probably a load order problem.
 Radiant adds the method to_name to String and perhaps it doesn't exist 
 when KramdownFilter is loaded.

 http://github.com/radiant/radiant/blob/master/lib/plugins/string_extensions/lib/string_extensions.rb#L10-L12

 Perhaps you can require that file in the extension, or maybe Radiant needs 
 to address this by changing the load order ( since extensions as gems is the 
 future).

 -Jim

 Jim Gay
 http://www.saturnflyer.com
 ___
 Radiant mailing list
 Post: Radiant@radiantcms.org
 Search: http://radiantcms.org/mailing-list/search/
 List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
 Radiant: http://radiantcms.org
 Extensions: http://ext.radiantcms.org



 ___
 Radiant mailing list
 Post: Radiant@radiantcms.org
 Search: http://radiantcms.org/mailing-list/search/
 List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
 Radiant: http://radiantcms.org
 Extensions: http://ext.radiantcms.org

___
Radiant mailing list
Post: Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
List Site: http://lists.radiantcms.org/mailman/listinfo/radiant
Radiant: http://radiantcms.org
Extensions: http://ext.radiantcms.org