lib/rhoconnect/license.rb in rhoconnect-4.0.4 vs lib/rhoconnect/license.rb in rhoconnect-5.1.1

- old
+ new

@@ -2,11 +2,11 @@ require 'pathname' module Rhoconnect class LicenseException < RuntimeError; end class LicenseSeatsExceededException < LicenseException; end - + class License attr_reader :rhoconnect_version, :licensee, :seats, :issued attr_accessor :license # ships with rhoconnect @@ -18,13 +18,13 @@ if ENV['RHOCONNECT_LICENSE'] @license = ENV['RHOCONNECT_LICENSE'] elsif ENV['RHOSYNC_LICENSE'] @license = ENV['RHOSYNC_LICENSE'] else - app_config = Rhoconnect.get_config(Rhoconnect.base_directory) + # app_config = Rhoconnect.get_config(Rhoconnect.base_directory) settings = Rhoconnect.get_config(Rhoconnect.base_directory)[Rhoconnect.environment] - licensefile = settings[:licensefile] + licensefile = settings[:licensefile] if licensefile path_to_license = (Pathname.new(licensefile).absolute?) ? licensefile : File.join(Rhoconnect.base_directory, licensefile) else path_to_license = File.join(File.dirname(__FILE__), '..', '..', 'generators', 'templates', 'application', 'settings', 'license.key') end @@ -35,11 +35,11 @@ log e.message log e.backtrace.join("\n") raise LicenseException.new("Error verifying license.") end end - + def check_and_use_seat incr = false Store.lock(CLIENT_DOCKEY) do current = Store.get_value(CLIENT_DOCKEY) current = current ? current.to_i : 0 @@ -51,27 +51,27 @@ unless incr msg = "WARNING: Maximum # of devices exceeded for this license." log msg; raise LicenseSeatsExceededException.new(msg) end end - + def free_seat Store.lock(CLIENT_DOCKEY) do current = Store.get_value(CLIENT_DOCKEY) current = current ? current.to_i : 0 if current > 0 Store.put_value CLIENT_DOCKEY, current - 1 end end end - + def available current = Store.get_value(CLIENT_DOCKEY) current = current ? current.to_i : 0 available = self.seats - current available > 0 ? available : 0 end - + private def _decrypt cipher = OpenSSL::Cipher::Cipher.new("aes-256-ecb") cipher.key = _extract_str(RHO_PUBLICKEY)