31 |
|
|
32 |
FIXME broken if not noted in C<TODO> |
FIXME broken if not noted in C<TODO> |
33 |
|
|
34 |
For database objects we support L<Fey> and when your objects are created |
For database objects we support L<DBIx::Class> to introspect existing |
35 |
C<< with 'Frey::Collection' >> they will have basic CRUD functionality |
database and implement user interface for it. |
36 |
implemented by L<Frey::ObjectBrowser>. |
|
37 |
|
=over 5 |
38 |
|
|
39 |
|
Steps to create classes for your existing L<Reblog> database: |
40 |
|
|
41 |
|
=item 1 |
42 |
|
|
43 |
|
|
44 |
|
|
45 |
|
=back |
46 |
|
|
47 |
=head1 User parts |
=head1 User parts |
48 |
|
|
93 |
|
|
94 |
You don't even have to create initial entry form as L<Frey::Run>, |
You don't even have to create initial entry form as L<Frey::Run>, |
95 |
which will start your L<Moose> classes, will call L<Frey::Action> |
which will start your L<Moose> classes, will call L<Frey::Action> |
96 |
for help and generate initial form for you. |
for help and generate initial form for you. If this magic is wrong, |
97 |
|
just define C<< sub render_pipe { 'radio' } >> to force rending of |
98 |
|
C<pipe> attribute as radio buttons. |
99 |
|
|
100 |
|
=head2 Easy skeletons |
101 |
|
|
102 |
Creating files is mess, so L<Frey::Class::Create/create_class_source> will |
Creating files is mess, so L<Frey::Class::Create/create_class_source> will |
103 |
create class and test skeleton for you. |
create class and test skeleton for you. |
104 |
|
|
105 |
If I did it right, it should read similar to human language, like Smalltalk. |
If I did it right, it should read similar to human language, like Smalltalk. |
106 |
|
|
107 |
|
L<Frey> is careful to provide enough magic to build skeletons just of files |
108 |
|
which contain some specific logic to your aplication, so it's not massive code |
109 |
|
generation as in Java... |
110 |
|
|
111 |
To make things simple, there are few conventions (with nod to Ruby on Rails) |
To make things simple, there are few conventions (with nod to Ruby on Rails) |
112 |
which will help you get started: |
which will help you get started: |
113 |
|
|
114 |
|
|
115 |
=head2 html markup |
=head2 HTML markup convetion |
116 |
|
|
117 |
HTML markup should be enclosed in C< qq| > and C< | > quotes. There is also |
HTML markup should be enclosed in C< qq| > and C< | > quotes. There is also |
118 |
funny but very readable convention of multi line html when you have to |
funny but very readable convention of multi line html when you have to |
157 |
if it doesn't find all of required values it will invoke L<Frey::Action> to |
if it doesn't find all of required values it will invoke L<Frey::Action> to |
158 |
create end-user html form with missing fields. |
create end-user html form with missing fields. |
159 |
|
|
160 |
=head2 examples |
|
161 |
|
=head1 Examples |
162 |
|
|
163 |
To help you get started, here are few implemented flows in Frey: |
To help you get started, here are few implemented flows in Frey: |
164 |
|
|
228 |
|
|
229 |
=head2 bin/grep-iselect.sh |
=head2 bin/grep-iselect.sh |
230 |
|
|
231 |
Helper using C<iselect> to quickly grep, select result and jump to C<vim> |
Helper using C<iselect> to quickly grep, select result and jump to C<vim>. |
232 |
|
|
233 |
|
You can also pass grep params for context etc, like this: |
234 |
|
|
235 |
|
./bin/grep-iselect.sh something -C 3 |
236 |
|
./bin/grep-iselect.sh something -A 10 -B 3 |
237 |
|
|
238 |
=head2 bin/log.sh |
=head2 bin/log.sh |
239 |
|
|