recommendation_strategy 1.0.0 → 1.0.1

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
  SHA256:
3
- metadata.gz: 3a1b24abebdae961f6d369f273beac4e578b355306ed88dfc0cc85ead48efdd0
4
- data.tar.gz: 762782d95acff7cb4eadc98fec9b1e232aab90ab0007dbaa9876d5d6e365619b
3
+ metadata.gz: 680cac8e5491878df63a3d22bafa949d52094297b7aeb444b0512cc93ace2290
4
+ data.tar.gz: 775b6cd604b172737fd389c6ee6233f8f71e18a9bbc0799187cea936bf1ea5c9
5
5
  SHA512:
6
- metadata.gz: 3a5cd072c50253b2c43a7cb7503758406c8bdc6f344d9e3579eb7535dad8fe760e3b4600e19fefe1888bd4458698759999c955557873fba3478cd60eb84f9275
7
- data.tar.gz: 18029cb8fd8aefb965ca7e5c9987515fa3c5f6366677f290e7e3c542e034df30459d81bcce957e6532f74dda66201306cf5b9c5d5d6a2b94fde74f7a8bd23648
6
+ metadata.gz: c4a5ffe1b743862774dd69aecb7973bb4d9164e0b4b371bba83055c8c9fe0dfbb7dabcb471e08e83c5cdab9a5f7bd9320a7d0e6c10d1a05f2020bc055c3951f1
7
+ data.tar.gz: 23adad34373dca4033ef74af93f2c75a6a1a82a7f421afd511f13f160f2f543a5f8e2ad6bfd432552d5eebaf5ae8846b8d30fef630c30e5f55d922706b49a2fd
@@ -0,0 +1,118 @@
1
+ class ItPlannerRecommendation < ApplicationController
2
+ def type(userid)
3
+ raise NotImplementedError, 'Ask the subclass'
4
+ end
5
+ end
6
+
7
+ class RecommendationByCollaborativeHotels < ItPlannerRecommendation
8
+ def type(userid)
9
+ id = userid
10
+ user = User.find(id)
11
+ #@user = User.find_by_id(current_user.id)
12
+ @recommendedhotelsbycollab = Hash.new(0)
13
+ collab = user.recommend_hotels
14
+ collab.each do|key, value|
15
+ @recommendedhotelsbycollab[key] = value
16
+ end
17
+ end
18
+ #hotelcollaborativefilter
19
+
20
+ end
21
+
22
+ class RecommendationByTopratedHotels < ItPlannerRecommendation
23
+ def type(userid)
24
+
25
+ @recommendedhotelsbytop = Hash.new(0)
26
+ hotels = Hash.new(0)
27
+ liked = LikedHotel.group(:hotel_id).count
28
+ sortedlike = liked.sort_by{|key,value| value}.reverse
29
+ sortedlike.each do|res|
30
+ hotels[Hotel.find_by_id(res[0])] = res[1]
31
+ end
32
+ toprated = hotels
33
+ toprated.each do |key, value|
34
+ exst = LikedHotel.where(hotel_id: key.id, user_id: userid)
35
+ if(exst == [])
36
+ @recommendedhotelsbytop[key] = value
37
+ end
38
+ end
39
+
40
+ #hoteltopratedfilter
41
+ end
42
+ end
43
+
44
+ class RecommendationByCollaborativeRestaurants < ItPlannerRecommendation
45
+ def type(userid)
46
+
47
+ @user = User.find_by_id(userid)
48
+ @recommendedrestaurantsbycollab = Hash.new(0)
49
+ collab = @user.recommend_restaurants
50
+ collab.each do|key, value|
51
+
52
+ @recommendedrestaurantsbycollab[key] = value
53
+
54
+ end
55
+ end
56
+ end
57
+
58
+ class RecommendationByTopratedRestaurants < ItPlannerRecommendation
59
+ def type(userid)
60
+ @recommendedrestaurantsbytop = Hash.new(0)
61
+ restaurants = Hash.new(0)
62
+ liked = LikedRestaurant.group(:restaurant_id).count
63
+ sortedlike = liked.sort_by{|key,value| value}.reverse
64
+ sortedlike.each do|res|
65
+ restaurants[Restaurant.find_by_id(res[0])] = res[1]
66
+ end
67
+ toprated = restaurants
68
+ i=0
69
+ toprated.each do |key, value|
70
+
71
+
72
+
73
+ exst = LikedRestaurant.where(restaurant_id: key.id, user_id: userid)
74
+ if(exst == [])
75
+ @recommendedrestaurantsbytop[key] = value
76
+
77
+
78
+ end
79
+ end
80
+ end
81
+ end
82
+
83
+ class RecommendationByCollaborativeTransports < ItPlannerRecommendation
84
+ def type(userid)
85
+ user = User.find_by_id(userid)
86
+ @recommendedtrasnportsbycollab = Hash.new(0)
87
+ collab = user.recommend_transports
88
+ collab.each do|key, value|
89
+
90
+ @recommendedtrasnportsbycollab[key] = value
91
+ end
92
+ end
93
+ end
94
+
95
+ class RecommendationByTopratedTransports < ItPlannerRecommendation
96
+ def type(userid)
97
+ @recommendedtrasnportsbytop = Hash.new(0)
98
+ transports = Hash.new(0)
99
+ liked = LikedTransport.group(:transport_id).count
100
+ sortedlike = liked.sort_by{|key,value| value}.reverse
101
+ sortedlike.each do|res|
102
+ transports[Transport.find_by_id(res[0])] = res[1]
103
+ end
104
+ toprated = transports
105
+ i=0
106
+ toprated.each do |key, value|
107
+
108
+ if (i <6)
109
+ exst = LikedTransport.where(transport_id: key.id, user_id: userid)
110
+ if(exst == [])
111
+ @recommendedtrasnportsbytop[key] = value
112
+ i=i+1
113
+ end
114
+
115
+ end
116
+ end
117
+ end
118
+ end
@@ -6,4 +6,5 @@ class RecommendationResultGenerator < ApplicationController
6
6
  def recommendresult(userid)
7
7
  it_planner_recommendation.type(userid)
8
8
  end
9
- end
9
+ end
10
+ require 'it_planner_recommendation'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recommendation_strategy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sarath Ravichandran
@@ -16,6 +16,7 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
+ - lib/it_planner_recommendation.rb
19
20
  - lib/recommendation_result_generator.rb
20
21
  homepage: http://rubygems.org/gems/recommendation_strategy
21
22
  licenses: []