File Coverage

blib/lib/Net/FileMaker.pm
Criterion Covered Total %
statement 18 25 72.0
branch 0 4 0.0
condition 0 3 0.0
subroutine 6 7 85.7
pod 1 1 100.0
total 25 40 62.5


line stmt bran cond sub pod time code
1             package Net::FileMaker;
2             {
3             $Net::FileMaker::VERSION = '0.064';
4             }
5              
6 1     1   25562 use strict;
  1         2  
  1         36  
7 1     1   5 use warnings;
  1         2  
  1         25  
8 1     1   5 use Carp;
  1         6  
  1         85  
9 1     1   34 use 5.008;
  1         3  
  1         54  
10              
11 1     1   3498 use LWP::UserAgent;
  1         126602  
  1         124  
12 1     1   10 use URI;
  1         2  
  1         159  
13              
14             =encoding utf8
15              
16             =head1 NAME
17              
18             Net::FileMaker - Interact with FileMaker services
19              
20             =head1 SYNOPSIS
21              
22             use Net::FileMaker;
23             my $fms = Net::FileMaker->new(host => $host, type => 'xml');
24              
25             Net::FileMaker provides an interface to FileMaker's various HTTP-based
26             interfaces, at present only the XML API is supported, but further support to
27             include XSLT and other means is planned.
28              
29             =head1 METHODS
30              
31             =head2 new(host => $host, type => 'xml')
32              
33             Creates a new object. Host names must be valid URI. The type key specifies the
34             type of database access - XML, XSLT etc. At present only C is valid. If
35             this is unspecified, XML is the default.
36              
37             =cut
38              
39             sub new
40             {
41 0     0 1   my($class, %args) = @_;
42              
43 0 0 0       if($args{type} eq 'xml')
    0          
44             {
45             #TODO: Validate host is correct, must have http(s)? set first.
46 0           require Net::FileMaker::XML;
47 0           return Net::FileMaker::XML->new(%args);
48             }
49             elsif(!$args{type} || $args{type} eq '')
50             {
51             # Assume no type specified - use XML.
52 0           require Net::FileMaker::XML;
53 0           return Net::FileMaker::XML->new(%args);
54             }
55             # TODO: Add XSLT, PHP, etc.
56             else
57             {
58 0           croak 'Unknown type specified.';
59             }
60              
61             }
62              
63             =head1 DOCUMENTATION
64              
65             As all of the current structure is confied to the XML base, see L.
66              
67             =head1 AUTHOR
68              
69             Squeeks, C<< >>
70              
71             =head1 CONTRIBUTORS
72              
73             Michele Ongaro, <>
74             Simon Cozens, C<>
75             Marcel GrĂ¼nauer, C<>
76              
77             =head1 BUGS
78              
79             This distribution is now in maintainence mode as I (Squeeks) no longer have
80             access to a FileMaker Server to test functionality. If you are able to either
81             provide access to one or run the tests against one and provide feedback, please
82             get in touch so better support can be provided to this.
83              
84             Please report any bugs or feature requests to C
85             rt.cpan.org>, or through the web interface at
86             L. I will be
87             notified, and then you'll automatically be notified of progress on your bug as I
88             make changes. Please ensure to include the version of FileMaker Server in your
89             report.
90              
91             =head1 SUPPORT
92              
93             You can find documentation for this module with the perldoc command.
94              
95             perldoc Net::FileMaker
96              
97              
98             You can also look for information at:
99              
100             =over 4
101              
102             =item * RT: CPAN's request tracker
103              
104             L
105              
106             =item * AnnoCPAN: Annotated CPAN documentation
107              
108             L
109              
110             =item * CPAN Ratings
111              
112             L
113              
114             =item * Search CPAN
115              
116             L
117              
118             =back
119              
120             =head1 DEVELOPMENT
121              
122             Everyone is welcome to help towards the project with bugfixes, feature requests
123             or contributions. You'll find the git repository for this project is located at
124             L.
125              
126             =head1 LICENSE AND COPYRIGHT
127              
128             Copyright 2010 Squeeks.
129              
130             This program is free software; you can redistribute it and/or modify it
131             under the terms of either: the GNU General Public License as published
132             by the Free Software Foundation; or the Artistic License.
133              
134             See http://dev.perl.org/licenses/ for more information.
135              
136              
137             =cut
138              
139             1; # End of Net::FileMaker