Sha256: 2acd1dd11f42969c5667eda828fd3c1e1682c034736ad8fa67c771993387bb8c
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
module MxHero::API class Domain < Resource attributes :domain, :server, :aliases, :features, :cos attribute :creation_date, map: 'creationDate', date: true attribute :update_date, map: 'updateDate', date: true attribute :cos_last_change, map: 'cosLastChange', date: true attribute :source attribute :metadata def initialize(data = {}) super(data) load_features(features) load_cos(cos) load_metadata end def change_to_trial if cos.type == 'free' cos.type = 'trial' end end private def load_cos(cos) @cos = Cos.new cos end def load_features(features) @features = features.map { |feature| Feature.new feature } end def load_metadata @metadata = JSON.parse(metadata) if metadata end end class Feature < Resource attribute :component, map: 'feature' attributes :created, :updated, :metadata attribute :max_rules_amount, map: 'maxRulesAmount' def initialize(data = {}) super(data) if max_rules_amount == 0 || max_rules_amount.nil? @max_rules_amount = Float::INFINITY end load_metadata end def unlimited_use? max_rules_amount == Float::INFINITY end private def load_metadata @metadata = JSON.parse(metadata, symbolize_names: true) if metadata end end class Cos < Resource attribute :type, map: 'cos' attribute :edition end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mxhero-api-0.1.33 | lib/resources/domain.rb |