3 ms·
This is very interesting. I'm looking through the Hours [0] code. Instead of: 'Week Day': stategroup ( 'Monday' -> { } 'Tuesday' -> { } '
by nathan_f77 8y ago
This is very interesting. I'm looking through the Hours [0] code. Instead of:
'Week Day': stategroup (
'Monday' -> { }
'Tuesday' -> { }
'Wednesday' -> { }
'Thursday' -> { }
'Friday' -> { }
'Saturday' -> { }
'Sunday' -> { }
)
I think it would be nice if you could just write something like:
'Week Day': stategroup ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
Or even something like %w() from Ruby:
'Week Day': stategroup %w(Monday Tuesday Wednesday Thursday Friday Saturday Sunday)
I also see a lot of "'Yes' -> { }" and "'No' -> { }" stategroups that are quite verbose. So it would be nice if you could just do:
'Active': stategroup @default: 'Yes' %w(Yes No)
'Subsidized': stategroup @default: 'Yes' %w(Yes No)
Or even a "Boolean" shorthand instead of 'Yes' and 'No':
'Active': stategroup @default: 'Yes' Boolean
'Subsidized': stategroup @default: 'Yes' Boolean
Also 'can-create:' and 'can-update:' seem to always have some shared logic. Instead of:
can-create: user +'Roles'?'Manager'|'Yes'
|| user +'Roles'?'Project Manager'|'Yes'
can-update: user +'Roles'?'Manager'|'Yes'
|| user +'Roles'?'Project Manager'|'Yes'
|| equal ( user , $ >'Project Group'>'Owner'>key )
You could do something like:
can-create: user +'Roles'?'Manager'|'Yes'
|| user +'Roles'?'Project Manager'|'Yes'
can-update: &can-create || equal ( user , $ >'Project Group'>'Owner'>key )
[0] https://github.com/M-industries/Hours/blob/master/interfaces/model/application.alan https://github.com/M-industries/Hours/blob/master/interfaces...