Thanks!!

You made me dive into this matter deep this time. I get the picture
now. That's partially then. As I'm still looking for a way to
configure things in a way, well like Rails does, e.g. in the
initializers: ActiveSupport.escape_html_entities_in_json = false

But then, I don't know wether ActiveSupport here is one big
Singleton?! That might be a way to solve it as this functionality
would perfectly fit in a Singleton. I will give it a thought....

Jan


On 6 sep, 20:38, Andrew Bloom <[EMAIL PROTECTED]> wrote:
> What I forgot to mention is that if you do:
>
> module AccountSystem
>   class << self
>      attr_accessor  :account_system_type
>   end
> end
>
> You are actually putting the attr_accessor on the class Module, not on
> the class that AccountSystem will be included in. You need to use the
> included method, or use the extend method and refactor your module a
> bit.
>
> On Sep 6, 1:34 pm, Andrew Bloom <[EMAIL PROTECTED]> wrote:
>
> > if you are checking AccountSystem.account_system_type in your
> > controller what is the point of including it in ApplicationController?
> > If you plan to use it as such, maybe you are better off making it a
> > Singleton Class.
>
> > If you actually want account_system_type to be a class accessor on
> > ApplicationController you must do something like this:
>
> > Module AccountSystem
> >   SINGLE = 1
> >   MULTIPLE = 2
>
> >   self.included(klass)
> >     klass.send(:cattr_accessor, :account_system_id)
> >   end
> > end
>
> > class ApplicationController < ActionController::Base
> >   include AccountSystem
>
> >   # this is how you would use it
> >   def random_method
> >     self.class.account_system_id == AccountSystem::SINGLE
> >   end
> > end
>
> > That should do what you seem to want, but if your goal was something
> > different let me know and I can try to help.
>
> > Of note, if you do use the above solution you could do:
>
> > Module AccountSystem
> >   ...
>
> >   def single?
> >     self.class.account_system_id == SINGLE
> >   end
>
> >   def multiple?
> >     self.class.account_system_id == MULTIPLE
> >   end
>
> >   ...
> > end
>
> > class ApplicationController < ActionController::Base
> >   include AccountSystem
>
> >   # this is how you would use it
> >   def random_method
> >     if single?
> >       puts "single"
> >     elsif multiple?
> >       puts "multiple"
> >     else
> >       raise "please set the AccountSystem.acoun_type_id"
> >     end
> >   end
> > end
>
> > On Sep 6, 12:08 pm, javinto <[EMAIL PROTECTED]> wrote:
>
> > > Hi,
>
> > > I've added a custom library called lib\AccountSystem like so:
>
> > > "module AccountSystem
> > >   SINGLE = 1
> > >   MULTIPLE = 2
>
> > >   class << self
> > >      attr_accessor  :account_system_type
> > >   end
> > > end"
>
> > > Now I wanna configure
> > > AccountSystem.account_system_type=AccountSystem::SINGLE in one app. I
> > > used an initializer: config/initializers/account_initialization.rb
> > > where I put this line in.
>
> > > I included my AccountSystem in the ApplicationController.
>
> > > So now I'd like to check within my controllers the value of
> > > AccountSystem.account_system_type
>
> > > But there it is empty!
> > > However if I run "Ruby script\console" and type
> > > AccountSystem.account_system_type I get the value of 1 as I would
> > > expect.
>
> > > How can I achieve the same result within my controllers?
>
> > > I'm on rails 2.1.0/2.1.1
>
> > > Thanks

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to