@emacstheviking, yes I did not mean to be offensive, I am just a newbie in
CB development and it struck me as counterintuitive to have 'sort-of'
object-oriented-like features like THIS:function() in a natively non-OOP
language.
Thank you for the links, I will sure read them as soon as possible!
Luca.

2015-07-14 14:31 GMT+02:00 emacstheviking <[email protected]>:

> 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 a topic in the
> Google Groups "ChicagoBoss" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/chicagoboss/XJHXwGO46BU/unsubscribe.
> To unsubscribe from this group and all its topics, 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
> <https://groups.google.com/d/msgid/chicagoboss/CAEiEuUKM4CRoKnOUsHVFHWq2G4XBw-qD9YNVsiaTy2cMsHCT4w%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/CAK%2BP1tGzKuCC9Vvtq14yGXQDWQ0Fsf%3DR%3D5wEmDNGoF2SeHJsow%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to