kirgudu_refs 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/kirgudu_refs/model_basic_properties.rb +69 -0
  3. data/app/models/kirgudu_refs/base_model.rb +0 -8
  4. data/app/models/kirgudu_refs/finances.rb +7 -0
  5. data/app/models/kirgudu_refs/finances/bank.rb +116 -0
  6. data/app/models/kirgudu_refs/globe/city.rb +57 -57
  7. data/app/models/kirgudu_refs/globe/country.rb +69 -53
  8. data/app/models/kirgudu_refs/globe/region.rb +20 -25
  9. data/app/models/kirgudu_refs/globe/state.rb +58 -61
  10. data/app/models/kirgudu_refs/globe/subway_line.rb +29 -25
  11. data/app/models/kirgudu_refs/globe/subway_station.rb +43 -40
  12. data/app/models/kirgudu_refs/globe/timezone.rb +40 -5
  13. data/app/models/kirgudu_refs/it.rb +1 -1
  14. data/app/models/kirgudu_refs/it/encoding.rb +31 -28
  15. data/app/models/kirgudu_refs/it/hosting_type.rb +50 -0
  16. data/app/models/kirgudu_refs/it/operating_system.rb +34 -24
  17. data/app/models/kirgudu_refs/it/operating_system_family.rb +55 -4
  18. data/app/models/kirgudu_refs/it/processor_architecture.rb +32 -5
  19. data/app/models/kirgudu_refs/it/top_level_domain.rb +26 -0
  20. data/app/models/kirgudu_refs/it/website_type.rb +49 -0
  21. data/app/models/kirgudu_refs/national/currency.rb +59 -52
  22. data/app/models/kirgudu_refs/national/language.rb +84 -79
  23. data/app/models/kirgudu_refs/shops.rb +1 -1
  24. data/app/models/kirgudu_refs/shops/manufacturer.rb +37 -33
  25. data/config/database.yml +10 -0
  26. data/db/migrate/20130831122828_create_kirgudu_refs_it_operating_system_families.rb +12 -4
  27. data/db/migrate/20130831122900_create_kirgudu_refs_it_encodings.rb +12 -3
  28. data/db/migrate/20130831123418_create_kirgudu_refs_globe_cities.rb +17 -7
  29. data/db/migrate/20130831123443_create_kirgudu_refs_globe_regions.rb +17 -10
  30. data/db/migrate/20130831123613_create_kirgudu_refs_globe_states.rb +15 -8
  31. data/db/migrate/20130831123640_create_kirgudu_refs_globe_countries.rb +15 -7
  32. data/db/migrate/20130831124432_create_kirgudu_refs_globe_subway_lines.rb +18 -5
  33. data/db/migrate/20130831124648_create_kirgudu_refs_globe_subway_stations.rb +15 -6
  34. data/db/migrate/20130831125136_create_kirgudu_refs_globe_timezones.rb +13 -4
  35. data/db/migrate/20130831125626_create_kirgudu_refs_it_operating_systems.rb +14 -6
  36. data/db/migrate/20130831125703_create_kirgudu_refs_it_processor_architectures.rb +12 -3
  37. data/db/migrate/20130831130259_create_kirgudu_refs_national_currencies.rb +14 -6
  38. data/db/migrate/20130831130350_create_kirgudu_refs_national_languages.rb +11 -4
  39. data/db/migrate/20130831130436_create_kirgudu_refs_shops_manufacturers.rb +18 -6
  40. data/db/migrate/20140111155321_create_kirgudu_refs_it_website_types.rb +32 -0
  41. data/db/migrate/20140111155332_create_kirgudu_refs_it_hosting_types.rb +34 -0
  42. data/db/migrate/20140113072335_create_kirgudu_refs_it_top_level_domains.rb +36 -0
  43. data/db/migrate/20140215071954_create_kirgudu_refs_finances_banks.rb +60 -0
  44. data/test/dummy/config/application.rb +1 -1
  45. data/test/dummy/db/development.sqlite3 +0 -0
  46. data/test/dummy/db/schema.rb +551 -0
  47. data/test/dummy/log/development.log +285 -0
  48. data/test/fixtures/kirgudu_refs/finances/banks.yml +7 -0
  49. data/test/fixtures/kirgudu_refs/it/top_level_domains.yml +11 -0
  50. data/test/models/kirgudu_refs/finances/bank_test.rb +9 -0
  51. data/test/models/kirgudu_refs/it/top_level_domain_test.rb +9 -0
  52. metadata +37 -27
  53. data/db/migrate/20130902065049_fix_id_in_it_operating_system_families.rb +0 -9
  54. data/db/migrate/20130902065101_fix_id_in_it_encodings.rb +0 -9
  55. data/db/migrate/20130902065111_fix_id_in_globe_cities.rb +0 -10
  56. data/db/migrate/20130902065117_fix_id_in_globe_countries.rb +0 -9
  57. data/db/migrate/20130902065123_fix_id_in_globe_states.rb +0 -9
  58. data/db/migrate/20130902065131_fix_id_in_globe_regions.rb +0 -9
  59. data/db/migrate/20130902065943_fix_id_in_globe_subway_lines.rb +0 -9
  60. data/db/migrate/20130902065951_fix_id_in_globe_subway_stations.rb +0 -9
  61. data/db/migrate/20130902070323_fix_id_in_globe_timezones.rb +0 -9
  62. data/db/migrate/20130902070557_fix_id_in_national_currency.rb +0 -9
  63. data/db/migrate/20130902070604_fix_id_in_national_language.rb +0 -9
  64. data/db/migrate/20130902070628_fix_id_in_it_operating_system.rb +0 -9
  65. data/db/migrate/20130902070640_fix_id_in_it_processor_architecture.rb +0 -9
  66. data/db/migrate/20130902070659_fix_id_in_shops_manufacturer.rb +0 -9
