package Fey::Literal::Number; use strict; use warnings; our $VERSION = '0.34'; use Fey::Types; use Moose; use MooseX::SemiAffordanceAccessor; use MooseX::StrictConstructor; with 'Fey::Role::Comparable', 'Fey::Role::Selectable', 'Fey::Role::IsLiteral'; has 'number' => ( is => 'ro', isa => 'Num', required => 1, ); sub BUILDARGS { my $class = shift; return { number => shift }; } sub sql { $_[0]->number() } sub sql_with_alias { goto &sql } sub sql_or_alias { goto &sql } no Moose; __PACKAGE__->meta()->make_immutable(); 1; __END__ =head1 NAME Fey::Literal::Number - Represents a literal number in a SQL statement =head1 SYNOPSIS my $number = Fey::Literal::Number->new($number) =head1 DESCRIPTION This class represents a literal number in a SQL statement, either an integer or float. =head1 INHERITANCE This module is a subclass of C. =head1 METHODS This class provides the following methods: =head2 Fey::Literal::Number->new($number) This method creates a new C object representing the number passed to the constructor. =head2 $number->number() Returns the number as passed to the constructor. =head2 $number->id() The id for a number is always just the number itself. =head2 $number->sql() =head2 $number->sql_with_alias() =head2 $number->sql_or_alias() Returns the appropriate SQL snippet. =head1 ROLES This class does the C and C roles. =head1 AUTHOR Dave Rolsky, =head1 BUGS See L for details on how to report bugs. =head1 COPYRIGHT & LICENSE Copyright 2006-2009 Dave Rolsky, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut