ish_models 0.0.3 → 0.0.6
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 +4 -4
- data/lib/app_model2.rb +33 -0
- data/lib/aux_model.rb +22 -0
- data/lib/city.rb +2 -2
- data/lib/gallery.rb +0 -1
- data/lib/ish_models.rb +13 -8
- data/lib/ish_models.rb~ +11 -0
- data/lib/newsitem.rb +50 -0
- data/lib/photo.rb +70 -0
- data/lib/public_item.rb +60 -0
- data/lib/report.rb +2 -2
- data/lib/site.rb +0 -1
- data/lib/venue.rb +2 -6
- metadata +28 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e8efda6f73dc85f020d688125566693bed7aca87
         | 
| 4 | 
            +
              data.tar.gz: b907052ec21d45b83d0e084450c82dcf178ca0a4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d410149815d472eef473f1a047a4c8dc54a11bcb7659484866e2503b9a284ef7bd2b44d742713d486a8ef69f64e36a153571725106a10bd9b743e7aa1a996995
         | 
| 7 | 
            +
              data.tar.gz: 0857285ab83fca6aca9cf7304404767ee417ceac4c5ae62e55e2518af33aabd9256a10c8745d8e4357dd451c334a6cb35ed66c70c0cb758eed5d75bd7b46e1b3
         | 
    
        data/lib/app_model2.rb
    ADDED
    
    | @@ -0,0 +1,33 @@ | |
| 1 | 
            +
            class AppModel2
         | 
| 2 | 
            +
              include ::Mongoid::Document
         | 
| 3 | 
            +
              include ::Mongoid::Timestamps
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              field :is_feature, :type => Boolean, :default => false
         | 
| 6 | 
            +
              field :is_public, :type => Boolean, :default => true
         | 
| 7 | 
            +
              field :is_done, :type => Boolean, :default => false
         | 
| 8 | 
            +
              field :is_trash, :type => Boolean, :default => false
         | 
| 9 | 
            +
              field :is_anonymous, :type => Boolean, :default => false
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              scope :fresh, ->{ where({ :is_trash => false }) }
         | 
| 12 | 
            +
              scope :trash, ->{ where({ :is_trash => true }) }
         | 
| 13 | 
            +
              scope :public, ->{ where({ :is_public => true }) }
         | 
| 14 | 
            +
              scope :done, ->{ where({ :is_done => true }) }
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              default_scope ->{ where({ :is_public => true, :is_trash => false }).order_by({ :created_at => :desc }) }
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              field :x, :type => Float
         | 
| 19 | 
            +
              field :y, :type => Float
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              def self.list conditions = { :is_trash => false }
         | 
| 22 | 
            +
                out = self.where( conditions).order_by( :name => :asc )
         | 
| 23 | 
            +
                [['', nil]] + out.map { |item| [ item.name, item.id ] }
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
              private
         | 
| 27 | 
            +
             | 
| 28 | 
            +
              def puts! arg, label=""
         | 
| 29 | 
            +
                puts "+++ +++ #{label}"
         | 
| 30 | 
            +
                puts arg.inspect
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
            end
         | 
    
        data/lib/aux_model.rb
    ADDED
    
    | @@ -0,0 +1,22 @@ | |
| 1 | 
            +
             | 
| 2 | 
            +
            module AuxModel
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              def add_newsitem item
         | 
| 5 | 
            +
                n = Newsitem.new
         | 
| 6 | 
            +
                case item.class.name
         | 
| 7 | 
            +
                when 'Video'
         | 
| 8 | 
            +
                  n.video_id = item.id
         | 
| 9 | 
            +
                when 'Photo'
         | 
| 10 | 
            +
                  raise 'Not Implemented'
         | 
| 11 | 
            +
                when 'Report'
         | 
| 12 | 
            +
                  raise 'Not Implemented'
         | 
| 13 | 
            +
                when 'Gallery'
         | 
| 14 | 
            +
                  raise 'Not Implmented'
         | 
| 15 | 
            +
                else
         | 
| 16 | 
            +
                  raise 'Not Implemented'
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
                self.newsitems << n
         | 
| 19 | 
            +
                self.save
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            end
         | 
    
        data/lib/city.rb
    CHANGED
    
    
    
        data/lib/gallery.rb
    CHANGED
    
    
    
        data/lib/ish_models.rb
    CHANGED
    
    | @@ -1,12 +1,17 @@ | |
