lib/properties.rb
# original design notes:
#
# input is an optional set of property names
# if the set is empty, all properties (implicit and explicit) are retrieved
# the output is a hash of property_name => converted value, with values that
# have been hydrated for implicit property defaults
original design notes:
input is an optional set of property names
if the set is empty, all properties (implicit and explicit) are retrieved
the output is a hash of property_name => converted value, with values that
have been hydrated for implicit property defaults
original design notes : input is an optional set of property names if the set is empty all properties ( implicit and explicit ) are retrieved the output is a hash of property_name = > converted value with values that have been hydrated for implicit property defaults
def properties(property_names=[])
    property_names = [*property_names] unless property_names.is_a?(Array)
    implicit = implicit_properties(property_names)
    explicit = explicit_properties(property_names)
    implicit.merge(explicit)
  end
def properties ( property_names = [ ] ) property_names = [ * property_names ] unless property_names . is_a? ( Array ) implicit = implicit_properties ( property_names ) explicit = explicit_properties ( property_names ) implicit . merge ( explicit ) end
original design notes:
input is an optional set of property names
if the set is empty, all properties (implicit and explicit) are retrieved
the output is a hash of property_name => converted value, with values that
have been hydrated for implicit property defaults
original design notes : input is an optional set of property names if the set is empty all properties ( implicit and explicit ) are retrieved the output is a hash of property_name = > converted value with values that have been hydrated for implicit property defaults
property_names