From 43dfc3228505a3ca58a32893e054d9d6a93bf92c Mon Sep 17 00:00:00 2001 From: Joenio Costa Date: Wed, 25 May 2016 16:20:14 -0300 Subject: [PATCH] refactoring models extensions --- plugins/elasticsearch/lib/elasticsearch_indexed_model.rb | 8 ++++++++ plugins/elasticsearch/lib/ext/article.rb | 5 ----- plugins/elasticsearch/lib/ext/category.rb | 5 ++++- plugins/elasticsearch/lib/ext/comment.rb | 4 +++- plugins/elasticsearch/lib/ext/license.rb | 4 +++- plugins/elasticsearch/lib/ext/national_region.rb | 4 +++- plugins/elasticsearch/lib/ext/profile.rb | 7 ++++++- plugins/elasticsearch/lib/ext/scrap.rb | 7 ++++++- plugins/elasticsearch/lib/ext/user.rb | 4 +++- 9 files changed, 36 insertions(+), 12 deletions(-) diff --git a/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb b/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb index 05cf927..6e503ff 100644 --- a/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb +++ b/plugins/elasticsearch/lib/elasticsearch_indexed_model.rb @@ -7,6 +7,7 @@ module ElasticsearchIndexedModel mappings dynamic: 'false' do base::SEARCHABLE_FIELDS.each do |field, value| indexes field + print '.' end end base.__elasticsearch__.client.indices.delete \ @@ -19,7 +20,14 @@ module ElasticsearchIndexedModel } end end + base.extend ClassMethods base.send :import end + module ClassMethods + def indexable_fields + self::SEARCHABLE_FIELDS.keys + self.control_fields + end + end + end diff --git a/plugins/elasticsearch/lib/ext/article.rb b/plugins/elasticsearch/lib/ext/article.rb index d94c873..ff88a31 100644 --- a/plugins/elasticsearch/lib/ext/article.rb +++ b/plugins/elasticsearch/lib/ext/article.rb @@ -10,9 +10,4 @@ class Article :published, ] end - - def self.indexable_fields - SEARCHABLE_FIELDS.keys + self.control_fields - end - end diff --git a/plugins/elasticsearch/lib/ext/category.rb b/plugins/elasticsearch/lib/ext/category.rb index 15c01bc..a257891 100644 --- a/plugins/elasticsearch/lib/ext/category.rb +++ b/plugins/elasticsearch/lib/ext/category.rb @@ -2,7 +2,10 @@ require_dependency 'category' require_relative '../elasticsearch_indexed_model' class Category + include ElasticsearchIndexedModel + def self.control_fields - %w() + [] end + end diff --git a/plugins/elasticsearch/lib/ext/comment.rb b/plugins/elasticsearch/lib/ext/comment.rb index d810eb0..437c438 100644 --- a/plugins/elasticsearch/lib/ext/comment.rb +++ b/plugins/elasticsearch/lib/ext/comment.rb @@ -2,7 +2,9 @@ require_dependency 'comment' require_relative '../elasticsearch_indexed_model' class Comment + include ElasticsearchIndexedModel + def self.control_fields - %w() + [] end end diff --git a/plugins/elasticsearch/lib/ext/license.rb b/plugins/elasticsearch/lib/ext/license.rb index 37dc289..6f32a41 100644 --- a/plugins/elasticsearch/lib/ext/license.rb +++ b/plugins/elasticsearch/lib/ext/license.rb @@ -2,7 +2,9 @@ require_dependency 'license.rb' require_relative '../elasticsearch_indexed_model' class License + include ElasticsearchIndexedModel + def self.control_fields - %w() + [] end end diff --git a/plugins/elasticsearch/lib/ext/national_region.rb b/plugins/elasticsearch/lib/ext/national_region.rb index fe46418..caa85ad 100644 --- a/plugins/elasticsearch/lib/ext/national_region.rb +++ b/plugins/elasticsearch/lib/ext/national_region.rb @@ -2,7 +2,9 @@ require_dependency 'national_region' require_relative '../elasticsearch_indexed_model' class NationalRegion + include ElasticsearchIndexedModel + def self.control_fields - %w() + [] end end diff --git a/plugins/elasticsearch/lib/ext/profile.rb b/plugins/elasticsearch/lib/ext/profile.rb index c472c12..99c7599 100644 --- a/plugins/elasticsearch/lib/ext/profile.rb +++ b/plugins/elasticsearch/lib/ext/profile.rb @@ -2,7 +2,12 @@ require_dependency 'profile' require_relative '../elasticsearch_indexed_model' class Profile + include ElasticsearchIndexedModel + def self.control_fields - %w( visible public_profile ) + [ + :visible, + :public_profile, + ] end end diff --git a/plugins/elasticsearch/lib/ext/scrap.rb b/plugins/elasticsearch/lib/ext/scrap.rb index a67de9e..ef8951e 100644 --- a/plugins/elasticsearch/lib/ext/scrap.rb +++ b/plugins/elasticsearch/lib/ext/scrap.rb @@ -2,7 +2,12 @@ require_dependency 'scrap' require_relative '../elasticsearch_indexed_model' class Scrap + include ElasticsearchIndexedModel + def self.control_fields - %w(advertise published) + [ + :advertise, + :published, + ] end end diff --git a/plugins/elasticsearch/lib/ext/user.rb b/plugins/elasticsearch/lib/ext/user.rb index 09acee7..09be7fb 100644 --- a/plugins/elasticsearch/lib/ext/user.rb +++ b/plugins/elasticsearch/lib/ext/user.rb @@ -2,7 +2,9 @@ require_dependency 'user' require_relative '../elasticsearch_indexed_model' class User + include ElasticsearchIndexedModel + def self.control_fields - %w() + [] end end -- libgit2 0.21.2