Sha256: a389e816dfd6bf7b799560ae8c557075fa54a8f872188d1453761a34c00ea424
Contents?: true
Size: 1.2 KB
Versions: 10
Compression:
Stored size: 1.2 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 end end end
Version data entries
10 entries across 10 versions & 1 rubygems