pattana 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 759605f6662a7551093ef0a53623c7e6c4dd58ea
4
- data.tar.gz: 57236bd2235c8279a2cbb13a13dd73fa7c3dc553
3
+ metadata.gz: adfb07bf5da7444615c50e71d6c94544f2e0f1e3
4
+ data.tar.gz: 7551cd69fa0253398532697b39d096a842bb6791
5
5
  SHA512:
6
- metadata.gz: 0527e845479cd559de18d78baf7045f75f48ef76a5d9810337d9d4f9ca4fe6553df5635916dee5930a98a95e6a288c88ebd89af555a2a9945b6840950d79290d
7
- data.tar.gz: 55fc7ceee1a7196084326f29ec11b93381ae8456a3ff6bbb631a43c576ffaaaefd368722212859bca4b74abf46dd74c949961129a30f81c0951334f89432506e
6
+ metadata.gz: c80ecfda52ba2a395d52d87aa9f274e60435e9b10f8e029efd1e86cd6fd5069d43ced51b917e2aaed230ef772901e20da4dd2ac8d7a08b18eaf11226b9383125
7
+ data.tar.gz: fe782b0e033bf664a55a340ace4d418806c1a430d48a0cd6c81b9bb16ede93ca53490871627ad9433aa971d4a1a6e44200a7971fc21239bc8e8a913fddb7dd4b
@@ -7,9 +7,11 @@ module Pattana
7
7
  proc_code = Proc.new do
8
8
  @country = Country.find_by_id(params[:country_id])
9
9
  if @country
10
- @cities = @country.cities.where("show_in_api is true").order("name ASC").all
10
+ @relation = @country.cities.includes(:region, :country).where("cities.show_in_api is true").order("cities.name ASC")
11
+ @relation = @relation.search(params[:q]) if params[:q]
12
+ @cities = @relation.all
13
+ @data = ActiveModelSerializers::SerializableResource.new(@cities, each_serializer: CityPreviewSerializer)
11
14
  @success = true
12
- @data = @cities
13
15
  else
14
16
  @success = false
15
17
  @errors = {
@@ -28,9 +30,11 @@ module Pattana
28
30
  @country = Country.find_by_id(params[:country_id])
29
31
  if @country
30
32
  if @region.country_id == @country.id
31
- @cities = @region.cities.where("show_in_api is true").order("name ASC").all
33
+ @relation = @region.cities.includes(:region, :country).where("cities.show_in_api is true").order("cities.name ASC")
34
+ @relation = @relation.search(params[:q]) if params[:q]
35
+ @cities = @relation.all
36
+ @data = ActiveModelSerializers::SerializableResource.new(@cities, each_serializer: CityPreviewSerializer)
32
37
  @success = true
33
- @data = @cities
34
38
  else
35
39
  @success = false
36
40
  @errors = {
@@ -5,9 +5,11 @@ module Pattana
5
5
 
6
6
  def index
7
7
  proc_code = Proc.new do
8
- @countries = Country.where("show_in_api is true").order("name ASC").all
8
+ @relation = Country.where("countries.show_in_api is true").order("countries.name ASC")
9
+ @relation = @relation.search(params[:q]) if params[:q]
10
+ @countries = @relation.all
11
+ @data = ActiveModelSerializers::SerializableResource.new(@countries, each_serializer: CountryPreviewSerializer)
9
12
  @success = true
10
- @data = @countries
11
13
  end
12
14
  render_json_response(proc_code)
13
15
  end
@@ -18,7 +18,7 @@ module Pattana
18
18
  }
19
19
 
20
20
  @example_path = "pattana/api/v1/docs/"
21
- @examples = ["pos_case_1"]
21
+ @examples = ["pos_case_1", "pos_case_2"]
22
22
 
23
23
  set_nav("docs/countries")
24
24
 
@@ -42,7 +42,7 @@ module Pattana
42
42
  }
43
43
 
44
44
  @example_path = "pattana/api/v1/docs/"
45
- @examples = ["pos_case_1", "neg_case_1"]
45
+ @examples = ["pos_case_1", "pos_case_2", "neg_case_1"]
46
46
 
47
47
  set_nav("docs/regions")
48
48
 
@@ -66,7 +66,7 @@ module Pattana
66
66
  }
67
67
 
68
68
  @example_path = "pattana/api/v1/docs/"
69
- @examples = ["pos_case_1", "neg_case_1"]
69
+ @examples = ["pos_case_1", "pos_case_2", "neg_case_1"]
70
70
 
71
71
  set_nav("docs/cities_in_a_country")
72
72
 
@@ -7,9 +7,11 @@ module Pattana
7
7
  proc_code = Proc.new do
8
8
  @country = Country.find_by_id(params[:country_id])
9
9
  if @country
10
- @regions = @country.regions.where("show_in_api is true").order("name ASC").all
10
+ @relation = @country.regions.includes(:country).where("regions.show_in_api is true").order("regions.name ASC")
11
+ @relation = @relation.search(params[:q]) if params[:q]
12
+ @regions = @relation.all
13
+ @data = ActiveModelSerializers::SerializableResource.new(@regions, each_serializer: RegionPreviewSerializer)
11
14
  @success = true
12
- @data = @regions
13
15
  else
14
16
  @success = false
15
17
  @errors = {
data/app/models/city.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  class City < Pattana::ApplicationRecord
2
2
 
3
+ include ActiveModel::Serializers::JSON
4
+
3
5
  # Constants
4
6
  EXCLUDED_JSON_ATTRIBUTES = [:created_at, :updated_at, :show_in_api]
5
7
 
@@ -17,15 +19,16 @@ class City < Pattana::ApplicationRecord
17
19
  # Class Methods
18
20
  # ------------------
19
21
 
22
+ # BACKUP - TODO - REMOVE - TBR
20
23
  # Exclude some attributes info from json output.
21
- def as_json(options={})
22
- options[:except] ||= EXCLUDED_JSON_ATTRIBUTES
23
- #options[:include] ||= []
24
- #options[:methods] = []
25
- #options[:methods] << :profile_image
26
- json = super(options)
27
- Hash[*json.map{|k, v| [k, v || ""]}.flatten]
28
- end
24
+ # def as_json(options={})
25
+ # options[:except] ||= EXCLUDED_JSON_ATTRIBUTES
26
+ # #options[:include] ||= []
27
+ # #options[:methods] = []
28
+ # #options[:methods] << :profile_image
29
+ # json = super(options)
30
+ # Hash[*json.map{|k, v| [k, v || ""]}.flatten]
31
+ # end
29
32
 
30
33
  # Scopes Methods
31
34
 
@@ -0,0 +1,8 @@
1
+ class CityPreviewSerializer < ActiveModel::Serializer
2
+ include NullAttributeReplacer
3
+
4
+ attributes :id, :name, :priority
5
+
6
+ belongs_to :country, serializer: CountryPreviewSerializer
7
+ belongs_to :region, serializer: RegionPreviewSerializer
8
+ end
@@ -0,0 +1,4 @@
1
+ class CountryPreviewSerializer < ActiveModel::Serializer
2
+ include NullAttributeReplacer
3
+ attributes :id, :name, :iso_name, :dialing_prefix, :priority
4
+ end
@@ -0,0 +1,6 @@
1
+ class RegionPreviewSerializer < ActiveModel::Serializer
2
+ include NullAttributeReplacer
3
+ attributes :id, :name, :priority
4
+
5
+ belongs_to :country, serializer: CountryPreviewSerializer
6
+ end
@@ -13,26 +13,19 @@ api_output = <<-eos
13
13
  {
14
14
  "id": 21,
15
15
  "name": "Abu Dhabi",
16
- "alternative_names": "A-pu-that-pi,AEbu Saby,AUH,Aboe Dhabi,Abou Dabi,Abu Dabi,Abu Dabis,Abu Daby,Abu Daibi,Abu Dhabi,Abu Dhabi emiraat,Abu Zabi,Abu Zaby,Abu Zabye,Abu Zabyo,Abu á¸\u008cabi,Abu á¸\u0090abi,Abu-Dabi,Abu-Dabi khot,Abu-Dabio,Abu-Dzabi,Abú DabÃ\u00ad,Abú DaibÃ\u00ad,Abú ZabÃ\u00ad,Abû ",
17
- "iso_code": "",
18
- "country_id": 235,
19
- "region_id": 14,
20
- "latitude": "24.46667",
21
- "longitude": "54.36667",
22
- "population": 603492,
23
- "priority": 1000
24
- },
25
- {
26
- "id": 20,
27
- "name": "Adh Dhayd",
28
- "alternative_names": "Adh Dhaid,Adh Dhayd,Al Daid,Al-Dhayd,Dayd,Dhaid,Dhayd,Duhayd,Ihaid,aldhyd,اÙ\u0084ذÙ\u008aد,á¸\u0090ayd",
29
- "iso_code": "",
30
- "country_id": 235,
31
- "region_id": 11,
32
- "latitude": "25.28812",
33
- "longitude": "55.88157",
34
- "population": 24716,
35
- "priority": 1000
16
+ "priority": 1000,
17
+ "country": {
18
+ "id": 235,
19
+ "name": "United Arab Emirates",
20
+ "iso_name": "UNITED ARAB EMIRATES",
21
+ "dialing_prefix": "971",
22
+ "priority": 1000
23
+ },
24
+ "region": {
25
+ "id": 14,
26
+ "name": "Abu Dhabi",
27
+ "priority": 1000
28
+ }
36
29
  },
37
30
  .
38
31
  .
@@ -40,14 +33,19 @@ api_output = <<-eos
40
33
  {
41
34
  "id": 8,
42
35
  "name": "Umm al Qaywayn",
43
- "alternative_names": "Oumm al Qaiwain,Oumm al Qaïwaïn,Um al Kawain,Um al Quweim,Umm al Qaiwain,Umm al Qawain,Umm al Qaywayn,Umm al-Quwain,Umm-ehl'-Kajvajn,Yumul al Quwain,am alqywyn,Умм-Ñ\u008dлÑ\u008c-Ð\u009aайвайн,Ø£Ù\u0085 اÙ\u0084Ù\u0082Ù\u008aÙ\u0088Ù\u008aÙ\u0086",
44
- "iso_code": "",
45
- "country_id": 235,
46
- "region_id": 8,
47
- "latitude": "25.56473",
48
- "longitude": "55.55517",
49
- "population": 44411,
50
- "priority": 1000
36
+ "priority": 1000,
37
+ "country": {
38
+ "id": 235,
39
+ "name": "United Arab Emirates",
40
+ "iso_name": "UNITED ARAB EMIRATES",
41
+ "dialing_prefix": "971",
42
+ "priority": 1000
43
+ },
44
+ "region": {
45
+ "id": 8,
46
+ "name": "Umm Al Quwain",
47
+ "priority": 1000
48
+ }
51
49
  }]
52
50
  }
53
51
  eos
@@ -0,0 +1,63 @@
1
+ <%
2
+
3
+ api_title = "Positive Case - 2 - should search cities in a country"
4
+
5
+ api_input = <<-eos
6
+ {
7
+ "q": "<Search Query>"
8
+ }
9
+ eos
10
+
11
+ api_output = <<-eos
12
+ {
13
+ "success": true,
14
+ "data": [
15
+ {
16
+ "id": 21,
17
+ "name": "Abu Dhabi",
18
+ "priority": 1000,
19
+ "country": {
20
+ "id": 235,
21
+ "name": "United Arab Emirates",
22
+ "iso_name": "UNITED ARAB EMIRATES",
23
+ "dialing_prefix": "971",
24
+ "priority": 1000
25
+ },
26
+ "region": {
27
+ "id": 14,
28
+ "name": "Abu Dhabi",
29
+ "priority": 1000
30
+ }
31
+ },
32
+ .
33
+ .
34
+ .
35
+ {
36
+ "id": 8,
37
+ "name": "Umm al Qaywayn",
38
+ "priority": 1000,
39
+ "country": {
40
+ "id": 235,
41
+ "name": "United Arab Emirates",
42
+ "iso_name": "UNITED ARAB EMIRATES",
43
+ "dialing_prefix": "971",
44
+ "priority": 1000
45
+ },
46
+ "region": {
47
+ "id": 8,
48
+ "name": "Umm Al Quwain",
49
+ "priority": 1000
50
+ }
51
+ }]
52
+ }
53
+ eos
54
+
55
+ %>
56
+
57
+ <%= render partial: "kuppayam/api/docs/example", locals: {
58
+ negative_case: false,
59
+ example_id: "pos_case_2",
60
+ api_title: api_title,
61
+ api_input: api_input,
62
+ api_output: api_output
63
+ } %>
@@ -10,8 +10,8 @@ api_output = <<-eos
10
10
  {
11
11
  "success": false,
12
12
  "errors": {
13
- "heading": "Invalid Country ID",
14
- "message": "Pass a vaild Country ID to get the regions. Get Countries List along with their IDs from Countries API."
13
+ "heading": "Invalid Country ID",
14
+ "message": "Pass a vaild Country ID to get the regions. Get Countries List along with their IDs from Countries API."
15
15
  }
16
16
  }
17
17
  eos
@@ -1,6 +1,6 @@
1
1
  <%
2
2
 
