App-SpreadRevolutionaryDate

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Mastodon::Client" : "0",
            "Moose" : "0",
            "Moose::Role" : "0",
            "MooseX::NonMoose" : "0",
            "MooseX::Role::Parameterized" : "0",
            "Net::Async::HTTP" : "0.43",
            "POE" : "0",
            "Twitter::API" : "0",
            "URI" : "0",
            "URI::Escape" : "0",
            "namespace::autoclean" : "0",
            "open" : "0",
            "perl" : "5.014",
            "utf8" : "0"
         }
      },
      "test" : {
         "requires" : {
            "File::Spec" : "0",
            "FindBin" : "0",
            "IO::Handle" : "0",

META.yml  view on Meta::CPAN

  Mastodon::Client: '0'
  Moose: '0'
  Moose::Role: '0'
  MooseX::NonMoose: '0'
  MooseX::Role::Parameterized: '0'
  Net::Async::HTTP: '0.43'
  POE: '0'
  Twitter::API: '0'
  URI: '0'
  URI::Escape: '0'
  namespace::autoclean: '0'
  open: '0'
  perl: '5.014'
  utf8: '0'
resources:
  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=App-SpreadRevolutionaryDate
  homepage: http://search.cpan.org/dist/App-SpreadRevolutionaryDate/
  repository: git://github.com/gibus/SpreadRevolutionaryDate.git
version: '0.50'
x_generated_by_perl: v5.32.1
x_serialization_backend: 'YAML::Tiny version 1.73'

Makefile.PL  view on Meta::CPAN

    "Mastodon::Client" => 0,
    "Moose" => 0,
    "Moose::Role" => 0,
    "MooseX::NonMoose" => 0,
    "MooseX::Role::Parameterized" => 0,
    "Net::Async::HTTP" => "0.43",
    "POE" => 0,
    "Twitter::API" => 0,
    "URI" => 0,
    "URI::Escape" => 0,
    "namespace::autoclean" => 0,
    "open" => 0,
    "utf8" => 0
  },
  "TEST_REQUIRES" => {
    "File::Spec" => 0,
    "FindBin" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Test::More" => 0,
    "Test::NoWarnings" => 0,

lib/App/SpreadRevolutionaryDate/BlueskyLite.pm  view on Meta::CPAN

# ABSTRACT: Simple Class to post status to BlueSky.

use LWP::UserAgent;
use DateTime;
use JSON qw(encode_json decode_json);
use URI;
use Encode qw(decode_utf8);
use File::Type;
use File::Basename;

use namespace::autoclean;

sub _fetch_embed_url_card {
  my $self = shift;
  my $url = shift || return;

  my $card = {uri => $url};

  my $ua = LWP::UserAgent->new(env_proxy => 1, timeout => 10, agent =>'App::SpreadRevolutionaryDate bot');
  my $response = $ua->get($url);
  return unless $response->is_success;

lib/App/SpreadRevolutionaryDate/Config.pm  view on Meta::CPAN

use MooseX::NonMoose;

extends 'AppConfig';

use Getopt::Long;
use AppConfig qw(:argcount);
use File::HomeDir;
use Class::Load ':all';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

BEGIN {
  unless ($ENV{PERL_UNICODE} && $ENV{PERL_UNICODE} =~ /A/) {
    use Encode qw(decode_utf8);
    @ARGV = map { decode_utf8($_, 1) } @ARGV;
  }
}


sub new {

lib/App/SpreadRevolutionaryDate/MsgMaker.pm  view on Meta::CPAN

use utf8;
package App::SpreadRevolutionaryDate::MsgMaker;
$App::SpreadRevolutionaryDate::MsgMaker::VERSION = '0.50';
# ABSTRACT: Role providing interface for crafting a message to be spread by L<App::SpreadRevolutionaryDate>.

use Moose::Role;
use Locale::Util qw(set_locale);
use Locale::Messages qw(LC_ALL nl_putenv);

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has locale => (
  is => 'ro',
  isa => 'Str',
  required => 1,
  default => 'en',
  trigger => sub {
    # Set locale to $val, see https://metacpan.org/pod/Locale::TextDomain::FAQ#How-do-I-switch-languages-or-force-a-certain-language-independently-from-user-settings-read-from-the-environment?
    my ( $self, $val, $old_val ) = @_;
    if ($val) {

lib/App/SpreadRevolutionaryDate/MsgMaker/Gemini.pm  view on Meta::CPAN


use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker';

use DateTime;
use File::ShareDir ':ALL';
use LWP::UserAgent;
use JSON;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'api_key' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'process' => (
  is  => 'ro',
  isa => 'Str',

lib/App/SpreadRevolutionaryDate/MsgMaker/PromptUser.pm  view on Meta::CPAN

with 'App::SpreadRevolutionaryDate::MsgMaker';

use open qw(:std :encoding(UTF-8));
use IO::Prompt::Hooked;
use File::Spec;
use File::Basename;
use File::Temp qw/tempfile/;
use LWP::UserAgent;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'default' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
  default => 'Goodbye old world, hello revolutionary worlds',
);

has 'img_path' => (
  is => 'rw',

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate.pm  view on Meta::CPAN

package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::VERSION = '0.50';
# ABSTRACT: MsgMaker class for L<App::SpreadRevolutionaryDate> to build message with revolutionary date

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker';

use App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Calendar;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has '+locale' => (
  default => 'fr',
);

has 'acab' => (
  is  => 'ro',
  isa => 'Bool',
  required => 1,
  default => 0,

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Calendar.pm  view on Meta::CPAN

use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Calendar;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Calendar::VERSION = '0.50';
# ABSTRACT: Subclass overloading L<DateTime::Calendar::FrenchRevolutionary> to allow language extension

use Moose;
use MooseX::NonMoose;
extends 'DateTime::Calendar::FrenchRevolutionary';

use Class::Load ':all';
use namespace::autoclean;


sub set {
  my $self = shift;
  my %args = @_;

  my $locale_arg = delete $args{locale};
  my $locale_class;

  if ($locale_arg) {

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale.pm  view on Meta::CPAN

use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::VERSION = '0.50';
# ABSTRACT: Role providing interface for localization of revolutionary date built by L<App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate>.

use Moose::Role;

use DateTime::Calendar::FrenchRevolutionary;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has months => (
  is => 'ro',
  isa => 'ArrayRef[Str]',
  required => 1,
);

has decade_days => (
  is => 'ro',
  isa => 'ArrayRef[Str]',

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/en.pm  view on Meta::CPAN

use 5.014;
use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::en;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::en::VERSION = '0.50';
# ABSTRACT: English localization of (part of) L<DateTime::Calendar::FrenchRevolutionary::Locale::en>

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;


has '+months' => (
  default => sub {[
    'Vintagearious', 'Fogarious', 'Frostarious',
    'Snowous',       'Rainous',   'Windous',
    'Buddal',        'Floweral',  'Meadowal',
    'Reapidor',      'Heatidor',  'Fruitidor',
    'additional day',
  ]},

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/es.pm  view on Meta::CPAN

use 5.014;
use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::es;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::es::VERSION = '0.50';
# ABSTRACT: Spanish localization of (part of) L<DateTime::Calendar::FrenchRevolutionary::Locale::fr>

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;


has '+months' => (
  default => sub {[
    'Vendemiario', 'Brumario',  'Frimario',
    'Nivoso',      'Pluvioso',  'Ventoso',
    'Germinal',    'Floreal',   'Pradial',
    'Mesidor',     'Termidor',  'Fructidor',
    'día complementario',
  ]},

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/fr.pm  view on Meta::CPAN

use 5.014;
use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::fr;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::fr::VERSION = '0.50';
# ABSTRACT: French localization of (part of) L<DateTime::Calendar::FrenchRevolutionary::Locale::fr>

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;


has '+months' => (
  default => sub {[
    'Vendémiaire', 'Brumaire',  'Frimaire',
    'Nivôse',      'Pluviôse',  'Ventôse',
    'Germinal',    'Floréal',   'Prairial',
    'Messidor',    'Thermidor', 'Fructidor',
    'jour complémentaire',
  ]},

lib/App/SpreadRevolutionaryDate/MsgMaker/RevolutionaryDate/Locale/it.pm  view on Meta::CPAN

use 5.014;
use utf8;
package App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::it;
$App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale::it::VERSION = '0.50';
# ABSTRACT: Italian localization of (part of) L<DateTime::Calendar::FrenchRevolutionary>

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker::RevolutionaryDate::Locale';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;


has '+months' => (
  default => sub {[
    'Vendemmiaio', 'Brumaio',   'Frimaio',
    'Nevoso',      'Piovoso',   'Ventoso',
    'Germile',     'Fiorile',   'Pratile',
    'Messidoro',   'Termidoro', 'Fruttidoro',
    'giorni supplementari',
  ]},

lib/App/SpreadRevolutionaryDate/MsgMaker/Telechat.pm  view on Meta::CPAN

# ABSTRACT: MsgMaker class for L<App::SpreadRevolutionaryDate> to build message with Téléchat date

use Moose;
with 'App::SpreadRevolutionaryDate::MsgMaker';

use DateTime;
use File::ShareDir ':ALL';
use App::SpreadRevolutionaryDate;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has '+locale' => (
  default => 'fr',
);

around BUILDARGS => sub {
  my ($orig, $class, %args) = @_;

  $args{locale} = 'fr';
  return $class->$orig(%args);

lib/App/SpreadRevolutionaryDate/Target.pm  view on Meta::CPAN

use 5.014;
use utf8;
package App::SpreadRevolutionaryDate::Target;
$App::SpreadRevolutionaryDate::Target::VERSION = '0.50';
# ABSTRACT: Role providing interface for targets of L<App::SpreadRevolutionaryDate>.

use MooseX::Role::Parameterized;
use LWP::Protocol::https;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

parameter worker => (
  isa     => 'Str',
  default => 'Any',
);

role {
  my $p = shift;

  has obj => (

lib/App/SpreadRevolutionaryDate/Target/Bluesky.pm  view on Meta::CPAN

# ABSTRACT: Target class for L<App::SpreadRevolutionaryDate> to handle spreading on Bluesky.

use Moose;
with 'App::SpreadRevolutionaryDate::Target'
  => {worker => 'App::SpreadRevolutionaryDate::BlueskyLite'};

use App::SpreadRevolutionaryDate::BlueskyLite;
use Encode qw(encode decode is_utf8);

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'identifier' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'password' => (
  is  => 'ro',
  isa => 'Str',

lib/App/SpreadRevolutionaryDate/Target/Freenode.pm  view on Meta::CPAN

# ABSTRACT: Target class for L<App::SpreadRevolutionaryDate> to handle spreading on Freenode.

use Moose;
with 'App::SpreadRevolutionaryDate::Target'
  => {worker => 'App::SpreadRevolutionaryDate::Target::Freenode::Bot'};

use App::SpreadRevolutionaryDate::Target::Freenode::Bot;
use POE;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'nickname' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'password' => (
  is  => 'ro',
  isa => 'Str',

lib/App/SpreadRevolutionaryDate/Target/Freenode/Bot.pm  view on Meta::CPAN

use utf8;
package App::SpreadRevolutionaryDate::Target::Freenode::Bot;
$App::SpreadRevolutionaryDate::Target::Freenode::Bot::VERSION = '0.50';
# ABSTRACT: Subclass overloading L<Bot::BasicBot> to post a message on some Freenode channels

use Moose;
use MooseX::NonMoose;
extends 'Bot::BasicBot';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'nb_said' => (
  traits  => ['Counter'],
  is  => 'rw',
  isa => 'Num',
  default => 0,
  handles => {
    inc_said   => 'inc',
  },
);

lib/App/SpreadRevolutionaryDate/Target/Liberachat.pm  view on Meta::CPAN

# ABSTRACT: Target class for L<App::SpreadRevolutionaryDate> to handle spreading on Liberachat.

use Moose;
with 'App::SpreadRevolutionaryDate::Target'
  => {worker => 'App::SpreadRevolutionaryDate::Target::Liberachat::Bot'};

use App::SpreadRevolutionaryDate::Target::Liberachat::Bot;
use POE;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'nickname' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'password' => (
  is  => 'ro',
  isa => 'Str',

lib/App/SpreadRevolutionaryDate/Target/Liberachat/Bot.pm  view on Meta::CPAN

use utf8;
package App::SpreadRevolutionaryDate::Target::Liberachat::Bot;
$App::SpreadRevolutionaryDate::Target::Liberachat::Bot::VERSION = '0.50';
# ABSTRACT: Subclass overloading L<Bot::BasicBot> to post a message on some Liberachat channels

use Moose;
use MooseX::NonMoose;
extends 'Bot::BasicBot';

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'nb_said' => (
  traits  => ['Counter'],
  is  => 'rw',
  isa => 'Num',
  default => 0,
  handles => {
    inc_said   => 'inc',
  },
);

lib/App/SpreadRevolutionaryDate/Target/Mastodon.pm  view on Meta::CPAN


use Moose;
with 'App::SpreadRevolutionaryDate::Target'
  => {worker => 'Mastodon::Client'};

use Mastodon::Client;
use Encode qw(encode decode is_utf8);
use File::Basename;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'instance' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'client_id' => (
  is  => 'ro',
  isa => 'Str',

lib/App/SpreadRevolutionaryDate/Target/Twitter.pm  view on Meta::CPAN

$App::SpreadRevolutionaryDate::Target::Twitter::VERSION = '0.50';
# ABSTRACT: Target class for L<App::SpreadRevolutionaryDate> to handle spreading on Twitter.

use Moose;
with 'App::SpreadRevolutionaryDate::Target'
  => {worker => 'Twitter::API__WITH__Twitter::API::Trait::ApiMethods'};

use Twitter::API;

use Locale::TextDomain 'App-SpreadRevolutionaryDate';
use namespace::autoclean;

has 'consumer_key' => (
  is  => 'ro',
  isa => 'Str',
  required => 1,
);

has 'consumer_secret' => (
  is  => 'ro',
  isa => 'Str',

t/new_target.t  view on Meta::CPAN

}
binmode(DATA, ":encoding(UTF-8)");

use Test::More tests => 5;
use Test::Output;
use Test::NoWarnings;

package App::SpreadRevolutionaryDate::Target::Ezln;
use Moose;
with 'App::SpreadRevolutionaryDate::Target' => {worker => 'Bool'};
use namespace::autoclean;

has 'subcomandantes' => (is => 'ro', isa => 'ArrayRef[Str]', required => 1);
has 'land' => (is => 'ro', isa => 'Str', required => 1);

around BUILDARGS => sub {
  my ($orig, $class) = @_;

  # App::SpreadRevolutionaryDate::Target consumer classes
  # should have a mandatory 'obj' parameter valued by an
  # instance of the 'worker' class.

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.348 second using v1.00-cache-2.02-grep-82fe00e-cpan-c98054f2a92 )