to_activerecord 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
 - data/Manifest.txt +0 -1
 - data/lib/to_activerecord.rb +12 -3
 - data/lib/to_activerecord/version.rb +2 -2
 - data/test/test_to_activerecord.rb +13 -0
 - data/website/index.html +2 -2
 - metadata +3 -4
 - data/lib/to_activerecord/fixnum.rb +0 -15
 
    
        data/History.txt
    CHANGED
    
    
    
        data/Manifest.txt
    CHANGED
    
    
    
        data/lib/to_activerecord.rb
    CHANGED
    
    | 
         @@ -10,16 +10,25 @@ rescue LoadError 
     | 
|
| 
       10 
10 
     | 
    
         
             
              require 'active_support'
         
     | 
| 
       11 
11 
     | 
    
         
             
            end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            # Fixnum.send(:include, ToActiverecord::Fixnum)
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
13 
     | 
    
         
             
            class Fixnum
         
     | 
| 
       16 
14 
     | 
    
         
             
              def method_missing(meth, *args, &block)
         
     | 
| 
       17 
15 
     | 
    
         
             
                pattern  = /^to_([a-z][a-z_]*)$/
         
     | 
| 
       18 
16 
     | 
    
         
             
                if match = pattern.match(meth.to_s)
         
     | 
| 
       19 
     | 
    
         
            -
                  if match_class = match[1]. 
     | 
| 
      
 17 
     | 
    
         
            +
                  if match_class = match[1].camelize.constantize rescue nil
         
     | 
| 
       20 
18 
     | 
    
         
             
                    return match_class.send(:find, *([self] + args), &block)
         
     | 
| 
       21 
19 
     | 
    
         
             
                  end
         
     | 
| 
       22 
20 
     | 
    
         
             
                end
         
     | 
| 
       23 
21 
     | 
    
         
             
                super
         
     | 
| 
       24 
22 
     | 
    
         
             
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            class String
         
     | 
| 
      
 26 
     | 
    
         
            +
              def method_missing(meth, *args, &block)
         
     | 
| 
      
 27 
     | 
    
         
            +
                pattern  = /^to_([a-z][a-z_]*)$/
         
     | 
| 
      
 28 
     | 
    
         
            +
                if match = pattern.match(meth.to_s)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  result = self.to_i.send(meth, *args, &block) rescue nil
         
     | 
| 
      
 30 
     | 
    
         
            +
                  return result if result
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
                super
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
       25 
34 
     | 
    
         
             
            end
         
     | 
| 
         @@ -9,6 +9,9 @@ class Post 
     | 
|
| 
       9 
9 
     | 
    
         
             
              end
         
     | 
| 
       10 
10 
     | 
    
         
             
            end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
            class MultiPartClassName  
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       12 
15 
     | 
    
         
             
            class TestToActiverecord < Test::Unit::TestCase
         
     | 
| 
       13 
16 
     | 
    
         | 
| 
       14 
17 
     | 
    
         
             
              def setup
         
     | 
| 
         @@ -23,6 +26,10 @@ class TestToActiverecord < Test::Unit::TestCase 
     | 
|
| 
       23 
26 
     | 
    
         
             
                assert_equal(post, 60.to_post, "to_activerecord not working")
         
     | 
| 
       24 
27 
     | 
    
         
             
              end
         
     | 
| 
       25 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
              def test_to_multi_part_class_name
         
     | 
| 
      
 30 
     | 
    
         
            +
                MultiPartClassName.expects(:find).with(100).returns(true)
         
     | 
| 
      
 31 
     | 
    
         
            +
                100.to_multi_part_class_name
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
       26 
33 
     | 
    
         | 
| 
       27 
34 
     | 
    
         
             
              def test_to_unknown_post_id
         
     | 
| 
       28 
35 
     | 
    
         
             
                assert_raise(PostError) { 999.to_post }
         
     | 
| 
         @@ -31,4 +38,10 @@ class TestToActiverecord < Test::Unit::TestCase 
     | 
|
| 
       31 
38 
     | 
    
         
             
              def test_to_unknown_class
         
     | 
| 
       32 