@@ -1,43 +1,46 @@
1
1
  module KirguduRefs
2
- class It::Encoding < ::KirguduRefs::BaseModel
3
- attr_accessible :charset, :slug, :name, :description
2
+ module It
3
+ class Encoding < ::KirguduRefs::BaseModel
4
+ #attr_accessible :charset, :slug, :name, :description
4
5
 
5
- ###################################### RELATIONS ###################################
6
+ ###################################### RELATIONS ###################################
6
7
 
7
- include ::KirguduRefs::ModelBasicProperties::CreatorID
8
- include ::KirguduRefs::ModelBasicProperties::UpdaterID
8
+ include ::KirguduBase::Models::BasicProperties::Portal
9
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
10
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
9
11
 
10
- ######################################### VALIDATIONS ###################################
12
+ ######################################### VALIDATIONS ###################################
11
13
 
12
- validates_presence_of :name, :charset, :slug
13
- validates_uniqueness_of :name, :charset, :slug
14
- validate_as_seo_tag :slug
14
+ validates_presence_of :name, :charset, :slug
15
+ validates_uniqueness_of :name, :charset, :slug, scope: :portal_id
15
16
 
17
+ validates_length_of :name, maximum: 128, allow_blank: true
18
+ validates_length_of :slug, maximum: 128, allow_blank: true
19
+ validate_as_seo_tag :slug, allow_nil: true
16
20
 
17
21
 
18
- ############################################### SCOPES #######################################
22
+ ############################################### SCOPES #######################################
19
23
 
20
- include ::KirguduBase::Models::Scopes::WithName
21
- scope :with_encoding, lambda { |value| where(encoding: value) if value }
22
24
 
23
- scope :with_keyword, lambda { |value|
24
- if value
25
- value = value.gsub('%', ' ').strip
26
- like_value ="%#{value}%"
27
- where { (name.like like_value) | (encoding.like like_value) }
28
- end
29
- }
25
+ scope :with_encoding, lambda { |value| where(encoding: value) if value }
30
26
 
31
- def self.apply_filters_to_query(query, filters = {})
32
- filters ||= {}
27
+ scope :with_keyword, lambda { |value|
28
+ if value
29
+ value = value.gsub('%', ' ').strip
30
+ like_value ="%#{value}%"
31
+ where { (name.like like_value) | (encoding.like like_value) }
32
+ end
33
+ }
33
34
 
34
- query = query
35
- .with_name(filters[:name])
36
- .with_keyword(filters[:keyword])
37
- .with_encoding(filters[:encoding])
35
+ def self.apply_filters_to_query(query, filters = {})
36
+ filters ||= {}
38
37
 
