ish_models 0.0.33.132 → 0.0.33.136

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: 0f281b9e5d6a0adaa051e580294f0159ccf7d6b8f94a30dc8c7c7c5ab867612f
4
- data.tar.gz: 64c0861c9545bf87e52e035a86d673513a12f9e58eaa6cbdaf17a2c4ad483fd4
3
+ metadata.gz: 172ea3b5881a62b2d1c4ef8bed4360782c6f9676eaa39c1be7e9febab7e8937b
4
+ data.tar.gz: ba242d1b5cc551a2257a0c2183413f1a9cebd5448cc570629761cb69e9e99863
5
5
  SHA512:
6
- metadata.gz: 0a76dfdda32e3e49560731381aed9158d33473739f6dc155de46b79ea11ca6d0a3f87a4c3e2f08e641aab987ac5770dcdb276edf1a6b0844c2fc5aded7b91c5a
7
- data.tar.gz: fff054a90f3161234d5c8fd6e4591dd0d0697d6ace50f40a422292517c1e6b09522c0ae2d8b3512be2126f69d54701b2f3e448090aa45824f000fe9f387cdeda
6
+ metadata.gz: c849a3a2b774e4290e10e28b83561f11d85eb0ed316acc2118ad8ff6188d2d7c902b7bab1e0e192f4010a6ab9f1bafafec3ecaaecf47029084c9fcce43da2c34
7
+ data.tar.gz: 5c8641248d523733c55643e8fe3ee95c4aa75cd4b7257684b60d4d48735e1a68187015abd7dbbda3558964f6c97c090a12fba4de3deab8081e952501bcec3e1d
data/lib/city.rb CHANGED
@@ -36,7 +36,7 @@ class City
36
36
  has_one :profile_photo, :class_name => 'Photo', :inverse_of => :profile_city
37
37
  has_one :guide, :class_name => '::IshModels::UserProfile', :inverse_of => :guide_city
38
38
 
39
- embeds_many :features
39
+ has_many :features
40
40
 
41
41
  field :calendar_frame, :type => String
42
42
  field :is_active, type: Boolean, default: true
data/lib/feature.rb CHANGED
@@ -1,31 +1,25 @@
1
1
 
2
- class Feature
3
-
2
+ class Feature
4
3
  include Mongoid::Document
5
4
  include Mongoid::Timestamps
6
5
 
7
- field :name, :type => String
8
- field :subhead, :type => String
6
+ field :name
7
+ field :subhead
9
8
 
10
- field :image_path, :type => String
11
- field :link_path, :type => String
12
- field :partial_name, :type => String
13
- field :inner_html, :type => String
14
- field :weight, :type => Integer, :default => 10
15
-
16
- belongs_to :photo, :optional => true
17
- belongs_to :report, :optional => true
18
- belongs_to :gallery, :optional => true
19
- belongs_to :video, :optional => true
20
- # has_one :photo
21
- # has_one :report
22
- # has_one :gallery
23
- # has_one :video
9
+ field :image_path
10
+ field :link_path
11
+ field :partial_name
12
+ field :inner_html
13
+ field :weight, type: Integer, default: 10
24
14
 
25
- embedded_in :venue
26
- embedded_in :site
27
- embedded_in :city
28
- embedded_in :tag
15
+ belongs_to :city, optional: true
16
+ belongs_to :gallery, optional: true
17
+ belongs_to :photo, optional: true
18
+ belongs_to :report, optional: true
19
+ belongs_to :site, optional: true
20
+ belongs_to :tag, optional: true
21
+ belongs_to :video, optional: true
22
+ belongs_to :venue, optional: true
29
23
 
30
24
  def self.all
31
25
  self.order_by( :created_at => :desc )
@@ -34,5 +28,5 @@ class Feature
34
28
  def self.n_features
35
29
  4
36
30
  end
37
-
31
+
38
32
  end
data/lib/gallery.rb CHANGED
@@ -39,6 +39,9 @@ class Gallery
39
39
 
40
40
  field :galleryname
41
41
  index({ :galleryname => -1 }, { :unique => true })
42
+ def slug
43
+ galleryname
44
+ end
42
45
  embeds_many :gallery_names, :class_name => '::Ish::GalleryName'
43
46
  def self.find_by_slug slug
44
47
  ::Gallery.where( galleryname: slug ).first
data/lib/gameui/map.rb CHANGED
@@ -4,7 +4,7 @@ class ::Gameui::Map
4
4
  include Mongoid::Timestamps
5
5
 
6
6
  has_many :markers, :class_name => '::Gameui::Marker', inverse_of: :map
7
- has_many :newsitems, inverse_of: :map
7
+ has_many :newsitems, inverse_of: :map, order: :created_at.desc
8
8
 
9
9
  field :slug
10
10
  validates :slug, uniqueness: true, presence: true
@@ -12,6 +12,9 @@ class ::Gameui::Map
12
12
  field :parent_slug
13
13
  belongs_to :parent, class_name: '::Gameui::Map', inverse_of: :childs, optional: true
14
14
  has_many :childs, class_name: '::Gameui::Map', inverse_of: :parent
15
+ has_one :image, class_name: '::Ish::ImageAsset', inverse_of: :location
16
+
17
+ has_and_belongs_to_many :bookmarked_profiles, class_name: '::IshModels::UserProfile', inverse_of: :bookmarked_location
15
18
 
16
19
  field :map_slug
17
20
  def map
@@ -19,16 +22,29 @@ class ::Gameui::Map
19
22
  end
20
23
 
21
24
  field :name
25
+ field :description
26
+
27
+ ## Possible keys: description, map, markers, newsitems,
28
+ field :labels, type: Object, default: {}
29
+ ## Possible keys:
30
+ ## config.description.collapsible
31
+ field :config, type: Object, default: {}
32
+
33
+ # @deprecated, dont use!
34
+ field :img_path
22
35
 
23
36
  field :w, type: Integer
24
37
  validates :w, presence: true
25
-
26
38
  field :h, type: Integer
27
39
  validates :h, presence: true
28
40
 
29
- field :description
30
-
31
- field :img_path
41
+ # @TODO: this is shared between map and marker, move to a concern.
42
+ before_validation :compute_w_h
43
+ def compute_w_h
44
+ geo = Paperclip::Geometry.from_file(Paperclip.io_adapters.for(image.image))
45
+ self.w = geo.width
46
+ self.h = geo.height
47
+ end
32
48
 
33
49
  ORDERING_TYPE_ALPHABETIC = 'alphabetic'
34
50
  ORDERING_TYPE_CUSTOM = 'custom'
@@ -39,7 +55,7 @@ class ::Gameui::Map
39
55
 
40
56
  def self.list conditions = { is_trash: false }
41
57
  out = self.order_by( created_at: :desc )
