trogdir_models 0.5.2 → 0.6.0
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/trogdir/person.rb +15 -1
- data/lib/trogdir_models/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0489e683f1f95925dcae757caa701997e97ab6dc
         | 
| 4 | 
            +
              data.tar.gz: dc62802db6c28ef53c0433166a55678282c33202
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c174badc157db9867487c84f5f054fe0d4674200ce3b72ee7ce1f67eb19d56c4a5ac534df726e8798b734d0cc35f801458ff7523afaee523605cadfb82a439b2
         | 
| 7 | 
            +
              data.tar.gz: 7ba6448327742707af1d9897d070f07a63e6e66d077c4f740211dcdaaed4d1c07d79eaa97d4fba9c5737198bdb486cd5b33011198e4461b77b44880e2a7e1fae
         | 
    
        data/lib/trogdir/person.rb
    CHANGED
    
    | @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            require 'securerandom'
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            class Person
         | 
| 2 4 | 
             
              include Mongoid::Document
         | 
| 3 5 | 
             
              include Mongoid::History::Trackable
         | 
| @@ -13,6 +15,9 @@ class Person | |
| 13 15 | 
             
              embeds_many :addresses
         | 
| 14 16 | 
             
              has_many :changesets, as: :changeable
         | 
| 15 17 |  | 
| 18 | 
            +
              # ID
         | 
| 19 | 
            +
              field :uuid, type: String
         | 
| 20 | 
            +
             | 
| 16 21 | 
             
              # Names
         | 
| 17 22 | 
             
              field :first_name, type: String
         | 
| 18 23 | 
             
              field :preferred_name, type: String
         | 
| @@ -32,14 +37,23 @@ class Person | |
| 32 37 | 
             
              # Options
         | 
| 33 38 | 
             
              field :enabled, type: Boolean # TODO: figure out if tihs is necessary
         | 
| 34 39 |  | 
| 35 | 
            -
              validates :first_name, :last_name, presence: true
         | 
| 40 | 
            +
              validates :uuid, :first_name, :last_name, presence: true
         | 
| 41 | 
            +
              validates :uuid, uniqueness: true
         | 
| 36 42 | 
             
              validates :gender, inclusion: { in: Person::GENDERS, allow_nil: true }
         | 
| 37 43 |  | 
| 38 44 | 
             
              track_history track_create: true
         | 
| 39 45 |  | 
| 46 | 
            +
              before_validation :set_uuid, on: :create
         | 
| 47 | 
            +
             | 
| 40 48 | 
             
              def email
         | 
| 41 49 | 
             
                emails.where(primary: true).first
         | 
| 42 50 | 
             
              end
         | 
| 43 51 |  | 
| 44 52 | 
             
              delegate :address, to: :email, prefix: true, allow_nil: true
         | 
| 53 | 
            +
             | 
| 54 | 
            +
              private
         | 
| 55 | 
            +
             | 
| 56 | 
            +
              def set_uuid
         | 
| 57 | 
            +
                self.uuid = SecureRandom.uuid
         | 
| 58 | 
            +
              end
         | 
| 45 59 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: trogdir_models
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Adam Crownoble
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-04-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: api-auth
         |