<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lang.ruby.ramaze.general">
    <title>gmane.comp.lang.ruby.ramaze.general</title>
    <link>http://blog.gmane.org/gmane.comp.lang.ruby.ramaze.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1649"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1648"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1647"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1646"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1645"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1644"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1643"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1642"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1641"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1640"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1639"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1638"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1637"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1636"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1635"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1634"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1633"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1632"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1631"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1630"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1649">
    <title>Re: Ramaze a/r helpers</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1649</link>
    <description>&lt;pre&gt;Jeff,

The method a() is used to create an anchor tag, r() merely returns a URL
object. Some examples:

    Posts.a('Posts overview', :index)
    # =&amp;gt; '&amp;lt;a href="/posts"&amp;gt;Posts overview&amp;lt;/a&amp;gt;'

    Posts.r(:index).to_s # =&amp;gt; /posts/index

Yorick

On 27-04-12 21:36, Jeff Nixon wrote:

&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-27T19:52:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1648">
    <title>Ramaze a/r helpers</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1648</link>
    <description>&lt;pre&gt;What is the difference between a Controller.a method like  #{UsersController.a('Remove', 
:remove_target, tgt.id)} and a Controller.r method? I'm pretty new to 
Ramaze and i'm just wondering when the best time to use each of them is.

Thanks!

&lt;/pre&gt;</description>
    <dc:creator>Jeff Nixon</dc:creator>
    <dc:date>2012-04-27T19:36:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1647">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1647</link>
    <description>&lt;pre&gt;Yorick -

Interestingly I switched out the sequel cache adapter for the redis one with the latest release and this behaviour has righted itself, which leads me to believe that perhaps there is an issue with the sequel cache. 

I will try and put together a small example to demonstrate this. 

Cheers,

Kez

On 12 Apr 2012, at 18:37, Yorick Peterse &amp;lt;yorickpeterse-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:


&lt;/pre&gt;</description>
    <dc:creator>Kester Dobson</dc:creator>
    <dc:date>2012-04-21T18:24:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1646">
    <title>Re: Ramaze help</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1646</link>
    <description>&lt;pre&gt;Jeff,

Using the default template engine (Etanni) you can put arbitrary Ruby
code in your views using the following two tags:

* #{}: evaluates the Ruby expression and displays the value
* &amp;lt;?r ?&amp;gt;: used for statements such as "if", loops, etc

In your case this means you can do something like the following:

    &amp;lt;?r if session[:logged_in] ?&amp;gt;

    &amp;lt;p&amp;gt;This will only be displayed if you are logged in.&amp;lt;/p&amp;gt;

    &amp;lt;?r end ?&amp;gt;

Yorick

On 20-04-12 22:40, Jeff Nixon wrote:

&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-20T21:11:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1645">
    <title>Ramaze help</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1645</link>
    <description>&lt;pre&gt;I want to conditionally display content in a view based on a session 
variable. I'm not clear at this stage if there is a built in template 
language that would allow me to use conditional statements. Below is my 
first stab at the controller and view code. Can you point me in the right 
direction for documentation or examples? Any insight is much appreciated.

controller/presentationtest.rb:

class PresentationsController &amp;lt; Ramaze::Controller
map '/presentations'
  def authenticate(password)
  if password = 'ammpresentations'
  session[:logged_in] = true
  end
  end
end

view/presentations.xhtml:

&amp;lt;p&amp;gt;
Please login below to view the Presentations. 
&amp;lt;/p&amp;gt;

&amp;lt;form action="#{PresentationsController.r(:authenticate)}" method="POST"&amp;gt;
    &amp;lt;label for="password"&amp;gt;Password&amp;lt;/label&amp;gt;
    &amp;lt;input type="password" name="password" /&amp;gt;

    &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;

    &amp;lt;input type="submit" value="Login" /&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;!-- conditional check goes here; logged_in = true --&amp;gt;

// here is the content that will be displayed, once you enter password //

&amp;lt;a href="#" &amp;gt;Presentation 1&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;a href="#" &amp;gt;Presentation 2&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;a href="#" &amp;gt;Presentation 3&amp;lt;/a&amp;gt; 

&amp;lt;!-- end of conditional section --&amp;gt; 

&lt;/pre&gt;</description>
    <dc:creator>Jeff Nixon</dc:creator>
    <dc:date>2012-04-20T20:40:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1644">
    <title>Ramaze 2012.04.14</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1644</link>
    <description>&lt;pre&gt;Rubyists,

Ramaze 2012.04.14 was just released, this release is mostly a bug fix
release. This release does not contain any of the Innate/Ramaze
improvements as mentioned in the previous release announcement, those
will be put in the next release (of which the date has not yet been
confirmed).

## Changelog

