ninja-model 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,6 @@
1
1
  module NinjaModel
2
2
  class Base
3
+ class UnknownAttributeError < NinjaModelError; end
3
4
  include ActiveModel::AttributeMethods
4
5
  include ActiveModel::Dirty
5
6
 
@@ -84,7 +85,7 @@ module NinjaModel
84
85
  attributes = new_attributes.stringify_keys
85
86
 
86
87
  attributes.each do |k,v|
87
- respond_to?("#{k}=".to_sym) ? send("#{k}=".to_sym, v) : raise(UnknownAttributeError, "unknown attribute: #{k}")
88
+ respond_to?("#{k}=".to_sym) ? send("#{k}=".to_sym, v) : raise(NinjaModel::Base::UnknownAttributeError, "unknown attribute: #{k}")
88
89
  end
89
90
  end
90
91
 
@@ -81,6 +81,14 @@ module NinjaModel
81
81
  end
82
82
  end
83
83
 
84
+ def respond_to?(sym)
85
+ if self.class.read_inheritable_attribute(:proxy) && proxy.respond_to?(sym)
86
+ true
87
+ else
88
+ super
89
+ end
90
+ end
91
+
84
92
  def method_missing(method, *args)
85
93
  if self.class.read_inheritable_attribute(:proxy) && proxy.respond_to?(method)
86
94
  proxy.send(method, *args)
@@ -104,7 +112,7 @@ module NinjaModel
104
112
  end
105
113
  end
106
114
 
107
- @proxy_klass = ninja_model.parent.const_set("#{@klass.model_name}Proxy", Class.new(ActiveRecord::Base))
115
+ @proxy_klass = ninja_model.parent.const_set("#{@klass.model_name.gsub(/[^a-zA-Z]/, '')}Proxy", Class.new(ActiveRecord::Base))
108
116
  @proxy_klass.class_eval do
109
117
  cattr_accessor :columns
110
118
  self.columns = []
@@ -1,3 +1,3 @@
1
1
  module NinjaModel
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ninja-model
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 4
10
- version: 0.5.4
9
+ - 5
10
+ version: 0.5.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Josh Williams
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-21 00:00:00 -05:00
18
+ date: 2011-06-29 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency