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