* The Redis adapter (Ramaze::Cache::Redis) has been fixed so that it
  works with sessions, previously this would result in "Can't convert
  into symbol" errors and the like. This problem was caused by not
  encoding data using Marshal. Thanks to EdvardM for reporting the
  issue.
* The Redis cache adapter namespaces keys just like the other adapters.
* Ramaze::Cache::MemCache has been updated for the latest version of
  Dalli and should no longer display deprecation warnings. The minimum
  required version of Dalli has been set to at least 2.0.2.
* Various documentation improvements and additions.
* The HTML of the pagination helper can now be customized, thanks to
  Leucos and bougyman for adding it.

I also like to remind you that the next release of Ramaze will *not* be
backwards compatible with previous releases. This is because manveru
made a few changes to Innate that make it *a lot* faster, this change
however, required the removal of the middleware compiler (in order to
keep Innate under 2k LOC). In the coming days Ramaze will be updated so
that it will work properly with these changes. An announcement will be
made when these changes have been comitted so that developers can
prepare for this release.

As always, for any information or questions you're more than welcome to
join the IRC channel #ramaze on freenode.

Yorick

&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-14T17:44:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1643">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1643</link>
    <description>&lt;pre&gt;Dear Kez,

I'm not entirely sure if I fully understand the logic of your
authenticate method, does it work when you change it to the following?:

    def self.authenticate(hash)
      email, pass = hash['login'], hash['password']

      if user = User[:email =&amp;gt; email]
        if user.authenticated?(pass)
          return user
        else
          return false
        end
      else
        return false
      end
    end

I'm not sure if this changes anything but it's worth a try.

Yorick

On 12-04-12 19:29, kez wrote:
&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-12T17:37:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1642">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1642</link>
    <description>&lt;pre&gt;Thanks Yorick.  I should have pasted code out of my user model; sorry. 
 This is what I have:

  # Try and authenticate ourselves
  def self.authenticate(hash)
    email, pass = hash['login'], hash['password']
    
    if user = ::User[:email =&amp;gt; email]
      return user unless pass
      user if user.authenticated?(pass)
    end
  end


Where user.authenticated? is a bcrypt password conversion between what's in 
the DB and what the user gave us. 

I also just changed my logic in the Controller class to this:

 def login_or_user(login)
   user = nil
  
   if login
     user = ::User[:email =&amp;gt; login]
   elsif logged_in?
     user
   else
     nil
   end
  end

Which doesn't seem to make much difference :[

Cheers,

kez

On Thursday, 12 April 2012 18:17:55 UTC+1, Yorick Peterse wrote:

&lt;/pre&gt;</description>
    <dc:creator>kez</dc:creator>
    <dc:date>2012-04-12T17:29:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1641">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1641</link>
    <description>&lt;pre&gt;Dear Kez,