| 1 1 |  | 
| 2 | 
            +
            require 'app_model2.rb'
         | 
| 3 | 
            +
            require 'aux_model.rb'
         | 
| 2 4 | 
             
            require 'city.rb'
         | 
| 5 | 
            +
            require 'country.rb'
         | 
| 6 | 
            +
            require 'event.rb'
         | 
| 7 | 
            +
            require 'feature.rb'
         | 
| 8 | 
            +
            require 'gallery.rb'
         | 
| 9 | 
            +
            require 'newsitem.rb'
         | 
| 10 | 
            +
            require 'photo.rb'
         | 
| 11 | 
            +
            require 'public_item.rb'
         | 
| 3 12 | 
             
            require 'report.rb'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
                puts '+++ +++ Hello world from ish models!'
         | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
            end
         | 
| 11 | 
            -
            =end
         | 
| 13 | 
            +
            require 'site.rb'
         | 
| 14 | 
            +
            require 'tag.rb'
         | 
| 15 | 
            +
            require 'venue.rb'
         | 
| 16 | 
            +
            require 'video.rb'
         | 
| 12 17 |  | 
    
        data/lib/ish_models.rb~
    ADDED
    
    
    
        data/lib/newsitem.rb
    ADDED
    
    | @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            class Newsitem
         | 
| 2 | 
            +
              include Mongoid::Document
         | 
| 3 | 
            +
              include Mongoid::Timestamps
         | 
| 4 | 
            +
              # include Mongoid::Paranoia
         | 
| 5 | 
            +
              
         | 
| 6 | 
            +
              embedded_in :user
         | 
| 7 | 
            +
              embedded_in :site
         | 
| 8 | 
            +
              embedded_in :city
         | 
| 9 | 
            +
              embedded_in :tag
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              belongs_to :photo
         | 
| 12 | 
            +
              belongs_to :report
         | 
| 13 | 
            +
              belongs_to :gallery
         | 
| 14 | 
            +
              belongs_to :video
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              field :name, :type => String
         | 
| 17 | 
            +
              field :descr, :type => String
         | 
| 18 | 
            +
              field :image_path, :type => String
         | 
| 19 | 
            +
              field :link_path, :type => String
         | 
| 20 | 
            +
              field :username, :type => String # @TODO do I use this???
         | 
| 21 | 
            +
              field :partial_name, :type => String, :default => nil  # @deprecated, but let's not remove it.
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              field :weight, :type => Integer, :default => 10
         | 
| 24 | 
            +
              field :n_upvotes, :type => Integer, :default => 0
         | 
| 25 | 
            +
              field :n_downvotes, :type => Integer, :default => 0
         | 
| 26 | 
            +
              field :upvoting_users, :type => Array, :default => []
         | 
| 27 | 
            +
              field :downvoting_users, :type => Array, :default => []
         | 
| 28 | 
            +
              field :is_feature, :type => Boolean, :default => false
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              default_scope ->{ order_by({ :created_at => :desc }) }
         | 
| 31 | 
            +
             | 
| 32 | 
            +
              def self.from_params item
         | 
| 33 | 
            +
                n = Newsitem.new
         | 
| 34 | 
            +
                n.descr = item[:descr]
         | 
| 35 | 
            +
                n.username = item[:username]
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                unless item[:report_id].blank?
         | 
| 38 | 
            +
                  n.report = Report.find item[:report_id]
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
                
         | 
| 41 | 
            +
                unless item[:gallery_id].blank?
         | 
| 42 | 
            +
                  n.gallery = Gallery.find item[:gallery_id]
         | 
| 43 | 
            +
                end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                n.partial_name = item.partial_name unless item.partial_name.blank?
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                return n
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
              
         | 
| 50 | 
            +
            end
         | 
    
        data/lib/photo.rb
    ADDED
    
    | @@ -0,0 +1,70 @@ | |
| 1 | 
            +
             | 
| 2 | 
            +
            class Photo
         | 
| 3 | 
            +
              require 'aws-sdk'
         | 
| 4 | 
            +
              require 'aws-sdk-v1'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              include Mongoid::Document
         | 
| 7 | 
            +
              include Mongoid::Timestamps
         | 
| 8 | 
            +
              include Mongoid::Paperclip
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              belongs_to :user, :inverse_of => :photos
         | 
| 11 | 
            +
              validates :user, :presence => true
         | 