39
- super(query, filters)
40
- end
38
+ query = query
39
+ .with_encoding(filters[:encoding])
41
40
 
41
+ super(query, filters)
42
+ end
43
+
44
+ end
42
45
  end
43
- end
46
+ end
@@ -0,0 +1,50 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ module KirguduRefs
4
+ module It
5
+ class HostingType < ::KirguduRefs::BaseModel
6
+
7
+ ########################################## RELATIONS ########################################
8
+
9
+ include ::KirguduBase::Models::BasicProperties::Portal
10
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
11
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
12
+
13
+ ########################################## VALIDATIONS #######################################
14
+
15
+ validates_presence_of :name, :slug
16
+ validates_uniqueness_of :name, :slug, scope: :portal_id, case_sensitive: false
17
+
18
+ validates_length_of :name, maximum: 128, allow_blank: true
19
+ validates_length_of :slug, maximum: 128, allow_blank: true
20
+ validate_as_seo_tag :slug, allow_nil: true
21
+
22
+ validates_length_of :meta_keywords, maximum: 200, allow_blank: true
23
+ validates_length_of :meta_description, maximum: 200, allow_blank: true
24
+
25
+
26
+ ############################################### SCOPES #######################################
27
+
28
+ include ::KirguduBase::Models::Scopes::WithName
29
+ include ::KirguduBase::Models::Scopes::WithSlug
30
+
31
+ scope :with_keyword, lambda { |value|
32
+ if value
33
+ value = value.gsub('%', ' ').strip
34
+ like_value ="%#{value}%"
35
+ where { (name.like like_value) | (slug.like like_value) }
36
+ end
37
+ }
38
+
39
+
40
+ def self.apply_filters_to_query(query, filters={})
41
+ filters ||= {}
42
+
43
+ #raise "Filters In Hosting Type: #{filters}"
44
+
45
+ super(query, filters)
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -1,40 +1,50 @@
1
1
  module KirguduRefs
2
- class It::OperatingSystem < ::KirguduRefs::BaseModel
3
- attr_accessible :name, :operating_system_family_id, :processor_architecture_id, :slug, :description, :manufacturer_id
2
+ module It
3
+ class OperatingSystem < ::KirguduRefs::BaseModel
4
4
 
5
+ ########################################## RELATIONS ########################################
5
6
 
6
- has_paper_trail
7
+ include ::KirguduBase::Models::BasicProperties::Portal
8
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
9
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
7
10
 
8
- validates_presence_of :name, :slug
9
- validates_uniqueness_of :name, case_sensitive: false
10
- validate_as_seo_tag :slug
11
+ include ::KirguduRefs::ModelBasicProperties::ProcessorArchitectureID
12
+ include ::KirguduRefs::ModelBasicProperties::OperatingSystemFamilyID
11
13
 
14
+ ########################################## VALIDATIONS #######################################
12
15
 
16
+ validates_presence_of :name, :slug, :operating_system_family_id, :processor_architecture_id
17
+ validates_uniqueness_of :name, :slug, case_sensitive: false, scope: :portal_id
13
18
 
14
- ############################################### SCOPES #######################################
19
+ validates_length_of :name, maximum: 128, allow_blank: true
20
+ validates_length_of :slug, maximum: 128, allow_blank: true
21
+ validate_as_seo_tag :slug, allow_nil: true
15
22
 
16
- include ::KirguduBase::Models::Scopes::WithName
17
- include ::KirguduBase::Models::Scopes::WithSeoTag
23
+ ######################################### SCOPES #############################################
18
24
 
25
+ include ::KirguduBase::Models::Scopes::WithName
26
+ include ::KirguduBase::Models::Scopes::WithSlug
19
27
 
20
- scope :with_keyword, lambda { |value|
21
- if value
22
- value = value.gsub('%', ' ').strip
23
- like_value ="%#{value}%"
24
- where { (name.like like_value) | (seo_tag.like like_value) }
25
- end
26
- }
28
+ scope :with_keyword, lambda { |value|
29
+ if value
30
+ value = value.gsub('%', ' ').strip
31
+ like_value ="%#{value}%"
32
+ where { (name.like like_value) | (slug.like like_value) }
33
+ end
34
+ }
27
35
 
