ish_models 0.0.33.160 → 0.0.33.163
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gameui/map.rb +5 -0
- data/lib/gameui/marker.rb +26 -15
- data/lib/ish/user_profile.rb +1 -1
- data/lib/newsitem.rb +13 -1
- data/lib/photo.rb +1 -1
- data/lib/tag.rb +4 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68d413825a0a694b0bdfd1a6fee4a85812bb2f3d34e0f431d2b0a30c27b29304
|
4
|
+
data.tar.gz: 3a5a7db6ce515ba7e9711839ab4c10b8f74387abd0e6d38c7bf0510d5e86094b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6b20eb004d674c488b459c23c12ca284bacefb558e1dfcdf03ce2e9b9548fb92ee7ba0c7452dbefb785b05e908a00f4ebdbda6548db7ae9a59df327944032b1
|
7
|
+
data.tar.gz: 2de807a995e6523d7ff0251f26a24daa127b3b13c1a00279baa69f72b78f708ff0e4cf5317255b19b8cc1f4b98fc629b4aede0321342b2baa6ab4b6d454f0596
|
data/lib/gameui/map.rb
CHANGED
@@ -25,6 +25,7 @@ class ::Gameui::Map
|
|
25
25
|
belongs_to :creator_profile, class_name: '::Ish::UserProfile', inverse_of: :my_maps
|
26
26
|
|
27
27
|
has_and_belongs_to_many :bookmarked_profiles, class_name: '::Ish::UserProfile', inverse_of: :bookmarked_location
|
28
|
+
has_and_belongs_to_many :tags, class_name: 'Tag', inverse_of: :map
|
28
29
|
|
29
30
|
# shareable, nonpublic
|
30
31
|
field :is_public, type: Boolean, default: true
|
@@ -58,6 +59,10 @@ class ::Gameui::Map
|
|
58
59
|
field :h, type: Integer
|
59
60
|
validates :h, presence: true
|
60
61
|
|
62
|
+
## @TODO: abstract this into a module
|
63
|
+
field :x, :type => Float
|
64
|
+
field :y, :type => Float
|
65
|
+
|
61
66
|
# @TODO: this is shared between map and marker, move to a concern.
|
62
67
|
before_validation :compute_w_h
|
63
68
|
def compute_w_h
|
data/lib/gameui/marker.rb
CHANGED
@@ -30,6 +30,10 @@ class ::Gameui::Marker
|
|
30
30
|
|
31
31
|
field :deleted_at, type: Time, default: nil # @TODO: replace with paranoia
|
32
32
|
|
33
|
+
## @TODO: abstract this into a module
|
34
|
+
field :x, :type => Float
|
35
|
+
field :y, :type => Float
|
36
|
+
|
33
37
|
field :is_public, type: Boolean, default: true
|
34
38
|
def self.public
|
35
39
|
where( is_public: true )
|
@@ -49,7 +53,21 @@ class ::Gameui::Marker
|
|
49
53
|
has_and_belongs_to_many :shared_profiles, :class_name => 'Ish::UserProfile', :inverse_of => :shared_markers
|
50
54
|
|
51
55
|
belongs_to :map, class_name: '::Gameui::Map', inverse_of: :markers
|
56
|
+
|
52
57
|
belongs_to :destination, class_name: '::Gameui::Map', inverse_of: :from_markers
|
58
|
+
before_validation :set_destination
|
59
|
+
def set_destination
|
60
|
+
d = Map.where({ slug: slug }).first
|
61
|
+
|
62
|
+
puts! self, '#set_destination'
|
63
|
+
|
64
|
+
if !d
|
65
|
+
self.errors.add( "Cannot save marker, destination |#{slug}| not found." )
|
66
|
+
return
|
67
|
+
end
|
68
|
+
self.destination_id = d.id
|
69
|
+
end
|
70
|
+
|
53
71
|
belongs_to :creator_profile, class_name: 'Ish::UserProfile', inverse_of: :my_markers
|
54
72
|
|
55
73
|
# # @deprecated, don't use!
|
@@ -61,22 +79,8 @@ class ::Gameui::Marker
|
|
61
79
|
|
62
80
|
field :w, type: Integer
|
63
81
|
validates :w, presence: true
|
64
|
-
|
65
82
|
field :h, type: Integer
|
66
83
|
validates :h, presence: true
|
67
|
-
|
68
|
-
field :x, type: Integer, default: 0
|
69
|
-
# validates :x, presence: true
|
70
|
-
|
71
|
-
field :y, type: Integer, default: 0
|
72
|
-
# validates :y, presence: true
|
73
|
-
|
74
|
-
field :centerOffsetX, type: Integer, default: 0
|
75
|
-
# validates :centerXOffset, presence: true
|
76
|
-
|
77
|
-
field :centerOffsetY, type: Integer, default: 0
|
78
|
-
# validates :centerYOffset, presence: true
|
79
|
-
|
80
84
|
# @TODO: this is shared between map and marker, move to a concern.
|
81
85
|
before_validation :compute_w_h
|
82
86
|
def compute_w_h
|
@@ -84,7 +88,6 @@ class ::Gameui::Marker
|
|
84
88
|
self.h = self.w = 0
|
85
89
|
return
|
86
90
|
end
|
87
|
-
|
88
91
|
begin
|
89
92
|
geo = Paperclip::Geometry.from_file(Paperclip.io_adapters.for(image.image))
|
90
93
|
self.w = geo.width
|
@@ -95,6 +98,14 @@ class ::Gameui::Marker
|
|
95
98
|
end
|
96
99
|
end
|
97
100
|
|
101
|
+
field :centerOffsetX, type: Integer, default: 0
|
102
|
+
# validates :centerXOffset, presence: true
|
103
|
+
|
104
|
+
field :centerOffsetY, type: Integer, default: 0
|
105
|
+
# validates :centerYOffset, presence: true
|
106
|
+
|
107
|
+
|
108
|
+
|
98
109
|
def export_fields
|
99
110
|
%w|
|
100
111
|
centerOffsetX centerOffsetY creator_profile_id
|
data/lib/ish/user_profile.rb
CHANGED
data/lib/newsitem.rb
CHANGED
@@ -11,7 +11,7 @@ class Newsitem
|
|
11
11
|
def gallery
|
12
12
|
self.gallery_id ? Gallery.unscoped.find( self.gallery_id ) : nil
|
13
13
|
end
|
14
|
-
belongs_to :map, optional: true,
|
14
|
+
belongs_to :map, optional: true, class_name: '::Gameui::Map'
|
15
15
|
belongs_to :profile, optional: true, class_name: 'Ish::UserProfile'
|
16
16
|
belongs_to :photo, optional: true
|
17
17
|
belongs_to :report, optional: true
|
@@ -37,6 +37,18 @@ class Newsitem
|
|
37
37
|
field :downvoting_users, :type => Array, :default => []
|
38
38
|
field :is_feature, :type => Boolean, :default => false
|
39
39
|
|
40
|
+
TYPE_GALLERY = :type_gallery
|
41
|
+
TYPE_PHOTO = :type_photo
|
42
|
+
TYPE_REPORT = :type_report
|
43
|
+
TYPE_VIDEO = :type_video
|
44
|
+
def item_type
|
45
|
+
return TYPE_GALLERY if gallery_id
|
46
|
+
return TYPE_PHOTO if photo_id
|
47
|
+
return TYPE_REPORT if report_id
|
48
|
+
return TYPE_VIDEO if video_id
|
49
|
+
end
|
50
|
+
|
51
|
+
|
40
52
|
PER_PAGE = 6
|
41
53
|
|
42
54
|
default_scope ->{ order_by({ :created_at => :desc }) }
|
data/lib/photo.rb
CHANGED
@@ -62,7 +62,7 @@ class Photo
|
|
62
62
|
|
|
63
63
|
end
|
64
64
|
|
65
|
-
validates_attachment_content_type :photo, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif", 'application/octet-stream' ]
|
65
|
+
validates_attachment_content_type :photo, :content_type => ["image/webp", "image/jpg", "image/jpeg", "image/png", "image/gif", 'application/octet-stream' ]
|
66
66
|
|
67
67
|
end
|
68
68
|
|
data/lib/tag.rb
CHANGED
@@ -4,15 +4,15 @@ class Tag
|
|
4
4
|
include Ish::Utils
|
5
5
|
|
6
6
|
field :name, :type => String
|
7
|
-
|
7
|
+
validates :name, :uniqueness => true, :allow_nil => false
|
8
8
|
|
9
9
|
field :slug
|
10
10
|
validates :slug, :uniqueness => true, presence: true, allow_nil: false
|
11
11
|
|
12
12
|
field :descr, :type => String, :default => ''
|
13
13
|
|
14
|
-
field :is_public,
|
15
|
-
field :is_trash,
|
14
|
+
field :is_public, :type => Boolean, :default => true
|
15
|
+
field :is_trash, :type => Boolean, :default => false
|
16
16
|
field :is_feature, :type => Boolean, :default => false
|
17
17
|
|
18
18
|
field :weight, :type => Integer, :default => 10
|
@@ -31,10 +31,7 @@ class Tag
|
|
31
31
|
has_and_belongs_to_many :galleries
|
32
32
|
has_and_belongs_to_many :reports
|
33
33
|
has_and_belongs_to_many :videos
|
34
|
-
|
35
|
-
default_scope ->{
|
36
|
-
where({ :is_public => true, :is_trash => false }).order_by({ :name => :asc })
|
37
|
-
}
|
34
|
+
has_and_belongs_to_many :maps, class_name: 'Gameui::Map'
|
38
35
|
|
39
36
|
before_validation :set_slug
|
40
37
|
|