Class: Jav::Licensing::License

Inherits:
Object
  • Object
show all
Defined in:
lib/jav/licensing/license.rb

Direct Known Subclasses

CommunityLicense, NilLicense, ProLicense

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response = {}) ⇒ License

Returns a new instance of License.



6
7
8
9
10
11
# File 'lib/jav/licensing/license.rb', line 6

def initialize(response = {})
  @response = response
  @id = response["id"]
  @valid = response["valid"]
  @payload = response["payload"]
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



4
5
6
# File 'lib/jav/licensing/license.rb', line 4

def id
  @id
end

#payloadObject

Returns the value of attribute payload.



4
5
6
# File 'lib/jav/licensing/license.rb', line 4

def payload
  @payload
end

#responseObject

Returns the value of attribute response.



4
5
6
# File 'lib/jav/licensing/license.rb', line 4

def response
  @response
end

#validObject

Returns the value of attribute valid.



4
5
6
# File 'lib/jav/licensing/license.rb', line 4

def valid
  @valid
end

Instance Method Details

#abilitiesObject



33
34
35
# File 'lib/jav/licensing/license.rb', line 33

def abilities
  []
end

#can(ability) ⇒ Object Also known as: has



37
38
39
# File 'lib/jav/licensing/license.rb', line 37

def can(ability)
  abilities.include? ability
end

#cant(ability) ⇒ Object Also known as: lacks



41
42
43
# File 'lib/jav/licensing/license.rb', line 41

def cant(ability)
  !can ability
end

#errorObject



25
26
27
# File 'lib/jav/licensing/license.rb', line 25

def error
  @response["error"]
end

#has_with_trial(ability) ⇒ Object

Returns if has ability and if is a valid license or app is in development.



49
50
51
52
53
# File 'lib/jav/licensing/license.rb', line 49

def has_with_trial(ability)
  return can(ability) && valid? if Rails.env.production?

  true
end

#invalid?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/jav/licensing/license.rb', line 17

def invalid?
  !valid?
end

#lacks_with_trial(ability) ⇒ Object

Returns if lacks ability and if is a valid license or app is in development.



56
57
58
# File 'lib/jav/licensing/license.rb', line 56

def lacks_with_trial(ability)
  !has_with_trial ability
end

#nameObject



60
61
62
63
64
65
66
# File 'lib/jav/licensing/license.rb', line 60

def name
  if id.present?
    id.humanize
  else
    self.class.to_s.split('::').last.underscore.humanize.gsub ' license', ''
  end
end

#pro?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/jav/licensing/license.rb', line 21

def pro?
  id == "pro"
end

#propertiesObject



29
30
31
# File 'lib/jav/licensing/license.rb', line 29

def properties
  @response.slice("valid", "id", "error").symbolize_keys
end

#valid?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/jav/licensing/license.rb', line 13

def valid?
  valid
end