I believe the "trickery" is pmod_transform, which despite being not taken
into the language as a standard feature is widely used by a lot of
projects. It's very useful, I used "erlando" for a lot of Erlang stuff and
it's great.

Checking therse links out might give you some more information...

https://github.com/erlang/pmod_transform
https://github.com/rabbitmq/erlando

http://www.erlang.org/doc/man/erl_id_trans.html




On 14 July 2015 at 12:42, Luca Finzi Contini <[email protected]>
wrote:

> Thank you Graeme! I will try this one, looks very promising. I was just
> thinking something similar, i.e. that CB does some compile-time trickery
> and translates the THIS:function(...) to something like function(..., <all
> THIS attributes>).
> Thank you!
>
>
> Il giorno martedì 14 luglio 2015 05:04:23 UTC+2, graeme defty ha scritto:
>>
>>
>> It's a while since I got tangled in this stuff, but is it possible that
>> it is related to the fact that models are passed to their methods as the
>> first (hidden) parameter?
>>
>> Try removing the "THIS:" and I think you may find that it works.
>>
>> NewFilename = apply_gamma_factor(OriginalFilename, GammaValue),
>>
>>
>>
>> If you really want the "THIS:" where you have it to explicitly provide
>> the module for the call , try passing it also as the first parameter to the
>> call.
>>
>> NewFilename = THIS:apply_gamma_factor(THIS, OriginalFilename, GammaValue),
>>
>>
>> g
>>
>>
>>
>>
>>
>>
>>
>> On 13 July 2015 at 17:07, emacstheviking <[email protected]> wrote:
>>
>>> First glance.... apply_gamma_factor/2 .... at a brief look the failing
>>> call seems to be supplying more than two arguments... check your code and
>>> make sure you are calling it how it expects to be called perhaps!?
>>>
>>> Sean.
>>>
>>>
>>>
>>> On 9 July 2015 at 12:17, <[email protected]> wrote:
>>>
>>>> Hi all,
>>>> I am quite new to ChicagoBoss and I am struggling to just add a simple
>>>> function to an existing model module.
>>>> My module is image.erl.
>>>>
>>>> I have a function called create_processed_file():
>>>>
>>>> create_processed_file(FileType, Size)  ->
>>>>
>>>>
>>>> lager:info("-=> Stepping into create_processed_file <=-"),
>>>> OriginalFilename = THIS:get_filename(FileType, Size),
>>>> GammaValue = THIS:gamma(),
>>>> NewFilename = THIS:apply_gamma_factor(OriginalFilename, GammaValue),
>>>> NewFilename.
>>>>
>>>>
>>>> I added THIS:apply_gamma_factor/2.
>>>>
>>>> The function is defined at the end of the file:
>>>>
>>>> apply_gamma_factor(Filename, Gamma) ->
>>>> lager:info("-=> GAMMA PROCESSING : ~p", [Gamma]),
>>>> ProcessedFilenamePart = "_gamma_" ++ io_lib:format("~4.2f", [Gamma]),
>>>> NewFilename = "/tmp/" ++ filename:rootname(filename:basename(Filename)) ++ 
>>>> ProcessedFilenamePart ++ filename:extension(Filename),
>>>> case (Gamma == 1.0) of
>>>>     true ->
>>>>         % if gamma == 1.0 let's just copy the original image with the new 
>>>> file name.
>>>>         lager:info("[apply_gamma_factor] - gamma = 1 - copying ~s to ~s . 
>>>> ", [Filename, NewFilename]),
>>>>         {ok, _} = file:copy(Filename, NewFilename);
>>>>     false ->
>>>>         % if gamma /= 1.0 then we need to create the processed image.
>>>>         case filelib:is_regular(NewFilename) of
>>>>             false -> %% send to graphicsmagick for processing
>>>>                 GammaCmd = io_lib:format("gm convert -gamma ~f ~s ~s ",
>>>>                     [Gamma,
>>>>                         Filename,
>>>>                         NewFilename]),
>>>>                 os:cmd(GammaCmd);
>>>>             true ->
>>>>                 undefined
>>>>         end
>>>> end,
>>>> NewFilename.
>>>>
>>>>
>>>>
>>>> I cleaned, built and restarted my CB application and every time I get
>>>> the same error:
>>>>
>>>>
>>>>
>>>> *13:08:34.929 [info] -=> Stepping into create_processed_file
>>>> <=-13:08:34.946 [error] gen_server gsd_report_server terminated with
>>>> reason: no function clause matching
>>>> image:apply_gamma_factor("./data/exams/5/c/6/5/a3a9-7762-450e-9dca-f738934cd773/image-5c65a3a9-7762-450e-9dca-f738934cd77...",
>>>> 2.0,
>>>> {image,"image-5c65a3a9-7762-450e-9dca-f738934cd773",<<"visible">>,undefined,{{2015,3,26},{14,5,52.0}},...})
>>>> line 19613:08:34.947 [error] CRASH REPORT Process gsd_report_server with 0
>>>> neighbours exited with reason: no function clause matching
>>>> image:apply_gamma_factor("./data/exams/5/c/6/5/a3a9-7762-450e-9dca-f738934cd773/image-5c65a3a9-7762-450e-9dca-f738934cd77...",
>>>> 2.0,
>>>> {image,"image-5c65a3a9-7762-450e-9dca-f738934cd773",<<"visible">>,undefined,{{2015,3,26},{14,5,52.0}},...})
>>>> line 196 in gen_server:terminate/7 line 804*
>>>> So it enters the create_processed_file function but somehow cannot
>>>> 'see' the apply_gamma_factor/2 fuc, instead it looks for a function with
>>>> more parameters.
>>>> Could you please help me in solving this problem?
>>>> Thanks in advance
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "ChicagoBoss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> Visit this group at http://groups.google.com/group/chicagoboss.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/chicagoboss/6d8cb159-f10d-4c1e-a379-147a40e8b210%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/chicagoboss/6d8cb159-f10d-4c1e-a379-147a40e8b210%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "ChicagoBoss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> Visit this group at http://groups.google.com/group/chicagoboss.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/chicagoboss/CAEiEuU%2BuCaY_oandHCnbiq8d4w%3DvLanGV-VCX%3DqXKPUuK6q%3Dvw%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/chicagoboss/CAEiEuU%2BuCaY_oandHCnbiq8d4w%3DvLanGV-VCX%3DqXKPUuK6q%3Dvw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "ChicagoBoss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> Visit this group at http://groups.google.com/group/chicagoboss.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/chicagoboss/72a3e755-a65d-4493-8a15-6de4b01dacd8%40googlegroups.com
> <https://groups.google.com/d/msgid/chicagoboss/72a3e755-a65d-4493-8a15-6de4b01dacd8%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/group/chicagoboss.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/chicagoboss/CAEiEuUKM4CRoKnOUsHVFHWq2G4XBw-qD9YNVsiaTy2cMsHCT4w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to