39 
     | 
    
         
             
                assert_raise(NoMethodError) { 30.to_foobar }
         
     | 
| 
       33 
40 
     | 
    
         
             
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
              
         
     | 
| 
      
 42 
     | 
    
         
            +
              def test_to_s_still_work
         
     | 
| 
      
 43 
     | 
    
         
            +
                assert_equal("expected", "expected".to_s)
         
     | 
| 
      
 44 
     | 
    
         
            +
                assert_equal("123", 123.to_s)
         
     | 
| 
      
 45 
     | 
    
         
            +
                assert_equal("actionlist", [:action, "list"].to_s)
         
     | 
| 
      
 46 
     | 
    
         
            +
              end
         
     | 
| 
       34 
47 
     | 
    
         
             
            end
         
     | 
    
        data/website/index.html
    CHANGED
    
    | 
         @@ -33,7 +33,7 @@ 
     | 
|
| 
       33 
33 
     | 
    
         
             
                <h1>to_activerecord</h1>
         
     | 
| 
       34 
34 
     | 
    
         
             
                <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/to_activerecord"; return false'>
         
     | 
| 
       35 
35 
     | 
    
         
             
                  <p>Get Version</p>
         
     | 
| 
       36 
     | 
    
         
            -
                  <a href="http://rubyforge.org/projects/to_activerecord" class="numbers">0. 
     | 
| 
      
 36 
     | 
    
         
            +
                  <a href="http://rubyforge.org/projects/to_activerecord" class="numbers">0.2.0</a>
         
     | 
| 
       37 
37 
     | 
    
         
             
                </div>
         
     | 
| 
       38 
38 
     | 
    
         
             
                <h1>→ 7.to_car == Car.find(7)</h1>
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
         @@ -106,7 +106,7 @@ 
     | 
|
| 
       106 
106 
     | 
    
         | 
| 
       107 
107 
     | 
    
         
             
            	<p>Comments are welcome. Send an email to <a href="mailto:drnicwilliams@gmail.com">Dr Nic Williams</a>.</p>
         
     | 
| 
       108 
108 
     | 
    
         
             
                <p class="coda">
         
     | 
| 
       109 
     | 
    
         
            -
                  <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>,  
     | 
| 
      
 109 
     | 
    
         
            +
                  <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 17th June 2007<br>
         
     | 
| 
       110 
110 
     | 
    
         
             
                  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
         
     | 
| 
       111 
111 
     | 
    
         
             
                </p>
         
     | 
| 
       112 
112 
     | 
    
         
             
            </div>
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
     | 
    
         
            -
            rubygems_version: 0.9.4. 
     | 
| 
      
 2 
     | 
    
         
            +
            rubygems_version: 0.9.4.3
         
     | 
| 
       3 
3 
     | 
    
         
             
            specification_version: 1
         
     | 
| 
       4 
4 
     | 
    
         
             
            name: to_activerecord
         
     | 
| 
       5 
5 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       6 
     | 
    
         
            -
              version: 0. 
     | 
| 
       7 
     | 
    
         
            -
            date: 2007- 
     | 
| 
      
 6 
     | 
    
         
            +
              version: 0.2.0
         
     | 
| 
      
 7 
     | 
    
         
            +
            date: 2007-10-09 00:00:00 +10:00
         
     | 
| 
       8 
8 
     | 
    
         
             
            summary: "Find ActiveRecord instances via their ID value.  Now you can use 37.to_post instead of Post.find(37).  Used in conjunction with the map_by_method gem: [37,103].map_by_to_post"
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -35,7 +35,6 @@ files: 
     | 
|
| 
       35 
35 
     | 
    
         
             
            - README.txt
         
     | 
| 
       36 
36 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       37 
37 
     | 
    
         
             
            - lib/to_activerecord.rb
         
     | 
| 
       38 
     | 
    
         
            -
            - lib/to_activerecord/fixnum.rb
         
     | 
| 
       39 
38 
     | 
    
         
             
            - lib/to_activerecord/version.rb
         
     | 
| 
       40 
39 
     | 
    
         
             
            - scripts/txt2html
         
     | 
| 
       41 
40 
     | 
    
         
             
            - setup.rb
         
     |