class YaPPL::Rule

Attributes

excluded_purposes[R]
excluded_utilizers[R]
expiration_date[R]
id[RW]
permitted_purposes[R]
permitted_utilizers[R]
transformations[R]
valid_from[R]

Public Class Methods

new(args = {}) click to toggle source
# File lib/rule.rb, line 7
def initialize(args = {})
  args.each do |key, value|
    self.instance_variable_set("@#{key}".to_sym, value)
  end
  @valid_from = Time.now unless valid_from
  @expiration_date = default_time unless expiration_date
end

Public Instance Methods

archive!() click to toggle source
# File lib/rule.rb, line 15
def archive!
  @id = -1
  @expiration_date = Time.now
end
expired?() click to toggle source
# File lib/rule.rb, line 20
def expired?
  expiration_date != default_time && Time.now > expiration_date
end
to_h() click to toggle source
# File lib/rule.rb, line 24
def to_h
  {
    purpose: {
      permitted: permitted_purposes,
      excluded: excluded_purposes
    },
    utilizer: {
      permitted: permitted_utilizers,
      excluded: excluded_utilizers
    },
    transformation: transformations,
    valid_from: valid_from.strftime('%FT%T.%LZ'),
    exp_date: expiration_date.strftime('%FT%T.%LZ')
  }
end

Private Instance Methods

default_time() click to toggle source
# File lib/rule.rb, line 42
def default_time
  Time.utc(0, 1, 1)
end