28
36
 
29
- def self.apply_filters_to_query(query, filters={})
30
- filters ||= {}
37
+ def self.apply_filters_to_query(query, filters={})
38
+ filters ||= {}
31
39
 
32
- query = query
33
- .with_keyword(filters[:keyword])
34
- .with_name(filters[:name])
40
+ #raise "Operating System Query Filters: #{filters}"
41
+ query = query
42
+ .by_processor_architecture(filters[:processor_architecture_id])
43
+ .by_operating_system_family(filters[:operating_system_family_id])
35
44
 
36
- super(query, filters)
37
- end
45
+ super(query, filters)
46
+ end
38
47
 
48
+ end
39
49
  end
40
- end
50
+ end
@@ -1,7 +1,58 @@
1
1
  module KirguduRefs
2
- class It::OperatingSystemFamily < ::KirguduRefs::BaseModel
3
- attr_accessible :manufacturer_id, :name, :slug
2
+ module It
3
+ class OperatingSystemFamily < ::KirguduRefs::BaseModel
4
4
 
5
- validate_as_seo_tag :slug
5
+ ########################################## RELATIONS ########################################
6
+
7
+ include ::KirguduBase::Models::BasicProperties::Portal
8
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
9
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
10
+
11
+ include ::KirguduRefs::ModelBasicProperties::ManufacturerID
12
+
13
+ ########################################## VALIDATIONS #######################################
14
+
15
+ validates_presence_of :name, :slug
16
+ validates_uniqueness_of :name, :slug, scope: :portal_id
17
+
18
+ validates_length_of :name, maximum: 128, allow_blank: true
19
+ validates_length_of :slug, maximum: 128, allow_blank: true
20
+ validate_as_seo_tag :slug, allow_nil: true
21
+
22
+ ######################################### SCOPES #############################################
23
+
24
+ include ::KirguduBase::Models::Scopes::WithName
25
+ include ::KirguduBase::Models::Scopes::WithSlug
26
+
27
+ scope :with_keyword, lambda { |value|
28
+ if value
29
+ value = value.gsub('%', ' ').strip
30
+ like_value ="%#{value}%"
31
+ where { (name.like like_value) | (slug.like like_value) }
32
+ end
33
+ }
34
+
35
+ scope :with_manufacturer_name, lambda { |value|
36
+ if value
37
+ value = value.gsub('%', ' ').strip
38
+ like_value ="%#{value}%"
39
+ where { (manufacturer.name.like like_value) }
40
+ end
41
+ }
42
+
43
+ def self.apply_filters_to_query(query, filters={})
44
+ filters ||= {}
45
+
46
+ filters[:order] = "#{::KirguduRefs::It::OperatingSystemFamily.table_name}.name asc"
47
+
48
+ query = query.includes(:manufacturer)
49
+ .by_manufacturer(filters[:manufacturer_id])
50
+ .with_manufacturer_name(filters[:manufacturer_name])
51
+
52
+ super(query, filters)
53
+ end
54
+
55
+
56
+ end
6
57
  end
7
- end
58
+ end
@@ -1,7 +1,34 @@
1
1
  module KirguduRefs
2
- class It::ProcessorArchitecture < ::KirguduRefs::BaseModel
3
- attr_accessible :name
2
+ module It
3
+ class ProcessorArchitecture < ::KirguduRefs::BaseModel
4
4
 
