fossil 0.3.6 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.6
1
+ 0.3.7
data/fossil.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{fossil}
8
- s.version = "0.3.6"
8
+ s.version = "0.3.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Patrick Lardin, Daniel Sudol"]
@@ -20,6 +20,7 @@ class Sequel::Model
20
20
  def method_missing(method, *args, &block)
21
21
  if method.to_s.split(/__/).size > 1
22
22
  generate_delegator(method)
23
+ send(method.to_s.gsub('__','_').to_sym)
23
24
  else
24
25
  super
25
26
  end
@@ -19,6 +19,7 @@ describe "Sequel::Model extentions" do
19
19
  it "for one level deep" do
20
20
  mock.proxy(Dude).delegate(:name, :to => :my_friend, :prefix => true, :allow_nil => true)
21
21
  Dude.first.fill_hash([:my_friend__name,:my_friend__name]).should == {:my_friend_name=>'dans buddy'}
22
+ class Dude; undef_method :my_friend_name; end
22
23
  end
23
24
 
24
25
  it "for two levels deep" do
@@ -27,10 +28,30 @@ describe "Sequel::Model extentions" do
27
28
  mock.proxy(Horse).delegate(:name, :to => :dude_my_friend, :prefix => true, :allow_nil => true)
28
29
  mock.proxy(Horse).delegate(:kid_date, :to => :dude_my_friend, :prefix => true, :allow_nil => true)
29
30
  Horse.first.fill_hash([:dude__my_friend__kid_date,:dude__my_friend__name]).should == {:dude_my_friend_name=>'dans buddy',:dude_my_friend_kid_date=>1}
31
+ class Horse; undef_method :dude_my_friend; undef_method :dude_my_friend_name; undef_method :dude_my_friend_kid_date; end
30
32
  end
31
33
  end
32
34
  end
33
35
 
36
+ describe "method missing recognizes __ in method name and creates delegators only once" do
37
+ it "for one level deep" do
38
+ mock.proxy(Dude).delegate(:name, :to => :my_friend, :prefix => true, :allow_nil => true)
39
+ Dude.first.send(:my_friend__name) == 'dans buddy'
40
+ Dude.first.send(:my_friend__name) == 'dans buddy'
41
+ class Dude; undef_method :my_friend_name; end
42
+ end
43
+
44
+ it "for two levels deep" do
45
+ MyFriend.column_alias :kid_date, :'kid - date'
46
+ mock.proxy(Horse).delegate(:my_friend, :to => :dude, :prefix => true, :allow_nil => true)
47
+ mock.proxy(Horse).delegate(:name, :to => :dude_my_friend, :prefix => true, :allow_nil => true)
48
+ mock.proxy(Horse).delegate(:kid_date, :to => :dude_my_friend, :prefix => true, :allow_nil => true)
49
+ Horse.first.send(:dude__my_friend__name).should == 'dans buddy'
50
+ Horse.first.send(:dude__my_friend__kid_date).should == 1
51
+ class Horse; undef_method :dude_my_friend; undef_method :dude_my_friend_name; undef_method :dude_my_friend_kid_date; end
52
+ end
53
+ end
54
+
34
55
  it "can update and save" do
35
56
  add_test_table_data({:date_col => 123, :time_col=>60})
36
57
  record = TestTable.first
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fossil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Lardin, Daniel Sudol