What is the path name? That could be important.

Also AFAICT the file containing the helpers needs to be required by
the code that uses it.

On 28 December 2017 at 02:56, Craig Russell <apache....@gmail.com> wrote:
> Here's what I tried to make a function callable from multiple places:
>
> #
> # Server side setup for whimsy/project
> #
>
> require 'whimsy/asf'
>
> require 'wunderbar/sinatra'
> require 'wunderbar/vue'
> require 'wunderbar/bootstrap/theme'
> require 'ruby2js/filter/functions'
> require 'ruby2js/filter/require'
>
> disable :logging # suppress log of requests to stderr/error.log
>
> helpers do
>   def pmcs
>     ASF::Committee.pmcs.map(&:name).sort
>   end
>   def ppmcs
>     ASF::Podling.list
>     .select {|podling| podling.status == 'current'}
>     .map(&:name).sort
>   end
> end
>
> #
> # Sinatra routes
> #
>
>
> get '/' do
>   redirect to('/invite')
> end
>
> get '/invite' do
>   @view = 'invite'
>
>
>   # get a complete list of PMC and PPMC names
>   @pmcs = helpers.pmcs()
>
> Any idea how to make this work?
>
> Craig
>
>
>> On Dec 17, 2017, at 5:02 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>
>> On Sun, Dec 17, 2017 at 7:07 PM, Craig Russell <apache....@gmail.com> wrote:
>>> One more thing.
>>>
>>> I want to use a radio button on the discuss form:
>>>
>>> (0) invite to submit an ICLA only
>>> (0) invite to become a committer only
>>> (0) invite to become a PMC member only
>>> (0) invite to become a committer and PMC member
>>>
>>> The vue control looks like:
>>>
>>> <input type="radio" id="one" value="One" v-model="picked">
>>> <label for="one">One</label>
>>> <br>
>>> <input type="radio" id="two" value="Two" v-model="picked">
>>> <label for="two">Two</label>
>>> <br>
>>> <span>Picked: {{ picked }}</span>
>>>
>>> What is the mapping to create a radio button?
>>
>> I'm not sure I understand the question.  but instead of v-model, you
>> likely want onClick.  To see a working example, look at:
>>
>> https://github.com/apache/whimsy/blob/bc969805038b606d1b34c8d0b616ac2691cd0e09/www/secretary/workbench/views/parts.js.rb#L104
>>
>> - Sam Ruby
>>
>>>> On Dec 17, 2017, at 10:46 AM, Craig Russell <apache....@gmail.com> wrote:
>>>>
>>>>
>>>>> On Dec 16, 2017, at 6:34 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>>
>>>>>> The code in the existing main.rb in get '/invite' sets several variables 
>>>>>> that will be useful in discuss and vote. DRY says this code should only 
>>>>>> be in one place. How can variables be shared among multiple get and post 
>>>>>> paths?
>>>>>
>>>>> Two basic approaches come to mind.  In the roster tool, there is code
>>>>> in the models directory that return hashes.  Also in
>>>>> www/roster/main.rb, you can find a helper that is called by multiple
>>>>> views.
>>>>
>>>> What I'm trying to do is to get the @pmcs and @ppmcs variables sent to the 
>>>> view from discuss, vote, and invite. The roster example shows no variables 
>>>> outside the do... end blocks. The code to calculate these is simple but 
>>>> not trivial.
>>>>
>>>> So would you recommend doing the calculation in the common code and 
>>>> setting the @variables in the do... end block. E.g.
>>>>
>>>> pmcs = ASF::Committee.pmcs.map(&:name).sort
>>>> ppmcs = ASF::Podling.list
>>>>   .select {|podling| podling.status == 'current'}
>>>>   .map(&:name).sort
>>>>
>>>> get '/discuss' do
>>>> @view = 'discuss'
>>>> @pmcs = pmcs
>>>> @ppmcs = ppmcs
>>>> _html :app
>>>> end
>>>>
>>>> get '/vote' do
>>>> @view = 'vote'
>>>> @pmcs = pmcs
>>>> @ppmcs = ppmcs
>>>> _html :app
>>>> end
>>>>
>>>> Craig L Russell
>>>> Secretary, Apache Software Foundation
>>>> c...@apache.org http://db.apache.org/jdo
>>>>
>>>
>>> Craig L Russell
>>> Secretary, Apache Software Foundation
>>> c...@apache.org http://db.apache.org/jdo
>
> Craig L Russell
> Secretary, Apache Software Foundation
> c...@apache.org http://db.apache.org/jdo
>

Reply via email to