3
- api_title = "Negative Case - 2 - should show errors if a valid country id is not passed"
3
+ api_title = "Negative Case - 2 - should show errors if a valid region id is not passed"
4
4
 
5
5
  api_input = <<-eos
6
6
  {}
@@ -20,7 +20,7 @@ eos
20
20
 
21
21
  <%= render partial: "kuppayam/api/docs/example", locals: {
22
22
  negative_case: true,
23
- example_id: "neg_case_1",
23
+ example_id: "neg_case_2",
24
24
  api_title: api_title,
25
25
  api_input: api_input,
26
26
  api_output: api_output
@@ -1,6 +1,6 @@
1
1
  <%
2
2
 
3
- api_title = "Negative Case - 3 - should show errors if a valid country id is not passed"
3
+ api_title = "Negative Case - 3 - should show errors if region id and country id doesn't match"
4
4
 
5
5
  api_input = <<-eos
6
6
  {}
@@ -20,7 +20,7 @@ eos
20
20
 
21
21
  <%= render partial: "kuppayam/api/docs/example", locals: {
22
22
  negative_case: true,
23
- example_id: "neg_case_1",
23
+ example_id: "neg_case_3",
24
24
  api_title: api_title,
25
25
  api_input: api_input,
26
26
  api_output: api_output
@@ -1,6 +1,6 @@
1
1
  <%
2
2
 
3
- api_title = "Positive Case - 1 - should return all the cities in a country"
3
+ api_title = "Positive Case - 1 - should return all the cities in a region"
4
4
 
5
5
  api_input = <<-eos
6
6
  {}
@@ -13,26 +13,19 @@ api_output = <<-eos
13
13
  {
14
14
  "id": 21,
15
15
  "name": "Abu Dhabi",
16
- "alternative_names": "A-pu-that-pi,AEbu Saby,AUH,Aboe Dhabi,Abou Dabi,Abu Dabi,Abu Dabis,Abu Daby,Abu Daibi,Abu Dhabi,Abu Dhabi emiraat,Abu Zabi,Abu Zaby,Abu Zabye,Abu Zabyo,Abu á¸\u008cabi,Abu á¸\u0090abi,Abu-Dabi,Abu-Dabi khot,Abu-Dabio,Abu-Dzabi,Abú DabÃ\u00ad,Abú DaibÃ\u00ad,Abú ZabÃ\u00ad,Abû ",
17
- "iso_code": "",
18
- "country_id": 235,
19
- "region_id": 14,
20
- "latitude": "24.46667",
21
- "longitude": "54.36667",
22
- "population": 603492,
23
- "priority": 1000
24
- },
25
- {
26
- "id": 20,
27
- "name": "Adh Dhayd",
28
- "alternative_names": "Adh Dhaid,Adh Dhayd,Al Daid,Al-Dhayd,Dayd,Dhaid,Dhayd,Duhayd,Ihaid,aldhyd,اÙ\u0084ذÙ\u008aد,á¸\u0090ayd",
29
- "iso_code": "",
30
- "country_id": 235,
31
- "region_id": 11,
32
- "latitude": "25.28812",
33
- "longitude": "55.88157",
34
- "population": 24716,
35
- "priority": 1000
16
+ "priority": 1000,
17
+ "country": {
18
+ "id": 235,
19
+ "name": "United Arab Emirates",
20
+ "iso_name": "UNITED ARAB EMIRATES",
21
+ "dialing_prefix": "971",
22
+ "priority": 1000
23
+ },
24
+ "region": {
25
+ "id": 14,
26
+ "name": "Abu Dhabi",
27
+ "priority": 1000
28
+ }
36
29
  },
37
30
  .
38
31
  .
@@ -40,14 +33,19 @@ api_output = <<-eos
40
33
  {
41
34
  "id": 8,
42
35
  "name": "Umm al Qaywayn",
43
- "alternative_names": "Oumm al Qaiwain,Oumm al Qaïwaïn,Um al Kawain,Um al Quweim,Umm al Qaiwain,Umm al Qawain,Umm al Qaywayn,Umm al-Quwain,Umm-ehl'-Kajvajn,Yumul al Quwain,am alqywyn,Умм-Ñ\u008dлÑ\u008c-Ð\u009aайвайн,Ø£Ù\u0085 اÙ\u0084Ù\u0082Ù\u008aÙ\u0088Ù\u008aÙ\u0086",
44
- "iso_code": "",
45
- "country_id": 235,
46
- "region_id": 8,
47
- "latitude": "25.56473",
48
- "longitude": "55.55517",
49
- "population": 44411,
50
- "priority": 1000
36
+ "priority": 1000,
37
+ "country": {
38
+ "id": 235,
39
+ "name": "United Arab Emirates",
40
+ "iso_name": "UNITED ARAB EMIRATES",
41
+ "dialing_prefix": "971",
42
+ "priority": 1000
43
+ },
44
+ "region": {
45
+ "id": 8,
46
+ "name": "Umm Al Quwain",
47
+ "priority": 1000
48
+ }
51
49
  }]
52
50
  }
