Fey::Literal::Number - Represents a literal number in a SQL statement


Fey documentation Contained in the Fey distribution.

Index


Code Index:

NAME

Top

Fey::Literal::Number - Represents a literal number in a SQL statement

VERSION

Top

version 0.40

SYNOPSIS

Top

  my $number = Fey::Literal::Number->new($number)

DESCRIPTION

Top

This class represents a literal number in a SQL statement, either an integer or float.

INHERITANCE

Top

This module is a subclass of Fey::Literal.

METHODS

Top

This class provides the following methods:

Fey::Literal::Number->new($number)

This method creates a new Fey::Literal::Number object representing the number passed to the constructor.

$number->number()

Returns the number as passed to the constructor.

$number->id()

The id for a number is always just the number itself.

$number->sql()

$number->sql_with_alias()

$number->sql_or_alias()

Returns the appropriate SQL snippet.

ROLES

Top

This class does the Fey::Role::Selectable and Fey::Role::Comparable roles.

BUGS

Top

See Fey for details on how to report bugs.

AUTHOR

Top

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

Top


Fey documentation Contained in the Fey distribution.

package Fey::Literal::Number;
BEGIN {
  $Fey::Literal::Number::VERSION = '0.40';
}

use strict;
use warnings;
use namespace::autoclean;

use Fey::Types qw( Num );

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 }

__PACKAGE__->meta()->make_immutable();

1;

# ABSTRACT: Represents a literal number in a SQL statement




__END__