@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.