The authentication method should not store any objects in an instance of
a controller as that could conflict with other data (although it
shouldn't conflict with different sessions). In other words, this is
wrong:

    class User &amp;lt; Sequel::Model
      def self.authenticate(creds)
        # This assumes you're not hashing passwords (or supplying pre
        # hashed ones), *DON'T* use this in production.
        &amp;lt; at &amp;gt;user = User[
          :email    =&amp;gt; creds['email'],
          :password =&amp;gt; creds['password']
        ]

        if user
          return &amp;lt; at &amp;gt;user
        else
          return false
        end
      end
    end

This however is correct (note the use of local variables):

    class User &amp;lt; Sequel::Model
      def self.authenticate(creds)
        # This assumes you're not hashing passwords (or supplying pre
        # hashed ones), *DON'T* use this in production.
        user = User[
          :email    =&amp;gt; creds['email'],
          :password =&amp;gt; creds['password']
        ]

        if user
          return user
        else
          return false
        end
      end
    end

The reason the former is incorrect is that the instance variables will
be saved on class level (since the authenticate method is a class
method), this means that once it's set it's available for other users
(or more precisely, requests) as well.

If you want to access the user object after a user has been logged in
you can do so by simply calling `user` inside your controller, this is a
method that returns the user object for the current session.

Yorick

On 12-04-12 18:55, kez wrote:
&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-12T17:17:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1640">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1640</link>
    <description>&lt;pre&gt;Hi Yorick -

Yup, using:

  user_login(request.subset(:login, :password))

To actually do the login.  My login or user is like this:

  def login_or_user(login)
   &amp;lt; at &amp;gt;user = nil
  
   if login
     &amp;lt; at &amp;gt;user = User[:email =&amp;gt; login]
   elsif logged_in?
     &amp;lt; at &amp;gt;user = user
   else
     nil
   end
  end

Not sure if that should be ::User or not?  The same behaviour happens 
without the caching via Sequel, too.

Do you know of any up to date sample code for the User helper?  I'm 
on 2012.03.07

Cheers,

- kez


On Thursday, 12 April 2012 15:36:58 UTC+1, Yorick Peterse wrote:

&lt;/pre&gt;</description>
    <dc:creator>kez</dc:creator>
    <dc:date>2012-04-12T16:55:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1639">
    <title>Re: Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1639</link>
    <description>&lt;pre&gt;Dear Kez,

Sessions are tied to a session ID, this session ID is stored in a cookie
in the browser. How are you authenticating users, are you using the User
helper?

Yorick

On 12-04-12 16:03, kez wrote:

&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-12T14:36:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1638">
    <title>Conflicting sessions?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1638</link>
    <description>&lt;pre&gt;Hello -

I am using Sequel to store session objects (Ramaze::Cache.options.session = 
Ramaze::Cache::Sequel.using(...)) and am experiencing session 
overwriting/conflicts between browsers.  E.g.:

 - Open Safari and log in as User 1
 - Open Firefox and log in as User 2
 - Switch back to Safari and refresh; We are now running as User 2

Am I right in thinking that the session ID is keyed off the IP of the user 
logging in, so the most recent matching key in the session store wins out? 
(e.g. User 2).

Do I need to somehow tie the session to a cookie stored on a per-browser 
basis?  I (obviously) do not have a great understanding of this stuff, so 
any insight would be greatly appreciated.  What I am looking for is 
something similar to how Google behaves (multiple browsers can have 
different users logged in).

Cheers!

- kez

&lt;/pre&gt;</description>
    <dc:creator>kez</dc:creator>
    <dc:date>2012-04-12T14:03:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1637">
    <title>Re: Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1637</link>
    <description>&lt;pre&gt;Lucas,

Ramaze maps controllers, methods and parameters to URLs:

    class Posts &amp;lt; Ramaze::Controller
      map '/posts'

      def index
        # ...
      end

      def edit(id)

      end
    end

In this example the URL for editing an existing post would be
/posts/edit/10 (where 10 is the ID of the post). If you want the ID to
come before the method you can use Ramaze::Route
(http://ramaze.net/documentation/file.routes.html) to provide an extra
route for this:

    Ramaze::Route[%r{/posts/(\d+)/edit}] = '/posts/edit/%s'

If there are any other segments after the /edit part you might want to
use lambda routes instead as regex based routes only use the first
matched group for replacing placeholder values (due to the use of
#match() instead of #scan()):

    Ramaze::Route['Posts Controller'] = lambda do |path, request|
      if path =~ %r{/posts/(\d+)/([a-zA-Z_]*)(/.+)*}
        return "/posts/#{$2}/#{$1}/#{$3}"
      end

      return path
    end

This allows you to use URLs such as /posts/10/edit/example/and/so/on.
It's a bit more complex than you might hope for but it also gives you
some extra flexibility.

Yorick

On 07-04-12 00:25, Lucas Sampaio wrote:
&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-06T22:44:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1636">
    <title>Re: Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1636</link>
    <description>&lt;pre&gt;Hello,

That makes sense, thank you. About routing, how can I get named parameters
in url's? Like "/users/:id/edit"...

Att,
*Lucas S. Magalhães*
Graduando de Engenharia de Computação, 2009/1
Tel.: (27) 9942-8278
Skype: lucassmagal



Em 6 de abril de 2012 18:49, Yorick Peterse &amp;lt;yorickpeterse-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;escreveu:


&lt;/pre&gt;</description>
    <dc:creator>Lucas Sampaio</dc:creator>
    <dc:date>2012-04-06T22:25:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1635">
    <title>Re: Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1635</link>
    <description>&lt;pre&gt;Lucas,

Simply put: these things don't exist in Ramaze. Ramaze's routing system
doesn't rely on developers explicitly defining which classes and which
methods are available for routes, instead a controller is mapped to a
URI and all public instance methods become available for HTTP requests.

For example, in Rails you might do something like the following:

    class Posts &amp;lt; ApplicationController
      def index

      end

      def not_me

      end
    end

    resource :posts, :except =&amp;gt; [:not_me]

In Ramaze you'd do the following instead:

    class Posts &amp;lt; Ramaze::Controller
      map '/posts'

      def index

      end

      private

      def not_me

      end
    end

Because Posts#not_me is declared as private Ramaze will not allow users
to access the method using HTTP requests, this works similar to Rails'
:except parameter (though it feels much more natural).

This behaviour means you don't have to create special methods and call
these, you simply declare your methods the way they're supposed to be
declared.


This is something that, although possible, does not come with Ramaze
itself. The reason for this is that unlike Rails Ramaze doesn't make any
assumptions about what database toolkit you're using. Because Rails
assumes ActiveRecord it's possible to ship these sort of helpers out of
the box but in the case of Ramaze that would probably lead to overly
complex code that most might never use.

Having said that, there is an alternative (of which I feel that it's
more correct): Ramaze::Controller.r() and Ramaze::Controller.a(). The
first method can be used to return an object containing the URL details
of a given method and a set of parameters, the second method can be used
to turn these details into an anchor tag along with some text. Some
examples:

    Posts.r(:index).to_s    # =&amp;gt; /posts/index
    Posts.r(:edit, 10).to_s # =&amp;gt; /posts/edit/10

Creating anchor tags:

    Posts.a('Posts', :index) # =&amp;gt; &amp;lt;a href="/posts/index"&amp;gt;Posts&amp;lt;/a&amp;gt;

Yorick

On 06-04-12 23:18, Lucas Sampaio wrote:
&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-06T21:49:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1634">
    <title>Re: Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1634</link>
    <description>&lt;pre&gt;Well, I'm wondering if I can create routes like Rails resources, something
like including:
"resource :user"

In a User controller create for me seven routes, just like Rails do. If I
don't wan't some route, I write:
"resource :user, except=&amp;gt;[:new, :edit]"
or something like that.

My goal is create my common routes using a single command. How can I do
that?

More: how can I use "respond_with &amp;lt; at &amp;gt;user" and Ramaze give me an edit page
with "/user/:id" url?

That's the two features that I really miss from Rails.

Att,
*Lucas S. Magalhães*
Graduando de Engenharia de Computação, 2009/1
Tel.: (27) 9942-8278
Skype: lucassmagal



Em 6 de abril de 2012 16:39, Yorick Peterse &amp;lt;yorickpeterse-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;escreveu:


&lt;/pre&gt;</description>
    <dc:creator>Lucas Sampaio</dc:creator>
    <dc:date>2012-04-06T21:18:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1633">
    <title>Re: Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1633</link>
    <description>&lt;pre&gt;Lucas,

What exactly do you want to extend?

Yorick

On 06-04-12 20:52, Lucas Sampaio wrote:

&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-04-06T19:39:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1632">
    <title>Ramaze Plugin</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1632</link>
    <description>&lt;pre&gt;Hello everybody,

I'm starting to program in Ruby and I'm really impressed with Ramaze's 
simplicity and flexibility, and I wan't to spend my time with this 
framework. But I can't found any doc about plugins... is it possible in 
Ramaze? How can I extend it's functionality through plugins or even gems?

Att,
Lucas Sampaio

&lt;/pre&gt;</description>
    <dc:creator>Lucas Sampaio</dc:creator>
    <dc:date>2012-04-06T18:52:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1631">
    <title>Re: How to define a custom helper and use for view?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1631</link>
    <description>&lt;pre&gt;hhuai,

Seems you're right, probably forgot adding that. Adding helpers is
fairly simple and requires two things: a helpers directory (by default
Ramaze searches for "helper" in its root directories) and a module with
the following skeleton:

    module Ramaze
      module Helper
        module YourHelperNameGoesHere

        end
      end
    end

Save this file in ./helper/your_helper_name_goes_here.rb and you can
load it as following:

    class YourController &amp;lt; Ramaze::Controller
      helper :your_helper_name_goes_here
    end

Yorick

On 03/27/2012 03:40 AM, hhuai wrote:
&lt;/pre&gt;</description>
    <dc:creator>Yorick Peterse</dc:creator>
    <dc:date>2012-03-27T07:55:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1630">
    <title>Re: How to define a custom helper and use for view?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1630</link>
    <description>&lt;pre&gt;
through read this src "/home/ramaze/g/innate_git/lib/innate/helper.rb"
i found ramaze can autoload helper dir's helper. follow is my solution way.

cd {your project path}
mkdir helper

touch helper/mycustom.rb
content:
module Ramaze
  module  Helper
    modulde MyCustom
       def hello; p 'hello'; end
   end
  end
end

at controller:

helper:mycoustom


在 2012年3月27日星期二UTC+8上午3时43分03秒，Yorick Peterse写道：

&lt;/pre&gt;</description>
    <dc:creator>hhuai</dc:creator>
    <dc:date>2012-03-27T02:13:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1629">
    <title>Re: How to define a custom helper and use for view?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.ruby.ramaze.general/1629</link>
    <description>&lt;pre&gt;Yes, i read it careful.  is only teach me how to use it .  not for create 
my private custom helper .

在 2012年3月27日星期二UTC+8上午3时43分03秒，Yorick Peterse写道：

&lt;/pre&gt;</description>
    <dc:creator>hhuai</dc:creator>
    <dc:date>2012-03-27T01:40:24</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.ramaze.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.ramaze.general</link>
  </textinput>
</rdf:RDF>

