File tree 3 files changed +27
-1
lines changed
3 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -102,6 +102,7 @@ sub view : Private {
102
102
$c -> res-> last_modified( $out -> {date } );
103
103
104
104
my $contribs = $self -> groom_contributors( $c , $out );
105
+ my $irc = $self -> groom_irc( $c , $out );
105
106
106
107
$c -> stash( $c -> model(' API::Favorite' )-> find_plussers($distribution ) );
107
108
@@ -124,6 +125,7 @@ sub view : Private {
124
125
files => \@view_files ,
125
126
126
127
contributors => $contribs ,
128
+ irc => $irc ,
127
129
128
130
# TODO: Put this in a more general place.
129
131
# Maybe make a hash for feature flags?
Original file line number Diff line number Diff line change @@ -111,4 +111,23 @@ sub groom_contributors {
111
111
return \@contribs ;
112
112
}
113
113
114
+ sub groom_irc {
115
+ my ( $self , $c , $release ) = @_ ;
116
+
117
+ my $irc = $release -> {metadata }{resources }{x_IRC };
118
+ my $irc_info = ref $irc ? {%$irc } : { url => $irc };
119
+ $irc_info -> {web } ||= $release -> {metadata }{resources }{x_WebIRC };
120
+
121
+ if ( !$irc_info -> {web } && $irc_info -> {url } ) {
122
+ if ( $irc_info -> {url } =~ m { ^irc://freenode\. net/#?(.*)} ) {
123
+ $irc_info -> {web } = " https://webchat.freenode.net/?channels=#$1 " ;
124
+ }
125
+ elsif ( $irc_info -> {url } =~ m { ^irc://([^/]+)/#?(.*)} ) {
126
+ $irc_info -> {web } = " https://chat.mibbit.com/$2 \@ $1 " ;
127
+ }
128
+ }
129
+
130
+ return $irc_info ;
131
+ }
132
+
114
133
1;
Original file line number Diff line number Diff line change 48
48
< li >
49
49
< div > < a href ="http://cpants.charsbar.org/dist/overview/<% release.distribution %> "> Kwalitee</ a > </ div >
50
50
</ li >
51
+ < % IF irc.web %>
52
+ < li >
53
+ < div > < a href ="<% irc.web %> "> Chat with Maintainers</ a > </ div >
54
+ </ li >
55
+ < % END %>
51
56
< % IF release.license %>
52
57
< li > License: < % release.license.join(', ') %> </ li >
53
58
< % END %>
69
74
< option value ="<% version.author; '/'; version.name; '/'; module.path %> "> < % version.version _ (version.maturity == 'developer' ? ' DEV' : '') %> (< %version.author %> on < % version.date.dt_date_common %> )
70
75
</ option >
71
76
< % END %>
72
- < % END; END %>
77
+ < % END; END %>
You can’t perform that action at this time.
0 commit comments