| 12 | 
            +
              field :username, :type => String
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              has_and_belongs_to_many :viewers, :class_name => 'User', :inverse_of => :viewable_photos
         | 
| 15 | 
            +
              
         | 
| 16 | 
            +
              belongs_to :profile_user, :class_name => 'User', :inverse_of => :profile_photo
         | 
| 17 | 
            +
              belongs_to :profile_city, :class_name => 'City', :inverse_of => :profile_photo
         | 
| 18 | 
            +
              belongs_to :profile_venue, :class_name => 'Venue', :inverse_of => :profile_photo
         | 
| 19 | 
            +
              
         | 
| 20 | 
            +
              belongs_to :report
         | 
| 21 | 
            +
              belongs_to :tag
         | 
| 22 | 
            +
              belongs_to :venue
         | 
| 23 | 
            +
              belongs_to :feature
         | 
| 24 | 
            +
              belongs_to :gallery
         | 
| 25 | 
            +
              
         | 
| 26 | 
            +
              field :name, :type => String
         | 
| 27 | 
            +
              field :descr, :type => String
         | 
| 28 | 
            +
              
         | 
| 29 | 
            +
              field :weight, :type => Integer, :default => 10
         | 
| 30 | 
            +
              
         | 
| 31 | 
            +
              field :is_public, :type => Boolean, :default => true  
         | 
| 32 | 
            +
              field :is_trash, :type => Boolean, :default => false
         | 
| 33 | 
            +
                
         | 
| 34 | 
            +
              # default_scope ->{ where({ :is_trash => false, :is_public => true }) }
         | 
| 35 | 
            +
              default_scope ->{ where({ :is_trash => false }) }
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              has_mongoid_attached_file :photo, 
         | 
| 38 | 
            +
                                        :styles => {
         | 
| 39 | 
            +
                                          :mini => '20x20#',
         | 
| 40 | 
            +
                                          :thumb => "100x100#",
         | 
| 41 | 
            +
                                          # :two_hundred => '200x200#',
         | 
| 42 | 
            +
                                          :small  => "400x400>",
         | 
| 43 | 
            +
                                          # :small_square => "400x400#",
         | 
| 44 | 
            +
                                          # :large_square => '950x650',
         | 
| 45 | 
            +
                                          :large => '950x650>'
         | 
| 46 | 
            +
                                        },
         | 
| 47 | 
            +
                                        :storage => :s3,
         | 
| 48 | 
            +
                                        :s3_credentials => ::S3_CREDENTIALS,
         | 
| 49 | 
            +
                                        :path => "photos/:style/:id/:filename"
         | 
| 50 | 
            +
              
         | 
| 51 | 
            +
              def self.n_per_manager_gallery
         | 
| 52 | 
            +
                25
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
              validates_attachment_content_type :photo, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              set_callback(:create, :before) do |doc|
         | 
| 58 | 
            +
            #    if doc.is_public
         | 
| 59 | 
            +
            #      Site.languages.each do |lang|
         | 
| 60 | 
            +
            #        n = Newsitem.new({
         | 
| 61 | 
            +
            #            # :descr => t('photos.new'),
         | 
| 62 | 
            +
            #            :photo => doc, :username => doc.user.username })
         | 
| 63 | 
            +
            #        Site.where( :domain => DOMAIN, :lang => lang ).first.newsitems << n
         | 
| 64 | 
            +
            #      end
         | 
| 65 | 
            +
            #    end
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
              
         | 
| 68 | 
            +
            end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
             | 
    
        data/lib/public_item.rb
    ADDED
    
    | @@ -0,0 +1,60 @@ | |
| 1 | 
            +
            class PublicItem
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            =begin
         | 
| 4 | 
            +
              ## let's try to make it work with newsitems, without publicitems yet.
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              include Mongoid::Document
         | 
| 7 | 
            +
              include Mongoid::Timestamps
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              belongs_to :site
         | 
| 10 | 
            +
              belongs_to :city
         | 
| 11 | 
            +
              belongs_to :tag
         | 
| 12 | 
            +
              
         | 
| 13 | 
            +
              field :username
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              # acts as a report
         | 
| 16 | 
            +
              # acts as a gallery
         | 
| 17 | 
            +
              # acts as a video  
         | 
| 18 | 
            +
              has_many :photos
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              belongs_to :photo
         | 
| 21 | 
            +
              belongs_to :report
         | 
| 22 | 
            +
              belongs_to :gallery
         | 
