Sha256: dc70824352be6cfba8a73d67524df54279c84f847c539c42898562434c51fb6f
Contents?: true
Size: 954 Bytes
Versions: 12
Compression:
Stored size: 954 Bytes
Contents
format :html do view :views_by_format do accordion do views_by_format_hash.each_with_object([]) do |(format, views), array| context = format.to_name.key array << accordion_item(format, body: list_group(views), context: context) end end end view :views_by_name do views = methods.map do |method| Regexp.last_match(1) if method.to_s.match?(/^_view_(.+)$/) end.compact.sort list_group views end private def views_by_format_hash self.class.ancestors.each_with_object({}) do |format_class, hash| next unless (views = views_for_format_class format_class).present? format_class.name =~ /^Card(::Set)?::(.+?)$/ #::(\w+Format) hash[Regexp.last_match(2)] = views end end def views_for_format_class format_class format_class.instance_methods.map do |method| next unless method.to_s =~ /^_view_(.+)$/ Regexp.last_match(1) end.compact end end
Version data entries
12 entries across 12 versions & 1 rubygems