53
51
  eos
@@ -1,9 +1,11 @@
1
1
  <%
2
2
 
3
- api_title = "Positive Case - 2 - should return all the cities in a region"
3
+ api_title = "Positive Case - 1 - should search cities in a region"
4
4
 
5
5
  api_input = <<-eos
6
- {}
6
+ {
7
+ "q": "<Search Query>"
8
+ }
7
9
  eos
8
10
 
9
11
  api_output = <<-eos
@@ -13,26 +15,19 @@ api_output = <<-eos
13
15
  {
14
16
  "id": 21,
15
17
  "name": "Abu Dhabi",
16
- "alternative_names": "A-pu-that-pi,AEbu Saby,AUH,Aboe Dhabi,Abou Dabi,Abu Dabi,Abu Dabis,Abu Daby,Abu Daibi,Abu Dhabi,Abu Dhabi emiraat,Abu Zabi,Abu Zaby,Abu Zabye,Abu Zabyo,Abu á¸\u008cabi,Abu á¸\u0090abi,Abu-Dabi,Abu-Dabi khot,Abu-Dabio,Abu-Dzabi,Abú DabÃ\u00ad,Abú DaibÃ\u00ad,Abú ZabÃ\u00ad,Abû ",
17
- "iso_code": "",
18
- "country_id": 235,
19
- "region_id": 14,
20
- "latitude": "24.46667",
21
- "longitude": "54.36667",
22
- "population": 603492,
23
- "priority": 1000
24
- },
25
- {
26
- "id": 20,
27
- "name": "Adh Dhayd",
28
- "alternative_names": "Adh Dhaid,Adh Dhayd,Al Daid,Al-Dhayd,Dayd,Dhaid,Dhayd,Duhayd,Ihaid,aldhyd,اÙ\u0084ذÙ\u008aد,á¸\u0090ayd",
29
- "iso_code": "",
30
- "country_id": 235,
31
- "region_id": 11,
32
- "latitude": "25.28812",
33
- "longitude": "55.88157",
34
- "population": 24716,
35
- "priority": 1000
18
+ "priority": 1000,
19
+ "country": {
20
+ "id": 235,
21
+ "name": "United Arab Emirates",
22
+ "iso_name": "UNITED ARAB EMIRATES",
23
+ "dialing_prefix": "971",
24
+ "priority": 1000
25
+ },
26
+ "region": {
27
+ "id": 14,
28
+ "name": "Abu Dhabi",
29
+ "priority": 1000
30
+ }
36
31
  },
37
32
  .
38
33
  .
@@ -40,14 +35,19 @@ api_output = <<-eos
40
35
  {
41
36
  "id": 8,
42
37
  "name": "Umm al Qaywayn",
43
- "alternative_names": "Oumm al Qaiwain,Oumm al Qaïwaïn,Um al Kawain,Um al Quweim,Umm al Qaiwain,Umm al Qawain,Umm al Qaywayn,Umm al-Quwain,Umm-ehl'-Kajvajn,Yumul al Quwain,am alqywyn,Умм-Ñ\u008dлÑ\u008c-Ð\u009aайвайн,Ø£Ù\u0085 اÙ\u0084Ù\u0082Ù\u008aÙ\u0088Ù\u008aÙ\u0086",
44
- "iso_code": "",
45
- "country_id": 235,
46
- "region_id": 8,
47
- "latitude": "25.56473",
48
- "longitude": "55.55517",
49
- "population": 44411,
50
- "priority": 1000
38
+ "priority": 1000,
39
+ "country": {
40
+ "id": 235,
41
+ "name": "United Arab Emirates",
42
+ "iso_name": "UNITED ARAB EMIRATES",
43
+ "dialing_prefix": "971",
44
+ "priority": 1000
45
+ },
46
+ "region": {
47
+ "id": 8,
48
+ "name": "Umm Al Quwain",
49
+ "priority": 1000
50
+ }
51
51
  }]
52
52
  }
53
53
  eos
@@ -56,7 +56,7 @@ eos
56
56
 