5
- validate_as_seo_tag :slug
6
- end
7
- end
5
+ ########################################## RELATIONS ########################################
6
+
7
+ include ::KirguduBase::Models::BasicProperties::Portal
8
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
9
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
10
+
11
+ ########################################## VALIDATIONS #######################################
12
+
13
+ validates_presence_of :name, :slug
14
+ validates_uniqueness_of :name, :slug, scope: :portal_id
15
+
16
+ validates_length_of :name, maximum: 128, allow_blank: true
17
+ validates_length_of :slug, maximum: 128, allow_blank: true
18
+ validate_as_seo_tag :slug, allow_nil: true
19
+
20
+ ######################################### SCOPES #############################################
21
+
22
+ include ::KirguduBase::Models::Scopes::WithName
23
+ include ::KirguduBase::Models::Scopes::WithSlug
24
+
25
+ scope :with_keyword, lambda { |value|
26
+ if value
27
+ value = value.gsub('%', ' ').strip
28
+ like_value ="%#{value}%"
29
+ where { (name.like like_value) | (slug.like like_value) }
30
+ end
31
+ }
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,26 @@
1
+ module KirguduRefs
2
+ module It
3
+ class TopLevelDomain < ::KirguduRefs::BaseModel
4
+
5
+ ########################################## RELATIONS ########################################
6
+
7
+ include ::KirguduBase::Models::BasicProperties::Portal
8
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
9
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
10
+
11
+ ########################################## VALIDATIONS #######################################
12
+ validates_presence_of :name, :slug, :domain_name
13
+ validates_uniqueness_of :name, :slug, :domain_name, scope: :portal_id, case_sensitive: false
14
+
15
+ validates_length_of :name, maximum: 128, allow_blank: true
16
+ validates_length_of :slug, maximum: 128, allow_blank: true
17
+ validates_length_of :domain_name, maximum: 128, allow_blank: true
18
+ validate_as_seo_tag :slug, allow_nil: true
19
+
20
+ validates_length_of :meta_keywords, maximum: 200, allow_blank: true
21
+ validates_length_of :meta_description, maximum: 200, allow_blank: true
22
+
23
+ ######################################### SCOPES #############################################
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,49 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ module KirguduRefs
4
+ module It
5
+ class WebsiteType < ::KirguduRefs::BaseModel
6
+
7
+ ########################################## RELATIONS ########################################
8
+
9
+ include ::KirguduBase::Models::BasicProperties::Portal
10
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
11
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
12
+
13
+ ########################################## VALIDATIONS #######################################
14
+ validates_presence_of :name, :slug
15
+ validates_uniqueness_of :name, :slug, case_sensitive: false, scope: :portal_id
16
+
17
+ validates_length_of :name, maximum: 128, allow_blank: true
18
+ validates_length_of :slug, maximum: 128, allow_blank: true
19
+ validate_as_seo_tag :slug, allow_nil: true
20
+
21
+ validates_length_of :meta_keywords, maximum: 200, allow_blank: true
22
+ validates_length_of :meta_description, maximum: 200, allow_blank: true
23
+
24
+ ######################################### SCOPES #############################################
25
+
26
+ include ::KirguduBase::Models::Scopes::WithName
27
+ include ::KirguduBase::Models::Scopes::WithSlug
28
+
29
+
30
+ scope :with_keyword, lambda { |value|
31
+ if value
32
+ value = value.gsub('%', ' ').strip
33
+ like_value ="%#{value}%"
34
+ where { (name.like like_value) | (slug.like like_value) }
35
+ end
36
+ }
37
+
38
+ def self.apply_filters_to_query(query, filters={})
39
+ filters ||= {}
40
+
41
+ super(query, filters)
42
+ end
43
+
44
+ ################################ METHODS ##########################
45
+
46
+
47
+ end
48
+ end
49
+ end
@@ -1,74 +1,81 @@
1
1
  module KirguduRefs
2
- class National::Currency < ::KirguduRefs::BaseModel
3
- attr_accessible :iso3, :decimal_point, :name, :digital_code, :slug, :symbol_left, :symbol_right, :thousands_delimiter, :decimal_places, :image_id, :meta_keywords, :meta_description, :description
2
+ module National
3
+ class Currency < ::KirguduRefs::BaseModel
4
4
 
5
- before_validation :normalize_values
5
+ ########################################## RELATIONS ########################################
6
6
 
7
- ########################################## VALIDATIONS ########################################
7
+ include ::KirguduBase::Models::BasicProperties::Portal
8
+ include ::KirguduBase::Models::BasicProperties::CreatedBy
9
+ include ::KirguduBase::Models::BasicProperties::UpdatedBy
8
10
 
9
- validates_presence_of :name, :iso3
10
- validates_uniqueness_of :name, :iso3, case_sensitive: false
11
- validates_uniqueness_of :digital_code, case_sensitive: false, allow_nil: true
12
- validates_uniqueness_of :slug, case_sensitive: false, allow_nil: true
11
+ ########################################## VALIDATIONS ########################################
13
12
 
