class RESTfulLoaders::CardTypesPropertyDefinitionsLoader
Public Class Methods
new(project, params)
click to toggle source
# File lib/mingle_macro_development_toolkit/loaders/restful_loaders/card_types_property_definitions_loader.rb, line 6 def initialize(project, params) @project = project @params = params end
Public Instance Methods
load()
click to toggle source
# File lib/mingle_macro_development_toolkit/loaders/restful_loaders/card_types_property_definitions_loader.rb, line 11 def load mappings = extract('card_types', @project).collect do |card_type| mapping = card_type['card_types_property_definitions'].values end.flatten pds = extract('property_definitions', @project) cts = extract('card_types', @project) mappings.collect do |mapping| if (match?(mapping)) pd = pds.find { |pd| pd['id'] && pd['id'] == mapping['property_definition_id'] } ct = cts.find { |ct| ct['id'] == mapping['card_type_id'] } OpenStruct.new(:card_type => CardTypeLoader.new(@project, ct).load, :property_definition => PropertyDefinitionLoader.new(@project, pd).load) end end.compact end
Private Instance Methods
match?(mapping)
click to toggle source
# File lib/mingle_macro_development_toolkit/loaders/restful_loaders/card_types_property_definitions_loader.rb, line 28 def match?(mapping) @params.all? { |key, value| value == mapping[key] } end