acts_as_interface 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.1.5
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{acts_as_interface}
8
- s.version = "0.1.4"
8
+ s.version = "0.1.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Philippe Huibonhoa"]
@@ -25,8 +25,8 @@ Gem::Specification.new do |s|
25
25
  "VERSION",
26
26
  "acts_as_interface.gemspec",
27
27
  "lib/acts_as_interface.rb",
28
- "test/helper.rb",
29
- "test/test_acts_as_interface.rb"
28
+ "test/acts_as_interface_test.rb",
29
+ "test/helper.rb"
30
30
  ]
31
31
  s.homepage = %q{http://github.com/phuibonhoa/acts_as_interface}
32
32
  s.licenses = ["MIT"]
@@ -34,8 +34,8 @@ Gem::Specification.new do |s|
34
34
  s.rubygems_version = %q{1.3.7}
35
35
  s.summary = %q{Easily define abstract methods and callbacks for superclasses and modules}
36
36
  s.test_files = [
37
- "test/helper.rb",
38
- "test/test_acts_as_interface.rb"
37
+ "test/acts_as_interface_test.rb",
38
+ "test/helper.rb"
39
39
  ]
40
40
 
41
41
  if s.respond_to? :specification_version then
@@ -32,8 +32,14 @@ require 'active_support'
32
32
  # end
33
33
  class Object
34
34
  def define_abstract_method(abstract_method_name, options)
35
- model_columns, error_on_column_load = respond_to?(:columns) ? [columns, false] : [[], false] rescue [nil, true]
36
- model_columns ||= []
35
+ model_columns = []
36
+ error_on_column_load = false
37
+ begin
38
+ model_columns = respond_to?(:columns) ? columns : []
39
+ rescue
40
+ error_on_column_load = true
41
+ end
42
+
37
43
  unless method_defined?(abstract_method_name) or error_on_column_load or model_columns.any? { |column| column.name.to_sym == abstract_method_name }
38
44
  define_method(abstract_method_name) do |*abstract_method_args|
39
45
  if options.has_key?(:default)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_interface
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Philippe Huibonhoa
@@ -128,8 +128,8 @@ files:
128
128
  - VERSION
129
129
  - acts_as_interface.gemspec
130
130
  - lib/acts_as_interface.rb
131
+ - test/acts_as_interface_test.rb
131
132
  - test/helper.rb
132
- - test/test_acts_as_interface.rb
133
133
  has_rdoc: true
134
134
  homepage: http://github.com/phuibonhoa/acts_as_interface
135
135
  licenses:
@@ -165,5 +165,5 @@ signing_key:
165
165
  specification_version: 3
166
166
  summary: Easily define abstract methods and callbacks for superclasses and modules
167
167
  test_files:
168
+ - test/acts_as_interface_test.rb
168
169
  - test/helper.rb
169
- - test/test_acts_as_interface.rb