Sha256: 083bc22ca12b07db2271864ceaa206d06b852b926e21a94b5833a85501534895
Contents?: true
Size: 1.38 KB
Versions: 13
Compression:
Stored size: 1.38 KB
Contents
module Avo module Licensing class License attr_accessor :id attr_accessor :response attr_accessor :valid attr_accessor :payload def initialize(response) @response = response @id = response["id"] @valid = response["valid"] @payload = response["payload"] end def valid? valid end def invalid? !valid? end def pro? id == "pro" end def error @response["error"] end def properties @response.slice("valid", "id", "error").symbolize_keys end def abilities [] end def can(ability) abilities.include? ability end def cant(ability) !can ability end alias_method :has, :can alias_method :lacks, :cant # Returns if has ability and if is a valid license or app is in development. def has_with_trial(ability) return can(ability) && valid? if Rails.env.production? true end # Returns if lacks ability and if is a valid license or app is in development. def lacks_with_trial(ability) !has_with_trial ability end def name if id.present? id.humanize else self.class.to_s.split("::").last.underscore.humanize.gsub " license", "" end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems