class ConfigKit::ConfigData
Public Class Methods
new(config_data, name, api_version='v1.0', kind='config_kit')
click to toggle source
Calls superclass method
# File lib/config_kit/config_data.rb, line 11 def initialize(config_data, name, api_version='v1.0', kind='config_kit') @defined_api_version=api_version @defined_kind = kind @metadata_required_fields = ['api_version', 'kind'] @data_required_fields = ['version', 'namespace'] @config_data = config_data @name = name check_metadata check_data @binded_data = binding_data super(@binded_data) end
Public Instance Methods
api_version()
click to toggle source
# File lib/config_kit/config_data.rb, line 84 def api_version @config_data['api_version'] end
binding_data()
click to toggle source
/v1/config_kit/axle/v1.0/database => mysql
# File lib/config_kit/config_data.rb, line 58 def binding_data binding_kind end
binding_kind()
click to toggle source
# File lib/config_kit/config_data.rb, line 50 def binding_kind { kind => binding_name } end
binding_name()
click to toggle source
# File lib/config_kit/config_data.rb, line 46 def binding_name { @name => binding_version } end
binding_version()
click to toggle source
# File lib/config_kit/config_data.rb, line 42 def binding_version { data_version => data } end
check_data()
click to toggle source
# File lib/config_kit/config_data.rb, line 26 def check_data raise DataError, 'Config Kit Support Hash Data Formate ONLY.' unless data.is_a?(Hash) @data_required_fields.each do |f| raise DataMissingRequireFieldError,"Config Kit Raw data missing require field #{f} " unless data.has_key?(f) end end
check_metadata()
click to toggle source
# File lib/config_kit/config_data.rb, line 33 def check_metadata raise MetadataError, 'Config Kit Support Hash Data Formate ONLY.' unless @config_data.is_a?(Hash) @metadata_required_fields.each do |f| raise MetadataMissingRequireFieldError,"Config Kit Meta data missing require field #{f} " unless @config_data.has_key?(f) end raise MetadataError, "Config Kit API Version metadata mis-match #{@config_data['api_version']}." unless support_api? raise MetadataError, "Config Kit Kind metadate mis-match #{@config_data['kind']}." unless same_kind? end
data()
click to toggle source
# File lib/config_kit/config_data.rb, line 80 def data @config_data && @config_data[@name] end
data_cs()
click to toggle source
# File lib/config_kit/config_data.rb, line 76 def data_cs nil end
data_version()
click to toggle source
# File lib/config_kit/config_data.rb, line 70 def data_version _version = @config_data && @config_data[@name] && @config_data[@name]['version'] version = _version[0] == 'v' ? _version : "v#{_version}" version end
kind()
click to toggle source
# File lib/config_kit/config_data.rb, line 88 def kind @config_data['kind'] end
same_kind?()
click to toggle source
# File lib/config_kit/config_data.rb, line 62 def same_kind? @defined_kind == kind end
support_api?()
click to toggle source
# File lib/config_kit/config_data.rb, line 66 def support_api? @defined_api_version == api_version end