57
57
  <%= render partial: "kuppayam/api/docs/example", locals: {
58
58
  negative_case: false,
59
- example_id: "pos_case_1",
59
+ example_id: "pos_case_2",
60
60
  api_title: api_title,
61
61
  api_input: api_input,
62
62
  api_output: api_output
@@ -11,45 +11,17 @@ api_output = <<-eos
11
11
  "success": true,
12
12
  "data": [
13
13
  {
14
- "id": 1,
15
- "name": "Afghanistan",
16
- "official_name": "Afghanistan",
17
- "iso_name": "AFGHANISTAN",
18
- "fips": "AF",
19
- "iso_alpha_2": "AF",
20
- "iso_alpha_3": "AFG",
21
- "itu_code": "AFG",
22
- "dialing_prefix": "93",
23
- "tld": ".af",
24
- "latitude": "33.0",
25
- "longitude": "65.0",
26
- "capital": "Kabul",
27
- "continent": "AS",
28
- "currency_code": "AFN",
29
- "currency_name": "Afghani",
30
- "is_independent": "Yes",
31
- "languages": "fa-AF,ps,uz-AF,tk",
14
+ "id": 100,
15
+ "name": "India",
16
+ "iso_name": "INDIA",
17
+ "dialing_prefix": "91",
32
18
  "priority": 1000
33
19
  },
34
20
  {
35
21
  "id": 2,
36
22
  "name": "Albania",
37
- "official_name": "Albania",
38
23
  "iso_name": "ALBANIA",
39
- "fips": "AL",
40
- "iso_alpha_2": "AL",
41
- "iso_alpha_3": "ALB",
42
- "itu_code": "ALB",
43
24
  "dialing_prefix": "355",
44
- "tld": ".al",
45
- "latitude": "41.0",
46
- "longitude": "20.0",
47
- "capital": "Tirana",
48
- "continent": "EU",
49
- "currency_code": "ALL",
50
- "currency_name": "Lek",
51
- "is_independent": "Yes",
52
- "languages": "sq,el",
53
25
  "priority": 1000
54
26
  },
55
27
  .
@@ -58,22 +30,8 @@ api_output = <<-eos
58
30
  {
59
31
  "id": 246,
60
32
  "name": "Zimbabwe",
61
- "official_name": "Zimbabwe",
62
33
  "iso_name": "ZIMBABWE",
63
- "fips": "ZI",
64
- "iso_alpha_2": "ZW",
65
- "iso_alpha_3": "ZWE",
66
- "itu_code": "ZWE",
67
34
  "dialing_prefix": "263",
68
- "tld": ".zw",
69
- "latitude": "-20.0",
70
- "longitude": "30.0",
71
- "capital": "Harare",
72
- "continent": "AF",
73
- "currency_code": "ZWL",
74
- "currency_name": "Zimbabwe Dollar",
75
- "is_independent": "Yes",
76
- "languages": "en-ZW,sn,nr,nd",
77
35
  "priority": 1000
78
36
  }]
79
37
  }
@@ -0,0 +1,50 @@
1
+ <%
2
+
3
+ api_title = "Positive Case - 2 - should search countries"
4
+
5
+ api_input = <<-eos
6
+ {
7
+ "q": "<Search Query>"
8
+ }
9
+ eos
10
+
11
+ api_output = <<-eos
12
+ {
13
+ "success": true,
14
+ "data": [
15
+ {
16
+ "id": 100,
17
+ "name": "India",
18
+ "iso_name": "INDIA",
19
+ "dialing_prefix": "91",
20
+ "priority": 1000
21
+ },
22
+ {
23
+ "id": 2,
24
+ "name": "Albania",
25
+ "iso_name": "ALBANIA",
26
+ "dialing_prefix": "355",
27
+ "priority": 1000
28
+ },
29
+ .
30
+ .
31
+ .
32
+ {
33
+ "id": 246,
34
+ "name": "Zimbabwe",
35
+ "iso_name": "ZIMBABWE",
36
+ "dialing_prefix": "263",
37
+ "priority": 1000
38
+ }]
39
+ }
40
+ eos
41
+
42
+ %>
43
+
44
+ <%= render partial: "kuppayam/api/docs/example", locals: {
45
+ negative_case: false,
46
+ example_id: "pos_case_2",
47
+ api_title: api_title,
48
+ api_input: api_input,
49
+ api_output: api_output
50
+ } %>
@@ -11,34 +11,43 @@ api_output = <<-eos
11
11
  "success": true,