14
- validate_as_seo_tag :slug
13
+ validates_presence_of :name, :iso3
14
+ validates_uniqueness_of :name, :iso3, case_sensitive: false
15
+ validates_uniqueness_of :digital_code, case_sensitive: false, allow_nil: true
16
+ validates_uniqueness_of :slug, case_sensitive: false
15
17
 
18
+ validates_length_of :name, maximum: 128, allow_blank: true
19
+ validates_length_of :slug, maximum: 128, allow_blank: true
20
+ validates_length_of :iso3, is: 3, allow_blank: true
21
+ validates_length_of :decimal_point, is: 1, allow_blank: true
16
22
 
23
+ validates_length_of :symbol_left, maximum: 10, allow_blank: true
24
+ validates_length_of :symbol_right, maximum: 10, allow_blank: true
25
+ validates_length_of :thousands_delimiter, maximum: 3, allow_blank: true
17
26
 
27
+ validates_length_of :meta_keywords, maximum: 200, allow_blank: true
28
+ validates_length_of :meta_description, maximum: 200, allow_blank: true
18
29
 
19
- ########################################## SCOPES ########################################
30
+ validate_as_seo_tag :slug, allow_nil: true
20
31
 
21
32
 
22
- scope :with_keyword, lambda { |value|
23
- if value
24
- value = value.gsub('%', ' ').strip
25
- like_value ="%#{value}%"
26
- where { (name.like like_value) | (iso3.like like_value) | (seo_tag.like like_value) }
27
- end
28
- }
33
+ ########################################## SCOPES ########################################
29
34
 
30
- scope :with_name, lambda { |value|
31
- if value
32
- value = value.gsub('%', ' ').strip
33
- like_value ="%#{value}%"
34
- where { (name.like like_value) }
35
- end
36
- }
35
+ include ::KirguduBase::Models::Scopes::WithName
36
+ include ::KirguduBase::Models::Scopes::WithSlug
37
37
 
38
- scope :with_slug, lambda { |value|
39
- if value
40
- value = value.gsub('%', ' ').strip
41
- like_value ="%#{value}%"
42
- where { (seo_tag.like like_value) }
43
- end
44
- }
45
38
 
46
- scope :with_iso3, lambda { |value|
47
- if value
48
- value = value.gsub('%', ' ').strip
49
- like_value ="%#{value}%"
50
- where { (iso3.like like_value) }
51
- end
52
- }
53
- scope :with_digit_code, lambda { |value| where(digit_code: value) if value }
39
+ scope :with_keyword, lambda { |value|
40
+ if value
41
+ value = value.gsub('%', ' ').strip
42
+ like_value ="%#{value}%"
43
+ where { (name.like like_value) | (iso3.like like_value) | (slug.like like_value) }
44
+ end
45
+ }
54
46
 
55
47
 
56
- def self.apply_filters_to_query(query, filters={})
57
- filters ||={}
48
+ scope :with_iso3, lambda { |value|
49
+ if value
50
+ value = value.gsub('%', ' ').strip
51
+ like_value ="%#{value}%"
52
+ where { (iso3.like like_value) }
53
+ end
54
+ }
58
55
 
59
- query = query
60
- .with_keyword(filters[:keyword])
61
- .with_slug(filters[:seo_tag])
62
- .with_iso3(filters[:iso3])
63
- .with_digit_code(filters[:digit_code])
56
+ scope :with_digital_code, lambda { |value| where(digital_code: value) if value }
64
57
 
65
- super(query, filters)
66
- end
67
58
 
59
+ def self.apply_filters_to_query(query, filters={})
60
+ filters ||={}
61
+
62
+ query = query
63
+ .with_iso3(filters[:iso3])
64
+ .with_digital_code(filters[:digital_code])
68
65
 
69
- private
70
- def normalize_values
71
- iso3.upcase!
66
+ super(query, filters)
67
+ end
68
+
69
+
70
+ private
71
+ def normalize_values_before_validation
72
+ self.iso3.upcase! if self.iso3
73
+ self.iso3.strip! if self.iso3
74
+ self.symbol_left.strip! if self.symbol_left
75
+ self.symbol_right.strip! if self.symbol_right
76
+
77
+ super
78
+ end
72
79
  end
73
80
  end
74
- end
81
+ end