►
From YouTube: Use Releases::Links::Services for data transformation
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
So
yeah
today,
I
prepared,
like
a
merch
request
to
review
for
us
together,
and
it's
mostly
about
the
feature
that
we
have.
Some
of
you
probably
use
it
before
some
of
you,
probably
it's
something
new
for
you,
but
we
have
so-called
service
classes
and
we
also
have
like
a
thing
called
service
response.
That's
used
as
a
response
part
of
the
service
classes.
B
So
just
like
a
recap
like
what
service
class
is,
is
like
a
kind
of
like
a
missing
element
that
the
rails
does
not
have
by
default.
Rails
provides
us
like
some
MVC
pattern,
model
view
controller
and
the
business
logic
is
supposed
to
be
done
by
the
model.
But
in
reality,
in
many
situations
we
want
to
have
some
kind
of
business
logic
that
it's
not
really
connected
to
the
model
connected
to
multiple
models,
and
you
want
to
do
this
step
all
together
and
the
rails
doesn't
really
have
like
a
good
way
for
that.
B
Fortunately,
we
have
this
service
class
concept
of
that.
It's
like
some
kind
of
single
logical
step
that
we
can
apply
in
our
code
and,
for
example,
when
we
need
to
create
a
new
object,
a
new
user,
and
we
have
our
rest
API.
We
have
our
graphql
API,
we
have
our
controllers
and,
for
example,
before
creating
a
user.
We
want
to
verify
if
they,
if
you
have
enough
permissions
to
do
that,
you
want
to
do
some
kind
of
additional
check.
B
So
we
can
pack
all
of
these
logical
steps
inside
of
this
service
class,
and
in
this
way
we
can
ensure
that
the
code
that
all
of
the
verifications
are
done
and
done
consistently
across
our
applications
in
different
versions.
So
we
have
this
page
and
I
would
recommend
you
to
read
it.
It's
quite
nice
and
actually
I
read
it
before
the
meeting
and
I
discovered
some
things.
I
was
not
aware
of.
So
it's
like
a
useful
and
interesting
piece
of
knowledge
and
let's
jump
to
the
merge
request.
So
this
merch
request
doesn't
do
anything
significant.
B
It
just
replaces
the
regular
commands
that
model
rails
model
provides
like
create,
update
and
delete
with
the
service
classes
like
create
service,
destroy
service
and
update
service
inside
of
the
each
class
they
all
based
on
some
Base
Service
clause.
B
When
we
do
some
verifications,
we
Define
what
kind
of
black
params
are
allowed,
so
we
don't
need
to
do
it
like
every
time
we
receive
the
input
from
the
user
like
from
the
API
or
from
other
places,
there's
some
other
logic,
but
core
logic
is
hidden
kind
of
not
hidden
but
like
encapsulated
inside
of
the
execute
method.
So
you
do
verification
if
the
user
can
actually
have
like
a
right
to
create
a
release.
B
In
this
case,
we
create
a
model
like
an
object
in
the
database,
and
if
it
was
successful,
we
return
it
using
this
service
response,
object
or
return.
An
error
same
thing
happens
like
for
other
actions,
destroy
and
update
and
as
well.
I
replaced
all
of
the
usages
of
this
release,
links
create
with
a
corresponding
service
in
our
graphql
API
and
also
in
the
rest,
API
and
cut
out
some
tests.
But
overall
there
is
like
no
significant
changes.
B
It's
a
class
that
you
can
provide
like
has
to
Method
success
and
error,
and
it
will
respond
to
these
methods.
For
example,
you
can
check
in
the
code
if
the
response
was
successful.
Okay,
let
me
show
it
to
you
an
example
like
here,
for
example,
response
success.
In
this
case,
we
respond
back
with
the
object
representation
of
this
release
link.
If
not,
we
return
an
error
and
we
also
can
take
the
error
from
the
service
object.
B
So,
for
example,
here
we
Define
an
error
message,
and
this
error
message
is
here,
so
we
can
do
our
validations
and
the
execute
method.
Returns
the
service
response
object,
and
we
can
ask
in
our
code
to
the
if,
if
it's
successful,
all
good,
if
not
respond
back
with
the
message,
it
provides
kind
of
consistent
interface
and
many
other
services
follow
that,
but
not
all
of
them.
B
So
another
thing
that
was
asked
like
by
the
maintainer-
and
it
was
another
Improvement
for
that
we
can
also
do.
We
can
provide
a
reason
in
this
case
is
like
a
type
of
the
error,
so
it
can
allow
us
to
identify,
for
example,
if
you
want
to
provide
different
error
responses
that
requests
or
something
else
depending
on
or
forbidden,
for
example,
we
can
also
use
the
reason-
and
here
is
like
how
it's
done
so
all
successful.
B
Okay,
if
not
successful,
then
the
reason
if
the
reason
is
forbidden,
if
you
return
forbidden
error,
if
something
else
will
return
bad
request,
error
and
that
allows
us
to
remove
the
authorized
step
because
it's
done
inside
of
the
service,
so
yeah,
basically
that
speed
what
I
wanted
to
share
with
you
to
give
some
idea
about
this
service
response,
why
it's
we
have
it
and
how
it
can
be
used.
Yeah
I
would
recommend
you
to
check
this
page,
the
documentation,
it's
added
in
our
meeting
notes.
You
can
find
it
and
read
so
yeah
any
questions.
C
B
Works,
can
you
clarify
please.
B
C
You
didn't
use
the
service
object,
you
would
use
something
you
do
like
user
update
with
these
or
user
create
with
the
params
right.
C
If
there's
errors
that
that
user
object
itself
would
be
populated
with
the
errors,
so
if
you're,
using
a
service,
object
and
you're
doing
the
validations
or
whatever
inside
the
service,
those
errors
aren't
necessarily
going
to
come
back
to
the
main
object.
Do
you
know
if
we
do
any
logic
like
that?
Okay,.
B
I
see
what
you
mean,
I
think
it
depends
on
the
errors
it's
like,
if
it's
like
error
related
to
the
object
that
you
are
trying
to
modify,
for
example
like
here
when
we
update
and
if
it's
like
some
kind
of
like
validation
error,
that
it
will
be
added
to
the
object
here
and
we
can
access
it
through
there,
like.
B
Can
also
have
something
like
you
know:
it's
usually
some
kind
of
permissions
checks
or
some
kind
of
additional
steps
that
done
outside
of
the
Rails
model,
yeah
that
makes
sense
yeah
because
they
all
kind
of
errors
and
the
services
kind
of
provide
this
consistent
interface.
So
you
just
like
see
if
it's
successful
or
not.
If
it's
not
successful
that,
then
you
don't
need
to
figure
out.
Oh
so
they
take
the
user
object
and
go
to
the
errors
and
like
full
messages,
or
it's
like
a
different
error
that
comes
from
somewhere
else.
B
C
Yeah,
okay
unrelated
question
this:
the
syntax
here
the
underscore
well
you've
got
access
denied,
so.
C
That's
translations
right,
yeah,
correct,
so
I've
seen
these
files,
the
pot
files.
What
what
is
that
and
how
does
it
work?
Because
I
haven't
used
that
before.
B
I
think
this
poet,
it's
like
specific
format,
that
okay,
so
how
I
imagine
it
works.
Please
correct
me
if
I'm
wrong,
so
we
Define
this
a
special.
There
is
like
a
special
way
how
we
can
Define
the
strings
that
needs
to
be
that
can
be
translated
like
in
other
languages.
B
Then
we
have
some
piece
of
code
that
collects
them
through
the
code
inside
of
this,
like
pot
files
and
inside
the
pit
file.
We
have
something
like
that
and
I
think
for
each
workout.
You
can
like
redefine
this
message.
It's
like
this
is
like
message.
Id
and
you
can
have
like
link
does
not
exist
and
the
message
string
will
be
the
same
idea
about
the
same
stream,
but
in
a
different
language.
Okay,.
C
C
B
A
A
I,
guess
the
key
thing
is
it's
not
the
standard
rails,
I
18n
translations,
it's
it's
another!
One.
D
Yeah
and
like
there
is
one
additional
thing
to
note
about
the
strings
you
will.
You
will
see
on
UI
pages
that
have
a
lot
of
strings
that
we
want
to
keep
together,
that
a
short
descriptor
will
be
added,
followed
by
a
pipe
character
so
that
the
strings
that
need
to
belong
together
get
sorted
together
in
the
pot
file
and
regenerating
those
it's
just
a
right
task.
It's
something
I
do
all
the
time.
So
if
you
ever
want
to
play
with
translations,
let
me
know.
D
A
Yes,
okay,
I've
got
a
point
to
make
I
think
it's
really
cool
that
we've
got
this
class,
we're
passing
back
with
the
response.
A
It
wasn't
always
the
way
we
used
to
pass
back
like
a
hash
and
it's
actually
just
went
and
found
it
where
it
got
changed
and
so
yeah,
so
obviously
that's
not
as
powerful
as
as
actually
passing
back
a
class
that
will
respond
to
you
know
to
various
messages,
but
I
guess.
My
other
question
is
like
these
are
essentially
crud
classes
right,
create,
read
uptake
delete,
so
in
theory
I
think
it's
a
little
bit
similar
to
Joe's
question,
but
in
theory
we
should
be
able
to
use
these
for
anytime.
A
B
I
think
you
can
use
them
like
anywhere
and
I.
Think
it's
it's
kind
of
like
the
point
when
you
have
some
logic
and
if
you
want
to
keep
this
logic
consistent.
For
example,
we
want
to
the
action
that
user
does
through
the
UI
by
calling
controller
creating
a
user.
It
should
be
the
same
like
set
of
steps,
as
the
user
can
do
when
they
use
our
API,
and
that's
like,
like
the
service
class
kind
of,
ensures
that
in
this
way,.
E
No,
it's
just
you
know,
like
service
response
classes,
always
remind
me
of
monazzio
from
from
Haskell,
but
but
yeah.
It's
a
bit
different
yeah
like
here,
but
yeah
I,
send
the
link
I.
Think
it's
like
a
topic
for
for
another.
A
Time
a
separate
meeting
yeah
do
we
do
we
have
any
similar
abstractions
in
I?
Guess
we
don't
have
database
access
right
in
in
go
so
we
don't
really
have
a
model
layer,
but
my
original
question
was:
do
we
have
anything
similar
in
in
the
go
projects,
but
do
they
I
think
they
don't
have
a
database
access
right.
E
So
yeah
actually
yeah.
If
I
need
to
answer
this
question,
then
go
has
like
building
a
building
built-in
concept.
I
would
say
that
it's
often
returns
errors
from
functions,
and
so
in
go
it's
usually
like
an
idiom
to
return
an
error
from
a
function
so
in
go,
it
would
look
like
like
a
function.
Returns
results,
result
in
an
error
and
we
check.
If
error
is
not
new,
we
do
something.
If
it's
new,
we
do
something.
A
Okay,
well,
thank
you
very
much
priscilly.
That
was
really
interesting
and
it's
good
to
say
that
we're
constantly
improving
our
code
and
really
great
presentation.
Thank
you
also
for
sharing
it
ahead
of
time.
So
people
had
a
chance
to
look
at
it
and
the
last
point
I
want
to
make
is
according
to
the
calendar
and
remember
we
can
always
change
if
you're
not
ready,
but
the
next
one
would
be
your
Eagle
if
you
were
ready
to
present
something,
but
we
can
all.