diff options
| author | Robert | 2017-07-26 08:13:43 +0200 | 
|---|---|---|
| committer | Robert | 2017-07-26 14:35:42 +0200 | 
| commit | d385a6da731dc6b3ec0ec5bec1e94eb2dcff5efb (patch) | |
| tree | 0e2113f5292a7929d3a3e34d06121302b0f70949 /app/models/api | |
| parent | fe46c7832fa1e0c6af450f0937aea3534c0f6b01 (diff) | |
| download | chouette-core-d385a6da731dc6b3ec0ec5bec1e94eb2dcff5efb.tar.bz2 | |
Refs: #3507@4h; Finished Basic WorkbenchImportWorker
- speced but missing error treatment
Diffstat (limited to 'app/models/api')
| -rw-r--r-- | app/models/api/v1/api_key.rb | 22 | 
1 files changed, 14 insertions, 8 deletions
diff --git a/app/models/api/v1/api_key.rb b/app/models/api/v1/api_key.rb index 7390db232..e1a7ab5a4 100644 --- a/app/models/api/v1/api_key.rb +++ b/app/models/api/v1/api_key.rb @@ -3,9 +3,20 @@ module Api      class ApiKey < ::ActiveRecord::Base        before_create :generate_access_token        belongs_to :referential, :class_name => '::Referential' +      validates_presence_of :referential -      def self.model_name -        ActiveModel::Name.new self, Api::V1, self.name.demodulize +      class << self +        def from(referential, name:) +          find_or_create_by!(name: name, referential: referential) +        end +        def model_name +          ActiveModel::Name.new  Api::V1, self.name.demodulize +        end +        def referential_from_token(token) +          array = token.split('-') +          return nil unless array.size==2 +          ::Referential.find( array.first) +        end        end        def eql?(other) @@ -13,16 +24,11 @@ module Api          other.token == self.token        end -      def self.referential_from_token(token) -        array = token.split('-') -        return nil unless array.size==2 -        ::Referential.find( array.first) -      end      private        def generate_access_token          begin -          self.token = "#{referential.id}-#{SecureRandom.hex}" +          self.token = "#{referential_id}-#{SecureRandom.hex}"          end while self.class.exists?(:token => self.token)        end      end  | 
