Class: SettingsModel

Inherits:
Object
  • Object
show all
Defined in:
lib/wingify/models/settings/settings_model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(settings) ⇒ SettingsModel

Returns a new instance of SettingsModel.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/wingify/models/settings/settings_model.rb', line 23

def initialize(settings)
  @sdk_key = settings["sdkKey"]
  @account_id = settings["accountId"]
  @usage_stats_account_id = settings["usageStatsAccountId"]
  @version = settings["version"]
  @collection_prefix = settings["collectionPrefix"]
  @poll_interval = settings["pollInterval"] || Constants::POLLING_INTERVAL
  @features = []
  @campaigns = []
  @campaign_groups = settings["campaignGroups"] || {}
  @groups = settings["groups"] || {}
  @is_web_connectivity_enabled = settings.fetch("isWebConnectivityEnabled", true)

  process_features(settings)
  process_campaigns(settings)
end

Instance Attribute Details

#account_idObject (readonly)

Returns the value of attribute account_id.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def 
  @account_id
end

#campaign_groupsObject (readonly)

Returns the value of attribute campaign_groups.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def campaign_groups
  @campaign_groups
end

#campaignsObject (readonly)

Returns the value of attribute campaigns.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def campaigns
  @campaigns
end

#collection_prefixObject (readonly)

Returns the value of attribute collection_prefix.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def collection_prefix
  @collection_prefix
end

#featuresObject (readonly)

Returns the value of attribute features.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def features
  @features
end

#groupsObject (readonly)

Returns the value of attribute groups.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def groups
  @groups
end

#is_web_connectivity_enabledObject (readonly)

Returns the value of attribute is_web_connectivity_enabled.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def is_web_connectivity_enabled
  @is_web_connectivity_enabled
end

#poll_intervalObject (readonly)

Returns the value of attribute poll_interval.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def poll_interval
  @poll_interval
end

#sdk_keyObject (readonly)

Returns the value of attribute sdk_key.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def sdk_key
  @sdk_key
end

#usage_stats_account_idObject (readonly)

Returns the value of attribute usage_stats_account_id.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def 
  @usage_stats_account_id
end

#versionObject (readonly)

Returns the value of attribute version.



20
21
22
# File 'lib/wingify/models/settings/settings_model.rb', line 20

def version
  @version
end

Instance Method Details

#get_account_idObject



60
61
62
# File 'lib/wingify/models/settings/settings_model.rb', line 60

def 
  @account_id
end

#get_campaign_groupsObject



48
49
50
# File 'lib/wingify/models/settings/settings_model.rb', line 48

def get_campaign_groups
  @campaign_groups
end

#get_campaignsObject



40
41
42
# File 'lib/wingify/models/settings/settings_model.rb', line 40

def get_campaigns
  @campaigns
end

#get_collection_prefixObject



72
73
74
# File 'lib/wingify/models/settings/settings_model.rb', line 72

def get_collection_prefix
  @collection_prefix
end

#get_featuresObject



44
45
46
# File 'lib/wingify/models/settings/settings_model.rb', line 44

def get_features
  @features
end

#get_groupsObject



52
53
54
# File 'lib/wingify/models/settings/settings_model.rb', line 52

def get_groups
  @groups
end

#get_is_web_connectivity_enabledObject



98
99
100
# File 'lib/wingify/models/settings/settings_model.rb', line 98

def get_is_web_connectivity_enabled
  @is_web_connectivity_enabled
end

#get_poll_intervalObject



76
77
78
# File 'lib/wingify/models/settings/settings_model.rb', line 76

def get_poll_interval
  @poll_interval
end

#get_sdk_keyObject



56
57
58
# File 'lib/wingify/models/settings/settings_model.rb', line 56

def get_sdk_key
  @sdk_key
end

#get_usage_stats_account_idObject



64
65
66
# File 'lib/wingify/models/settings/settings_model.rb', line 64

def 
  @usage_stats_account_id
end

#get_versionObject



68
69
70
# File 'lib/wingify/models/settings/settings_model.rb', line 68

def get_version
  @version
end

#process_campaigns(settings) ⇒ Object



89
90
91
92
93
94
95
96
# File 'lib/wingify/models/settings/settings_model.rb', line 89

def process_campaigns(settings)
  campaign_list = settings["campaigns"]
  return unless campaign_list.is_a?(Array)

  campaign_list.each do |campaign|
    @campaigns << CampaignModel.new.model_from_dictionary(campaign)
  end
end

#process_features(settings) ⇒ Object



80
81
82
83
84
85
86
87
# File 'lib/wingify/models/settings/settings_model.rb', line 80

def process_features(settings)
  feature_list = settings["features"]
  return unless feature_list.is_a?(Array)

  feature_list.each do |feature|
    @features << FeatureModel.new.model_from_dictionary(feature)
  end
end