aboutsummaryrefslogtreecommitdiffstats
path: root/lib/model_attribute.rb
diff options
context:
space:
mode:
authorTeddy Wing2017-09-22 12:11:41 +0200
committerTeddy Wing2017-09-22 12:11:41 +0200
commit9179af1df905ff9980228d2aa0ba77418f2781aa (patch)
tree4cc86f11fb885b86671bf7d222e7c7b86835dc69 /lib/model_attribute.rb
parent198659b133aba39cdd92d37fd3b93a223159994b (diff)
downloadchouette-core-9179af1df905ff9980228d2aa0ba77418f2781aa.tar.bz2
ModelAttribute: Add `.methods_by_class_and_type` method
This enables filtering by class like `.methods_by_class` and additionally only selecting attributes matching a certain data type. Refs #4401
Diffstat (limited to 'lib/model_attribute.rb')
-rw-r--r--lib/model_attribute.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/model_attribute.rb b/lib/model_attribute.rb
index 84706ba4d..e74dd1060 100644
--- a/lib/model_attribute.rb
+++ b/lib/model_attribute.rb
@@ -15,6 +15,12 @@ class ModelAttribute
end
end
+ def self.methods_by_class_and_type(klass, type)
+ methods_by_class(klass).select do |model_attr|
+ model_attr.data_type == type
+ end
+ end
+
def initialize(klass, name, data_type)
@klass = klass
@name = name