class MingleEvents::ProjectCustomProperties

Public Class Methods

new(mingle_access, project_identifier) click to toggle source
  # File lib/mingle_events/project_custom_properties.rb
5 def initialize(mingle_access, project_identifier)
6   @mingle_access = mingle_access
7   @project_identifier = project_identifier
8 end

Public Instance Methods

property_name_for_column(column_name) click to toggle source
   # File lib/mingle_events/project_custom_properties.rb
10 def property_name_for_column(column_name)
11   property_names_by_column_name[column_name]
12 end

Private Instance Methods

as_document() click to toggle source
   # File lib/mingle_events/project_custom_properties.rb
27 def as_document
28   @as_document ||= Xml.parse(@mingle_access.fetch_page("/api/v2/projects/#{@project_identifier}/property_definitions.xml"))
29 end
lookup_property_names_by_column_name() click to toggle source
   # File lib/mingle_events/project_custom_properties.rb
20 def lookup_property_names_by_column_name
21   as_document.select_all('/property_definitions/property_definition').inject({}) do |mapping, element|
22     mapping[element.inner_text('column_name')] = element.inner_text('name')
23     mapping
24   end
25 end
property_names_by_column_name() click to toggle source
   # File lib/mingle_events/project_custom_properties.rb
16 def property_names_by_column_name
17   @property_names_by_column_name ||= lookup_property_names_by_column_name
18 end