Thanks for the suggestion. I think I did it right. Could you please take a look?
Also, how do I test this on my own machine?
[MacBook-Pro-10:~/apache/git/whimsy] clr% cd www/roster/
[MacBook-Pro-10:whimsy/www/roster] clr% rake server
bundle update
/usr/local/Cellar/ruby/2.3.1/lib/ruby/2.3.0/digest.rb:16:in `const_missing':
library not found for class Digest::MD5 -- digest/md5 (LoadError)
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/source/rubygems/remote.rb:26:in
`cache_slug'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/fetcher/compact_index.rb:107:in
`cache_path'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/fetcher/compact_index.rb:83:in
`compact_index_client'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/cli.rb:643:in
`warn_on_outdated_bundler'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/cli.rb:24:in
`block in dispatch'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor.rb:384:in
`dispatch'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/cli.rb:22:in
`dispatch'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/base.rb:466:in
`start'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/cli.rb:13:in
`start'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/exe/bundle:30:in `block in
<top (required)>'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/lib/bundler/friendly_errors.rb:121:in
`with_friendly_errors'
from
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.15.4/exe/bundle:22:in `<top
(required)>'
from /usr/local/bin/bundle:23:in `load'
from /usr/local/bin/bundle:23:in `<main>'
rake aborted!
Command failed with status (1): [bundle update...]
/Users/clr/apache/git/whimsy/www/roster/Rakefile:9:in `block in <top
(required)>'
/usr/local/lib/ruby/gems/2.3.0/gems/rake-12.3.0/exe/rake:27:in `<top
(required)>'
Tasks: TOP => server => bundle => Gemfile.lock
(See full trace by running task with --trace)
> On May 12, 2020, at 5:57 PM, Sam Ruby <[email protected]> wrote:
>
> On Tue, May 12, 2020 at 7:36 PM Craig Russell <[email protected]> wrote:
>>
>> https://github.com/apache/whimsy/pull/93
>>
>> I'm starting this project with a simple(r) task: allowing the roster
>> committer page to display any files related to the member's emeritus status:
>> files in documents/emeritus and documents/emeritus-requests-received.
>>
>> I added a find method to the EmeritusRequestFiles and EmeritusFiles classes.
>> There should be a way to *not* copy and paste the details of these methods,
>> like a generic or static method.
>
> Looks like a job for inheritance. Example:
>
> class Base
> def self.find(name)
> self.value[name]
> end
> end
>
> class First < Base
> def self.value
> {text: 'first class'}
> end
> end
>
> class Second < Base
> def self.value
> {text: 'second class'}
> end
> end
>
> puts First.find(:text)
> puts Second.find(:text)
>
>> Suggestions/comments are appreciated.
>>
>> Thanks,
>> Craig
>
> - Sam Ruby
>
>>> On May 6, 2020, at 1:01 PM, Sam Ruby <[email protected]> wrote:
>>>
>>> On Wed, May 6, 2020 at 3:48 PM Craig Russell <[email protected]> wrote:
>>>>
>>>> I've been looking for where the roster post actions are handled. I have
>>>> the model for committer and the html in the browser.
>>>>
>>>> But where are post action:emeritus and action:active handled?
>>>
>>> All of the routes are defined here:
>>>
>>> https://github.com/apache/whimsy/blob/master/www/roster/main.rb
>>>
>>> Unless you have unusual needs, you can take advantage of the generic
>>> route defined here:
>>>
>>> https://github.com/apache/whimsy/blob/1316a898d5e8c91e8a33d89565d12efc4842dd56/www/roster/main.rb#L343
>>>
>>> If you use that route, then /actions/emeritus will invoke a script by
>>> that name in the whimsy/www/roster/views/actions directory, and will
>>> take value returned by the last line, convert it to JSON and sent the
>>> results back to the client.
>>>
>>>> Thanks,
>>>> Craig
>>>
>>> - Sam Ruby
>>>
>>>> Craig L Russell
>>>> [email protected]
>>>>
>>
>> Craig L Russell
>> [email protected]
>>
Craig L Russell
[email protected]