42
- [['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
58
+ [[nil, nil]] + out.map { |item| [ item.name, item.id ] }
43
59
  end
44
60
 
45
61
  def breadcrumbs
@@ -0,0 +1,9 @@
1
+
2
+ class ::Gameui::MapBookmark
3
+ include Mongoid::Document
4
+ include Mongoid::Timestamps
5
+
6
+ belongs_to :profile, class_name: 'IshModels::UserProfile'
7
+ belongs_to :location, class_name: '::Gameui::Map'
8
+
9
+ end
data/lib/gameui/marker.rb CHANGED
@@ -8,21 +8,37 @@ class ::Gameui::Marker
8
8
  field :slug
9
9
  validates :slug, uniqueness: true, presence: true
10
10
 
11
+ field :description
12
+
13
+ has_one :image, class_name: '::Ish::ImageAsset', inverse_of: :marker_image
14
+ has_one :title_image, class_name: '::Ish::ImageAsset', inverse_of: :marker_title_image
15
+
16
+
17
+ # @deprecated, don't use!
18
+ # _vp_ 2021-09-23
19
+ field :img_path
20
+ # validates :img_path, presence: true
21
+ field :title_img_path
22
+ # validates :title_img_path, presence: true
11
23
  field :w, type: Integer
12
24
  validates :w, presence: true
13
25
  field :h, type: Integer
14
26
  validates :h, presence: true
15
- field :x, type: Integer
16
- validates :x, presence: true
17
- field :y, type: Integer
18
- validates :y, presence: true
19
-
20
- field :img_path
21
- validates :img_path, presence: true
22
- field :title_img_path
23
- validates :title_img_path, presence: true
24
-
25
- field :description
27
+ field :x, type: Integer, default: 0
28
+ # validates :x, presence: true
29
+ field :y, type: Integer, default: 0
30
+ # validates :y, presence: true
31
+ field :centerOffsetX, type: Integer, default: 0
32
+ # validates :centerXOffset, presence: true
33
+ field :centerOffsetY, type: Integer, default: 0
34
+ # validates :centerYOffset, presence: true
35
+
36
+ before_validation :compute_w_h
37
+ def compute_w_h
38
+ geo = Paperclip::Geometry.from_file(Paperclip.io_adapters.for(image.image))
39
+ self.w = geo.width
40
+ self.h = geo.height
41
+ end
26
42
 
27
43
  field :is_active, type: Boolean, default: true
28
44
  field :deleted_at, type: Time, default: nil
@@ -38,6 +54,7 @@ class ::Gameui::Marker
38
54
  field :item_type, type: String
39
55
  validates :item_type, presence: true
40
56
 
57
+ field :url
41
58
 
42
59
  end
43
60
 
@@ -0,0 +1,27 @@
1
+ class Ish::ImageAsset
2
+ require 'aws-sdk'
3
+
4
+ include Mongoid::Document
5
+ include Mongoid::Timestamps
6
+ include Mongoid::Paperclip
7
+
8
+ belongs_to :location, class_name: 'Gameui::Map', inverse_of: :image, optional: true
9
+ belongs_to :marker_image, class_name: 'Gameui::Map', inverse_of: :image, optional: true
10
+ belongs_to :marker_title_image, class_name: 'Gameui::Map', inverse_of: :title_image, optional: true
11
+
12
+ has_mongoid_attached_file :image,
13
+ :styles => {
14
+ :thumb => "100x100#",
15
+ },
16
+ :storage => :s3,
17
+ :s3_credentials => ::S3_CREDENTIALS,
18
+ :path => "image_assets/:style/:id/:filename",
19
+ :s3_protocol => 'https',
20
+ :validate_media_type => false,
21
+ s3_region: ::S3_CREDENTIALS[:region]
22
+
23
+ validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif", 'application/octet-stream' ]
24
+
25
+ end
26
+
27
+
data/lib/ish/utils.rb ADDED
@@ -0,0 +1,25 @@
1
+
2
+ module Ish::Utils
3
+
4
+ private
5
+
6
+ def set_slug
7
+ return if slug
8
+ new_slug = name.downcase.gsub(/[^a-z0-9\s]/i, '').gsub(' ', '-')
9
+ if self.class.where( slug: new_slug ).first
10
+ loop do
11
+ if new_slug[new_slug.length-1].to_i != 0
12
+ # inrement last digit
13
+ last_digit = new_slug[new_slug.length-1].to_i
14
+ new_slug = "#{new_slug[0...new_slug.length-1]}#{last_digit+1}"
15
+ else
16
+ # add '-1' to the end
17
+ new_slug = "#{new_slug}-1"
18
+ end
19
+ break if !self.class.where( slug: new_slug ).first
20
+ end
21
+ end
22
+ self.slug = new_slug
23
+ end
24
+
25
+ end
@@ -10,6 +10,7 @@ class IshModels::UserProfile
10
10
  field :email
11
11
  # validates_format_of :email, :with => ::Devise::email_regexp
12
12
  validates_format_of :email,:with => /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/
13
+ validates_uniqueness_of :email
13
14
 
14
15
  field :fb_access_token
15
16
  field :fb_long_access_token
@@ -35,6 +36,11 @@ class IshModels::UserProfile
35
36
  has_many :videos, :inverse_of => :user_profile
36
37
  has_many :newsitems, inverse_of: :user_profile
37
38
 
39
+ has_and_belongs_to_many :bookmarked_locations, class_name: '::Gameui::Map', inverse_of: :bookmarked_profile
40
+ def bookmarks
41
+ bookmarked_locations
42
+ end
43
+
38
44
  has_and_belongs_to_many :friends, :class_name => 'IshModels::UserProfile', :inverse_of => :friendeds
39
45
  has_and_belongs_to_many :friendeds, :class_name => 'IshModels::UserProfile', :inverse_of => :friends
40
46
 
data/lib/ish_models.rb CHANGED
@@ -30,25 +30,28 @@ require 'co_tailors/address.rb'
30
30
 
31
31
  require 'gameui'
32
32
  require 'gameui/map.rb'
33
+ require 'gameui/map_bookmark.rb'
33
34
  require 'gameui/marker.rb'
34
35
  require 'gameui/premium_purchase.rb'
35
36
 
37
+ # require 'ish/alphavantage_stockwatcher.rb'
36
38
  require 'ish/ameritrade'
39
+ require 'ish/campaign.rb'
37
40
  require 'ish/covered_call'
38
41
  require 'ish/crawler.rb'
39
42
  require 'ish/gallery_name.rb'
43
+ require 'ish/image_asset.rb'
40
44
  require 'ish/input_error.rb'
45
+ require 'ish/invoice.rb'
41
46
  require 'ish/iron_condor.rb'
42
47
  require 'ish/iron_condor_watcher.rb'
48
+ require 'ish/issue.rb'
49
+ require 'ish/lead.rb'
43
50
  require 'ish/payment.rb'
44
51
  require 'ish/stock_action.rb'
45
52
  require 'ish/stock_option.rb'
46
53
  require 'ish/stock_watch.rb'
47
- # require 'ish/alphavantage_stockwatcher.rb'
48
- require 'ish/invoice.rb'
49
- require 'ish/lead.rb'
50
- require 'ish/campaign.rb'
51
- require 'ish/issue.rb'
54
+ require 'ish/utils.rb'
52
55
  require 'ish/yahoo_stockwatcher.rb'
53
56
 
54
57
  # obsolete, use `ish` namespace now
data/lib/newsitem.rb CHANGED
@@ -20,6 +20,10 @@ class Newsitem
20
20
 
21
21
  field :name
22
22
  field :descr
23
+ def description
24
+ descr
25
+ end
26
+
23
27
  field :image_path
24
28
  field :link_path
25
29
  field :username
data/lib/report.rb CHANGED
@@ -1,20 +1,24 @@
1
1
  class Report
2
2
  include ::Mongoid::Document
3
3
  include ::Mongoid::Timestamps
4
+ include Ish::Utils
4
5
 
5
6
  field :name, :type => String
6
7
  validates :name, :presence => true
7
8
  # index({ :name => 1 }, { :unique => true })
8
9
  index({ :name => 1, :is_trash => 1 })
9
10
 
10
- field :name_seo, :type => String
11
- validates :name_seo, :uniqueness => true, :presence => true
12
- index({ :name_seo => 1 }, { :unique => true })
11
+ field :slug
12
+ validates :slug, :uniqueness => true, :presence => true
13
+ index({ :slug => 1 }, { :unique => true })
13
14
 
14
- field :descr, :type => String
15
+ ## Can be one of: default (nil), longscroll
16
+ field :item_type, type: String
17
+
18
+ field :descr, :type => String
15
19
 
16
20
  field :is_trash, :type => Boolean, :default => false
17
- index :is_trash => 1, :is_public => 1
21
+ index :is_trash => 1, :is_public => 1
18
22
 
19
23
  field :is_public, :type => Boolean, :default => true
20
24
  index({ :is_public => 1 })
@@ -27,13 +31,13 @@ class Report
27
31
 
28
32
  field :is_done, :type => Boolean, :default => true
29
33
  index({ :is_done => 1 })
30
-
34
+
31
35
  field :x, :type => Float
32
36
  field :y, :type => Float
33
37
 
34
38
  field :lang, :type => String, :default => 'en'
35
39
  index({ :lang => 1 })
36
-
40
+
37
41
  belongs_to :user_profile, :optional => true, :class_name => 'IshModels::UserProfile'
38
42
 
39
43
  # validates :user, :presence => true, :allow_nil => false
@@ -43,14 +47,14 @@ class Report
43
47
 
44
48
  field :issue
45
49
  field :subhead
46
-
50
+
47
51
  belongs_to :city, :optional => true
48
52
  belongs_to :site, :optional => true
49
53
  belongs_to :cities_user, :optional => true
50
54
 
51
55
  has_and_belongs_to_many :tags
52
56
  has_and_belongs_to_many :venues
53
-
57
+
54
58
  has_one :photo
55
59
 
56
60
  field :n_upvotes, :default => 0
@@ -59,15 +63,15 @@ class Report
59
63
  default_scope ->{
60
64
  where({ is_public: true, is_trash: false }).order_by({ created_at: :desc })
61
65
  }
62
-
66
+
63
67
  has_many :newsitems
64
68
 
65
69
  def self.list conditions = { :is_trash => false }
66
70
  out = self.where( conditions ).order_by( :name => :asc ).limit( 100 )
67
71
  [['', nil]] + out.map { |item| [ item.name, item.id ] }
68
72
  end
69
-
70
- PER_PAGE = 20
73
+
74
+ PER_PAGE = 20
71
75
  def self.paginates_per
72
76
  self::PER_PAGE
73
77
  end
@@ -75,33 +79,30 @@ class Report
75
79
  def venue
76
80
  return self.venues[0] || nil
77
81
  end
78
-
82
+
79
83
  def self.all
80
84
  self.where( :is_public => true, :is_trash => false ).order_by( :created_at => :desc )
81
85
  end
82
-
86
+
83
87
  def self.not_tagged
84
88
  Report.where( :tag_ids => nil, :city => nil )
85
89
  end
86
-
90
+
87
91
  def self.for_homepage args
88
92
  begin
89
93
  tag_ids = args[:main_tag].children_tags.map { |tag| tag._id } + [ args[:main_tag]._id ]
90
94
  return Report.where( :tag_ids.in => tag_ids ).page args[:page]
91
95
  rescue
92
- return Report.page args[:page]
96
+ return Report.page args[:page]
93
97
  end
94
98
  end
95
99
 
96
- before_validation :set_name_seo, :on => :create
97
- def set_name_seo
98
- self.name_seo ||= self.name.gsub(' ', '-').gsub('.', '')
99
- end
100
+ before_validation :set_slug, :on => :create
100
101
 
101
102
  set_callback :update, :after do |doc|
102
103
  Site.update_all updated_at: Time.now
103
104
  end
104
-
105
+
105
106
  set_callback :create, :after do |doc|
106
107
  if doc.is_public
107
108
 
@@ -115,7 +116,7 @@ class Report
115
116
  v.newsitems << n
116
117
  v.save
117
118
  end
118
- end
119
+ end
119
120
 
120
121
  unless doc.city.blank?
121
122
  city = City.find doc.city.id
@@ -131,7 +132,7 @@ class Report
131
132
  end
132
133
  end
133
134
  end
134
-
135
+
135
136
  def self.clear
136
137
  if Rails.env.test?
137
138
  self.unscoped.each { |r| r.remove }
@@ -149,5 +150,5 @@ class Report
149
150
  end
150
151
  def premium?; is_premium; end
151
152
  has_many :premium_purchases, class_name: '::Gameui::PremiumPurchase', as: :item
152
-
153
+
153
154
  end
data/lib/site.rb CHANGED
@@ -30,7 +30,7 @@ class Site
30
30
  field :is_primary, :type => Boolean, :default => false
31
31
  field :is_private, :type => Boolean, :default => false
32
32
  field :private_user_emails, :type => Array, :default => []
33
-
33
+
34
34
  field :homepage_layout, :type => String, :default => 'show'
35
35
  field :layout, :type => String, :default => 'application'
36
36
 
@@ -40,9 +40,8 @@ class Site
40
40
  has_many :videos
41
41
  has_many :newsitems, :order => :created_at.desc
42
42
  has_many :issues, :class_name => 'Ish::Issue'
43
+ has_many :features, :order => :created_at.desc
43
44
 
44
- embeds_many :features, :order => :created_at.desc
45
-
46
45
  default_scope ->{ where({ :is_trash => false }).order_by({ :domain => :asc, :lang => :asc }) }
47
46
 
48
47
  set_callback :create, :before do |doc|
@@ -61,7 +60,7 @@ class Site
61
60
  end
62
61
 
63
62
  LANGUAGES = [ 'en', 'ru', 'pt' ]
64
-
63
+
65
64
  # manager uses it.
66
65
  def self.list
67
66
  out = self.all.order_by( :domain => :asc, :lang => :asc )
@@ -79,7 +78,7 @@ class Site
79
78
  def n_private_reports
80
79
  self.reports.unscoped.where( :is_public => false, :is_trash => false ).length
81
80
  end
82
-
81
+
83
82
  def its_locales
84
83
  Site.where( :domain => self.domain ).map { |s| s.lang.to_sym }
85
84
  end
data/lib/tag.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  class Tag
2
2
  include Mongoid::Document
3
3
  include Mongoid::Timestamps
4
+ include Ish::Utils
4
5
 
5
6
  field :name, :type => String
6
7
  # validates :name, :uniqueness => true, :allow_nil => false
7
8
 
8
- field :name_seo, :as => :tagname
9
- validates :name_seo, :uniqueness => true, :allow_nil => false
9
+ field :slug
10
+ validates :slug, :uniqueness => true, presence: true, allow_nil: false
10
11
 
11
12
  field :descr, :type => String, :default => ''
12
13
 
@@ -19,8 +20,7 @@ class Tag
19
20
  has_many :children_tags, :class_name => 'Tag', :inverse_of => :parent_tag
20
21
  belongs_to :parent_tag, :class_name => 'Tag', :inverse_of => :children_tags, :optional => true
21
22
 
22
- embeds_many :features
23
- # embeds_many :newsitems
23
+ has_many :features
24
24
  has_many :newsitems
25
25
 
26
26
  belongs_to :site, :optional => true
@@ -36,11 +36,7 @@ class Tag
36
36
  where({ :is_public => true, :is_trash => false }).order_by({ :name => :asc })
37
37
  }
38
38
 
39
- before_create do |d|
40
- if d.name_seo.blank?
41
- d.name_seo = d.name.gsub(' ', '-')
42
- end
43
- end
39
+ before_validation :set_slug
44
40
 
45
41
  def self.clear
46
42
  if Rails.env.test?
@@ -72,9 +68,9 @@ class Tag
72
68
  4
73
69
  end
74
70
 
75
- # @deprecated I don't even know why I have this. Should be simplified into non-being.
76
71
  def self.n_features
77
72
  4
78
73
  end
74
+ field :n_features, type: Integer, default: 4
79
75
 
80
76
  end
data/lib/venue.rb CHANGED
@@ -1,16 +1,20 @@
1
1
  class Venue
2
2
  include ::Mongoid::Document
3
3
  include ::Mongoid::Timestamps
4
+ include Ish::Utils
5
+
6
+ field :address
4
7
 
5
8
  field :name, :type => String
6
9
  validates :name, :uniqueness => true, :allow_nil => false
7
10
 
8
- field :name_seo, :type => String
9
- validates :name_seo, :uniqueness => true, :allow_nil => false
10
-
11
+ field :slug
12
+ validates :slug, :uniqueness => true, :allow_nil => false
13
+ before_validation :set_slug
14
+
11
15
  field :subhead
12
16
  field :descr
13
-
17
+
14
18
  field :is_trash, :type => Boolean, :default => false
15
19
  scope :fresh, ->{ where({ :is_trash => false }) }
16
20
  scope :trash, ->{ where({ :is_trash => true }) }
@@ -39,9 +43,8 @@ class Venue
39
43
  has_many :reports
40
44
  has_many :galleries
41
45
  has_many :photos
42
-
43
- embeds_many :newsitems
44
- embeds_many :features
46
+ has_many :newsitems
47
+ has_many :features
45
48
 
46
49
  PER_PAGE = 6
47
50
 
@@ -50,9 +53,7 @@ class Venue
50
53
  [['', nil]] + out.map { |item| [ item.name, item.id ] }
51
54
  end
52
55
 
53
- set_callback :create, :before do |doc|
54
- doc.name_seo = doc.name.gsub(' ', '-')
55
- end
56
+
56
57
 
57
58
  set_callback :save, :before do |doc|
58
59
  if doc.city
data/lib/video.rb CHANGED
@@ -53,7 +53,8 @@ class Video
53
53
  :path => "videos/:style/:id/:filename",
54
54
  :s3_protocol => 'https',
55
55
  :s3_permissions => 'public-read',
56
- :validate_media_type => false
56
+ :validate_media_type => false,
57
+ s3_region: ::S3_CREDENTIALS[:region]
57
58
  validates_attachment_content_type :video, content_type: /\Avideo\/.*\Z/
58
59
 
59
60
  has_mongoid_attached_file :thumb,
@@ -70,7 +71,8 @@ class Video
70
71
  :s3_credentials => ::S3_CREDENTIALS,
71
72
  :path => "videos/:style/:id/thumb_:filename",
72
73
  :s3_protocol => 'https',
73
- :validate_media_type => false
74
+ :validate_media_type => false,
75
+ s3_region: ::S3_CREDENTIALS[:region]
74
76
  validates_attachment_content_type :thumb, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif", 'application/octet-stream' ]
75
77
 
76
78
  set_callback :update, :after do |doc|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ish_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33.132
4
+ version: 0.0.33.136
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
@@ -116,6 +116,7 @@ files:
116
116
  - lib/gallery.rb
117
117
  - lib/gameui.rb
118
118
  - lib/gameui/map.rb
119
+ - lib/gameui/map_bookmark.rb
119
120
  - lib/gameui/marker.rb
120
121
  - lib/gameui/premium_purchase.rb
121
122
  - lib/ish/alphavantage_stockwatcher.rb
@@ -125,6 +126,7 @@ files:
125
126
  - lib/ish/covered_call_watcher.rb
126
127
  - lib/ish/crawler.rb
127
128
  - lib/ish/gallery_name.rb
129
+ - lib/ish/image_asset.rb
128
130
  - lib/ish/input_error.rb
129
131
  - lib/ish/invoice.rb
130
132
  - lib/ish/iron_condor.rb
@@ -135,6 +137,7 @@ files:
135
137
  - lib/ish/stock_action.rb
136
138
  - lib/ish/stock_option.rb
137
139
  - lib/ish/stock_watch.rb
140
+ - lib/ish/utils.rb
138
141
  - lib/ish/yahoo_stockwatcher.rb
139
142
  - lib/ish_models.rb
140
143
  - lib/ish_models/cache_key.rb