Sha256: ee0815e3f929cb7f19355d8a56f6a6adfa817bab7774cc8c7b080fdcae62a39b

Contents?: true

Size: 667 Bytes

Versions: 2

Compression:

Stored size: 667 Bytes

Contents

module Janus
  module Models
    module Base
      extend ActiveSupport::Concern

      module ClassMethods
        def generate_token(column_name, size = 32)
          loop do
            token = SecureRandom.hex(size)
            return token unless where(column_name => token).any?
          end
        end

        def janus_config(*keys)
          keys.each do |key|
            class_eval <<-EOV
            def self.#{key}
              @#{key} || Janus::Config.#{key}
            end
            
            def self.#{key}=(value)
              @#{key} = value
            end
            EOV
          end
        end
        
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
janus-0.6.0 lib/janus/models/base.rb
janus-0.5.0 lib/janus/models/base.rb