12
12
  "data": [
13
13
  {
14
- "id": 8,
15
- "name": "Umm Al Quwain",
16
- "iso_code": "AE-07",
17
- "country_id": 235,
18
- "latitude": "",
19
- "longitude": "",
20
- "priority": 1000
14
+ "id": 1329,
15
+ "name": "Andaman and Nicobar Islands",
16
+ "priority": 1000,
17
+ "country": {
18
+ "id": 100,
19
+ "name": "India",
20
+ "iso_name": "INDIA",
21
+ "dialing_prefix": "91",
22
+ "priority": 1000
23
+ }
21
24
  },
22
25
  {
23
- "id": 9,
24
- "name": "Ras Al Khaimah",
25
- "iso_code": "AE-05",
26
- "country_id": 235,
27
- "latitude": "",
28
- "longitude": "",
29
- "priority": 1000
26
+ "id": 1328,
27
+ "name": "Andhra Pradesh",
28
+ "priority": 1000,
29
+ "country": {
30
+ "id": 100,
31
+ "name": "India",
32
+ "iso_name": "INDIA",
33
+ "dialing_prefix": "91",
34
+ "priority": 1000
35
+ }
30
36
  },
31
37
  .
32
38
  .
33
39
  .
34
40
  {
35
- "id": 13,
36
- "name": "Ajman",
37
- "iso_code": "AE-02",
38
- "country_id": 235,
39
- "latitude": "25.41222",
40
- "longitude": "55.434738",
41
- "priority": 1000
41
+ "id": 1332,
42
+ "name": "Uttaranchal",
43
+ "priority": 1000,
44
+ "country": {
45
+ "id": 100,
46
+ "name": "India",
47
+ "iso_name": "INDIA",
48
+ "dialing_prefix": "91",
49
+ "priority": 1000
50
+ }
42
51
  }]
43
52
  }
44
53
  eos
@@ -0,0 +1,65 @@
1
+ <%
2
+
3
+ api_title = "Positive Case - 1 - should return search regions in a country"
4
+
5
+ api_input = <<-eos
6
+ {
7
+ "q": "<Search Query>"
8
+ }
9
+ eos
10
+
11
+ api_output = <<-eos
12
+ {
13
+ "success": true,
14
+ "data": [
15
+ {
16
+ "id": 1329,
17
+ "name": "Andaman and Nicobar Islands",
18
+ "priority": 1000,
19
+ "country": {
20
+ "id": 100,
21
+ "name": "India",
22
+ "iso_name": "INDIA",
23
+ "dialing_prefix": "91",
24
+ "priority": 1000
25
+ }
26
+ },
27
+ {
28
+ "id": 1328,
29
+ "name": "Andhra Pradesh",
30
+ "priority": 1000,
31
+ "country": {
32
+ "id": 100,
33
+ "name": "India",
34
+ "iso_name": "INDIA",
35
+ "dialing_prefix": "91",
36
+ "priority": 1000
37
+ }
38
+ },
39
+ .
40
+ .
41
+ .
42
+ {
43
+ "id": 1332,
44
+ "name": "Uttaranchal",
45
+ "priority": 1000,
46
+ "country": {
47
+ "id": 100,
48
+ "name": "India",
49
+ "iso_name": "INDIA",
50
+ "dialing_prefix": "91",
51
+ "priority": 1000
52
+ }
53
+ }]
54
+ }
55
+ eos
56
+
57
+ %>
58
+
59
+ <%= render partial: "kuppayam/api/docs/example", locals: {
60
+ negative_case: false,
61
+ example_id: "pos_case_2",
62
+ api_title: api_title,
63
+ api_input: api_input,
64
+ api_output: api_output
65
+ } %>
@@ -6,6 +6,7 @@ module Pattana
6
6
  require 'kuppayam'
7
7
  require 'colorize'
8
8
  require 'colorized_string'
9
+ require 'active_model_serializers'
9
10
 
10
11
  isolate_namespace Pattana
11
12
 
@@ -1,3 +1,3 @@
1
1
  module Pattana
2
- VERSION = '0.1.7'
2
+ VERSION = '0.1.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pattana
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - kpvarma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-18 00:00:00.000000000 Z
11
+ date: 2017-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -84,20 +84,40 @@ dependencies:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 0.0.5
87
+ - !ruby/object:Gem::Dependency
88
+ name: filesize
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: 0.1.1
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: 0.1.1
87
101
  - !ruby/object:Gem::Dependency
88
102
  name: kuppayam
89
103
  requirement: !ruby/object:Gem::Requirement
90
104
  requirements:
91
105
  - - "~>"
92
106
  - !ruby/object:Gem::Version
93
- version: 0.1.12
107
+ version: '0.1'
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 0.1.13
94
111
  type: :runtime
95
112
  prerelease: false
96
113
  version_requirements: !ruby/object:Gem::Requirement
97
114
  requirements:
98
115
  - - "~>"
99
116
  - !ruby/object:Gem::Version
100
- version: 0.1.12
117
+ version: '0.1'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 0.1.13
101
121
  - !ruby/object:Gem::Dependency
102
122
  name: bcrypt
103
123
  requirement: !ruby/object:Gem::Requirement
@@ -126,6 +146,20 @@ dependencies:
126
146
  - - "~>"
127
147
  - !ruby/object:Gem::Version
128
148
  version: '0.8'
149
+ - !ruby/object:Gem::Dependency
150
+ name: active_model_serializers
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: 0.10.6
156
+ type: :runtime
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: 0.10.6
129
163
  - !ruby/object:Gem::Dependency
130
164
  name: pry
131
165
  requirement: !ruby/object:Gem::Requirement
@@ -181,25 +215,25 @@ dependencies:
181
215
  - !ruby/object:Gem::Version
182
216
  version: 0.9.0
183
217
  - !ruby/object:Gem::Dependency
184
- name: rmagick
218
+ name: mini_magick
185
219
  requirement: !ruby/object:Gem::Requirement
186
220
  requirements:
187
221
  - - "~>"
188
222
  - !ruby/object:Gem::Version
189
- version: 2.13.3
223
+ version: 4.8.0
190
224
  - - ">="
191
225
  - !ruby/object:Gem::Version
192
- version: 2.13.2
226
+ version: 4.8.0
193
227
  type: :development
194
228
  prerelease: false
195
229
  version_requirements: !ruby/object:Gem::Requirement
196
230
  requirements:
197
231
  - - "~>"
198
232
  - !ruby/object:Gem::Version
199
- version: 2.13.3
233
+ version: 4.8.0
200
234
  - - ">="
201
235
  - !ruby/object:Gem::Version
202
- version: 2.13.2
236
+ version: 4.8.0
203
237
  - !ruby/object:Gem::Dependency
204
238
  name: rspec-rails
205
239
  requirement: !ruby/object:Gem::Requirement
@@ -352,6 +386,9 @@ files:
352
386
  - app/models/country.rb
353
387
  - app/models/pattana/application_record.rb
354
388
  - app/models/region.rb
389
+ - app/serializers/city_preview_serializer.rb
390
+ - app/serializers/country_preview_serializer.rb
391
+ - app/serializers/region_preview_serializer.rb
355
392
  - app/views/kuppayam/api/docs/_navigation.html.erb
356
393
  - app/views/layouts/kuppayam/_footer.html.erb
357
394
  - app/views/layouts/kuppayam/_header.html.erb
@@ -360,14 +397,17 @@ files:
360
397
  - app/views/layouts/pattana/application.html.erb
361
398
  - app/views/pattana/api/v1/docs/cities_in_a_country/_neg_case_1.html.erb
362
399
  - app/views/pattana/api/v1/docs/cities_in_a_country/_pos_case_1.html.erb
400
+ - app/views/pattana/api/v1/docs/cities_in_a_country/_pos_case_2.html.erb
363
401
  - app/views/pattana/api/v1/docs/cities_in_a_region/_neg_case_1.html.erb
364
402
  - app/views/pattana/api/v1/docs/cities_in_a_region/_neg_case_2.html.erb
365
403
  - app/views/pattana/api/v1/docs/cities_in_a_region/_neg_case_3.html.erb
366
404
  - app/views/pattana/api/v1/docs/cities_in_a_region/_pos_case_1.html.erb
367
405
  - app/views/pattana/api/v1/docs/cities_in_a_region/_pos_case_2.html.erb
368
406
  - app/views/pattana/api/v1/docs/countries/_pos_case_1.html.erb
407
+ - app/views/pattana/api/v1/docs/countries/_pos_case_2.html.erb
369
408
  - app/views/pattana/api/v1/docs/regions/_neg_case_1.html.erb
370
409
  - app/views/pattana/api/v1/docs/regions/_pos_case_1.html.erb
410
+ - app/views/pattana/api/v1/docs/regions/_pos_case_2.html.erb
371
411
  - app/views/pattana/cities/_form.html.erb
372
412
  - app/views/pattana/cities/_index.html.erb
373
413
  - app/views/pattana/cities/_row.html.erb