[#397988] Help with sqlite3 please — Kaye Ng <lists@...>

I'm on Windows 7 Ultimate, 64-bit

18 messages 2012/08/03
[#397989] Re: Help with sqlite3 please — Chris Hulan <chris.hulan@...> 2012/08/03

sqlite is not ruby, so you should look for a sqlite group ;)

[#397990] Re: Help with sqlite3 please — Kaye Ng <lists@...> 2012/08/03

> However it looks like you have 'SQL' at the beginning of your CREATE

[#398031] Gem install or usage problem in shared environment — Tom Moulton <lists@...>

I am moving to a Westhost shared CPanel account and I am trying to set

17 messages 2012/08/04
[#398077] Re: Gem install or usage problem in shared environment — Tom Moulton <lists@...> 2012/08/06

I got a solution from WestHost and it may help others:

[#398086] Re: Gem install or usage problem in shared environment — Ryan Davis <ryand-ruby@...> 2012/08/07

[#398088] Re: Gem install or usage problem in shared environment — Tom Moulton <lists@...> 2012/08/07

Ryan Davis wrote in post #1071503:

[#398063] Join with ActiveRecord using non-standard schema — Tedi Roca <lists@...>

Hi,

13 messages 2012/08/06

[#398135] Help with database-related code pls — Kaye Ng <lists@...>

Hi guys! This is just a part of the code of a program that can load a

12 messages 2012/08/08

[#398190] How do you order your class methods? — masta Blasta <lists@...>

Just getting some layout ideas from other fellow devs.

11 messages 2012/08/10

[#398245] namespace instance methods? — John Doe <lists@...>

I have a large class with many instance methods that I want to

14 messages 2012/08/13

[#398287] Idea: def ... end returns the symbolized version of the newly-defined method, instead of nil — Peter <lumbergh@...>

This would allow useful syntax constructs such as this:

9 messages 2012/08/13

[#398362] case vs if-else — ajay paswan <lists@...>

Which one is faster?

20 messages 2012/08/16

[#398385] A Ruby class is never closed — Rubyist Rohit <lists@...>

Is it true that a Ruby class definition is never closed? Even after

18 messages 2012/08/16

[#398504] How to create an EXecutable file (Linux) — Fosiul Alam <lists@...>

Hi

13 messages 2012/08/22

[#398506] Save a file by clicking on a link — ajay paswan <lists@...>

I clicked a link to download a file using ruby, now I see the open-save

41 messages 2012/08/22

[#398641] force child threads run paralelly? — ajay paswan <lists@...>

I have created two child thread using main thread- child1 and child2.

19 messages 2012/08/28
[#398644] Re: force child threads run paralelly? — ajay paswan <lists@...> 2012/08/28

Ruby version:

[#398648] Re: force child threads run paralelly? — Tony Arcieri <tony.arcieri@...> 2012/08/28

On Tue, Aug 28, 2012 at 7:19 AM, ajay paswan <lists@ruby-forum.com> wrote:

[#398684] Can I do this with Ruby and sqlite alone? — Kaye Ng <lists@...>

Hi guys.

16 messages 2012/08/29

Re: dynamic class resolution?

From: Gary Weaver <lists@...>
Date: 2012-08-29 13:25:00 UTC
List: ruby-talk #398704
Ryan Davis wrote in post #1073629:
> You probably want to look at const_missing. Watch out and make sure you
> always call super because rails uses it to be lazy about requires.

Thanks, Ryan! Looked into that more yesterday and learned about 
ActiveSupport::Dependencies: 
https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/dependencies.rb

It's funny after using Rails so much that I didn't give a lot of thought 
how class and module resolution work.

So, I thought I'd try to be crafty and throw together a gem to load in 
Rails 3.2 that would do this (among other things):

class Object
  class << self
    class << self
      @ref_classes={}

      puts "renaming const_missing to object_const_missing in #{self}"
      raise "Not on the right class. this is #{self.class.name}" unless 
instance_methods.include?(:const_missing)
      alias_method(:object_const_missing, :const_missing)
      undef_method(:const_missing)
      raise "didn't undefine const_missing on #{self.class.name}" if 
instance_methods.include?(:const_missing)
      raise "didn't change name of const_missing to object_const_missing 
on #{self.class.name}" unless 
instance_methods.include?(:object_const_missing)

      def const_missing(name)
        puts "in my const_missing in #{self}"
        return @ref_classes[name] if @ref_classes[name]
        if name.to_s.end_with?('Ref')
          orig = const_get(name.to_s.chomp('Ref'))
          if orig && orig.ancestors.include?(ActiveRecord::Base)
            ref = orig.dup
            ref.class_eval('include ActiveRecordRefs::Model')
            return ref
          else
            object_const_missing(name)
          end
        end
      end

      raise "should have been able to redefine const_missing on 
#{self.class.name}" unless instance_methods.include?(:const_missing)
    end
  end
end

So, that loads but it is completely ignored, and this morning I read 
this:
http://wondible.com/2011/12/23/give-rails-autoloading-a-boot-to-the-head/

Getting closer. So my new goal would be to have something that allows 
new class "creation" via const_missing that strips off the end and does 
something with it, e.g. if an association has class_name: 
'Person[RO,attr[first_name,last_name]]' then const_missing would take 
that and do a Person.dup and then pass the Person.dup class (named 
'Person[RO,attr[:first_name,:last_name]]') off to a user-configurable 
class's class method that could do something with it like:

# if the RO token is found would use the be_readonly gem's functionality
new_class.class_eval('include BeReadonly::Now')

# parse out attrs and do
new_class.class_eval("self._accessible_attributes[:default] = 
#{attrs.collect{|a|a.to_sym}.inspect}")

It may be too magic, but it would be a way to use associations to have 
each model easily define new classes and functionality to tack on to 
existing models, and would be a lot more DRY. The reason is because 
we're developing another gem that reuses mass assignment security to 
define attributes that are serializable to JSON, along with another 
custom class_attribute that specifies attributes and associations that 
are only serialized.

-- 
Posted via http://www.ruby-forum.com/.

In This Thread