| 23 | 
            +
              belongs_to :video
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              field :name, :type => String
         | 
| 26 | 
            +
              field :descr, :type => String
         | 
| 27 | 
            +
              field :image_path, :type => String
         | 
| 28 | 
            +
              field :link_path, :type => String
         | 
| 29 | 
            +
              field :username, :type => String # @TODO do I use this???
         | 
| 30 | 
            +
              field :partial_name, :type => String, :default => nil  # @deprecated, but let's not remove it.
         | 
| 31 | 
            +
             | 
| 32 | 
            +
              field :weight, :type => Integer, :default => 10
         | 
| 33 | 
            +
              field :n_upvotes, :type => Integer, :default => 0
         | 
| 34 | 
            +
              field :n_downvotes, :type => Integer, :default => 0
         | 
| 35 | 
            +
              field :upvoting_users, :type => Array, :default => []
         | 
| 36 | 
            +
              field :downvoting_users, :type => Array, :default => []
         | 
| 37 | 
            +
              field :is_feature, :type => Boolean, :default => false
         | 
| 38 | 
            +
             | 
| 39 | 
            +
              default_scope ->{ order_by({ :created_at => :desc }) }
         | 
| 40 | 
            +
             | 
| 41 | 
            +
              def self.from_params item
         | 
| 42 | 
            +
                n = Newsitem.new
         | 
| 43 | 
            +
                n.descr = item[:descr]
         | 
| 44 | 
            +
                n.username = item[:username]
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                unless item[:report_id].blank?
         | 
| 47 | 
            +
                  n.report = Report.find item[:report_id]
         | 
| 48 | 
            +
                end
         | 
| 49 | 
            +
                
         | 
| 50 | 
            +
                unless item[:gallery_id].blank?
         | 
| 51 | 
            +
                  n.gallery = Gallery.find item[:gallery_id]
         | 
| 52 | 
            +
                end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                n.partial_name = item.partial_name unless item.partial_name.blank?
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                return n
         | 
| 57 | 
            +
              end
         | 
| 58 | 
            +
            =end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            end
         | 
    
        data/lib/report.rb
    CHANGED
    
    
    
        data/lib/site.rb
    CHANGED
    
    
    
        data/lib/venue.rb
    CHANGED
    
    
    
        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. | 
| 4 | 
            +
              version: 0.0.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - piousbox
         | 
| @@ -9,19 +9,45 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 | 
             
            date: 2017-05-10 00:00:00.000000000 Z
         | 
| 12 | 
            -
            dependencies: | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: mongoid
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: 6.1.0
         | 
| 20 | 
            +
                - - ">="
         | 
| 21 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            +
                    version: 6.1.0
         | 
| 23 | 
            +
              type: :runtime
         | 
| 24 | 
            +
              prerelease: false
         | 
| 25 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 | 
            +
                requirements:
         | 
| 27 | 
            +
                - - "~>"
         | 
| 28 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            +
                    version: 6.1.0
         | 
| 30 | 
            +
                - - ">="
         | 
| 31 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            +
                    version: 6.1.0
         | 
| 13 33 | 
             
            description: models of ish
         | 
| 14 34 | 
             
            email: victor@wasya.co
         | 
| 15 35 | 
             
            executables: []
         | 
| 16 36 | 
             
            extensions: []
         | 
| 17 37 | 
             
            extra_rdoc_files: []
         | 
| 18 38 | 
             
            files:
         | 
| 39 | 
            +
            - lib/app_model2.rb
         | 
| 40 | 
            +
            - lib/aux_model.rb
         | 
| 19 41 | 
             
            - lib/city.rb
         | 
| 20 42 | 
             
            - lib/country.rb
         | 
| 21 43 | 
             
            - lib/event.rb
         | 
| 22 44 | 
             
            - lib/feature.rb
         | 
| 23 45 | 
             
            - lib/gallery.rb
         | 
| 24 46 | 
             
            - lib/ish_models.rb
         | 
| 47 | 
            +
            - lib/ish_models.rb~
         | 
| 48 | 
            +
            - lib/newsitem.rb
         | 
| 49 | 
            +
            - lib/photo.rb
         | 
| 50 | 
            +
            - lib/public_item.rb
         | 
| 25 51 | 
             
            - lib/report.rb
         | 
| 26 52 | 
             
            - lib/site.rb
         | 
| 27 53 | 
             
            - lib/tag.rb
         |